有没有人有在Windows上编写专业OpenGL游戏的经验?对于Mac,由于苹果的控制,操作系统似乎非常“统一”。对于Windows,由于硬件不同,安装了不同的驱动程序等等......硬件基础似乎有许多不同的配置。
理论上,OpenGL提供了一个API来抽象所有这些。在实践中,许多驾驶员经常驾驶越野车并且有奇怪的情况 - 这是否是在Windows上开发游戏的问题?
谢谢!
答案 0 :(得分:1)
您将面临的最大问题是:Windows 7未附带硬件OpenGL。如果用户没有采取措施用供应商站点的更新版本替换默认视频驱动程序,那么他们唯一的OpenGL支持将是~v1.0软件渲染器。
答案 1 :(得分:1)
两家最大的GPU供应商(Nvidia和ATI)都提供OpenGL 3.x驱动程序,这些驱动程序利用了现代硬件的最新功能。正如克里斯所指出的那样,主要的问题是用户需要安装来自供应商自己的最新驱动程序,因为Windows附带了最基本的OpenGL支持(感谢微软,他们似乎尽其所能去刀OpenGL并推送的DirectX)。所以如果他们有最近的司机,你应该没事。
司机之间不可避免地存在一些(主要是次要的)差异。例如,我注意到Nvidia的GLSL编译器比ATI更挑剔,并拒绝一些其他工作正常的着色器代码。底线是你需要对两者进行测试(无论如何你都要做)。
gDebugger工具似乎非常擅长追踪性能问题。 (使用Xcode免费提供的OpenGL工具非常棒。)
您需要从OpenGL extensions registry获取glext.h
,并确定应用的基本要求。如果可以提供帮助,您可能不希望根据可用的扩展程序获得备用代码路径!正如epatel所提到的,有一些库(如GLEW和GLEE)可以帮助扩展管理过程。我最终写了自己的,因为我不喜欢这些实现。
如果您还没有选择工具集,那么OpenGL有很多引擎和场景图。
我一路上发现了一些小错误,但几乎都很容易解决。这些天情况非常好。
答案 2 :(得分:0)
我还没有在Windows 上创建一个专业的OpenGL游戏,但我认为一个重要的事情是查询OpenGL驱动程序有关哪些功能(扩展)可用并处理这些功能。还有一个程序包可以通过GLEW库以独立于平台的方式处理这个问题。认为这是了解如何处理不同OpenGL功能的良好开端。
OpenGL Extension Wrangler Library(GLEW)是一个跨平台的开源C / C ++扩展加载库。 GLEW提供了高效的运行时机制,用于确定目标平台上支持哪些OpenGL扩展。 OpenGL核心和扩展功能在单个头文件中公开。 GLEW已经在各种操作系统上进行了测试,包括Windows,Linux,Mac OS X,FreeBSD,Irix和Solaris。