2010-02-28 61 views
0

有没有人有在Windows上编写专业OpenGL游戏的经验?对于Mac来说,由于苹果的控制,操作系统看起来相当“统一”。对于windows,由于硬件不同,安装的驱动程序不同等等,硬件基础似乎有许多不同的配置。针对桌面/平台问题的OpenGL游戏开发

理论上,OpenGL提供了一个将所有这些抽象出来的API。在实践中,很多驱动程序往往是越野车,并有奇怪的情况 - 这是在Windows上开发游戏的问题吗?

谢谢!

回答

1

两家最大的GPU供应商(Nvidia和ATI)都提供OpenGL 3.x驱动程序,这些驱动程序利用了现代硬件的最新功能。正如Chris指出的那样,主要问题在于用户需要从供应商自己安装最新的驱动程序,因为Windows提供了最基本的OpenGL支持(感谢Microsoft,他们似乎尽了一切努力来斩断OpenGL并推动的DirectX)。所以如果他们有最近的车手,你应该没问题。

司机之间不可避免地存在一些(主要是次要的)差异。例如,我注意到Nvidia的GLSL编译器比ATI更加挑剔,并且拒绝了一些可以正常工作的着色器代码。底线是你需要测试两个(你会做什么)。

gDebugger工具似乎很好地追踪性能问题。 (尽管使用Xcode免费发布的OpenGL工具非常棒。)

您需要从OpenGL extensions registry获得glext.h,并找出您的应用的基本要求。如果您可以提供帮助,您可能不希望基于哪些扩展可用的替代代码路径!如epatel提到的,有几个库(如GLEW和GLEE)可以帮助进行扩展管理。我最终写了自己的,因为我不喜欢那些实现。

如果你还没有选择你的工具集,OpenGL有很多引擎和场景图。

我发现了一些小错误,但几乎所有的东西都很容易解决。现在事情很好。

0

我还没有在Windows上制作过专业OpenGL游戏,但我认为重要的一点是查询OpenGL驱动程序关于哪些功能(扩展)可用并处理这些功能。还有一个软件包可以与平台无关的方式与GLEW库进行处理。认为这是了解如何处理不同OpenGL功能的良好开端。

OpenGL扩展牧马人图书馆(GLEW)是一个跨平台的开源C/C++扩展加载库。 GLEW提供高效的运行时机制来确定目标平台上支持哪些OpenGL扩展。 OpenGL核心和扩展功能暴露在单个头文件中。 GLEW已经在各种操作系统上进行了测试,包括Windows,Linux,Mac OS X,FreeBSD,Irix和Solaris。

1

您将面临的最大问题就是:Windows 7不附带硬件OpenGL。如果用户没有采取行动来用供应商站点的更新版本替换默认视频驱动程序,他们唯一的OpenGL支持将是〜v1.0软件渲染器。