在Windows上获取OpenGL设置(mingw32?)

时间:2011-04-19 08:04:12

标签: c opengl mingw32

编译器是mingw32。语言是C99。操作系统是Windows。显卡是Nvidia 260GTX

我可以链接到opengl32 / glu32并针对它进行构建,但是不包括OpenGL 3.x中的任何内容......事实上,我会说它可能缺少2.x扩展名!

GLEW和GLM都是C ++并且不能直接使用C.Glee没有任何mingw32二进制文件(并且不能在我的系统上完全构建)。

我正在使用SDL并且有一些OpenGL功能(??),但再次看起来已经过时了。

我只是不明白为什么让C / OpenGL在Windows上运行如此困难的根本问题?为什么这么独特?为什么Khronos不提供SDK /库/标题等?

我通过Java / lwjgl进行OpenGL,并且花时间进行设置并进行编译/运行。

1 个答案:

答案 0 :(得分:2)

在Windows中,只能通过扩展访问OpenGL-1.1以上的任何内容。这就是它的设计方式和方式。 GLEW与普通C完美配合(如果我没弄错GLEW是用普通C编写的)。

Khronos无法提供SDK,因为实际提供OpenGL API是一项留给操作系统供应商的任务,而在Windows中,图形驱动程序需要提供实现。在Windows的情况下,这是几年前离开ARB的微软,支持他们专有的Direct3D技术;曾经有激烈的辩论,这是更好的API,但现在整个世界,除了微软定居在OpenGL这次争论已经结束。

无论如何,如果你想让事情变得非常简单,而不是GLUT,SDL等,请使用GLFW http://glfw.org,这是一个非常出色的OpenGL框架,可以为你做所有难事,扩展加载和OpenGL -3如果您这样设置上下文设置(您仍然需要一些扩展包装器来在您自己的代码中使用扩展 - 但是创建一个纯OpenGL-3上下文需要一些代理上下文,使用它加载一些扩展并使用获得的函数来创建一个真正的OpenGL-3上下文。只是为了澄清)。