gpt4 book ai didi

c - 在 Windows 上设置 OpenGL(mingw32?)

转载 作者:太空宇宙 更新时间:2023-11-03 23:35:13 24 4
gpt4 key购买 nike

编译器是 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/库/ header 等?

我通过 Java/lwjgl 执行 OpenGL,不需要花时间设置它并让它编译/运行。

最佳答案

在 Windows 中,任何高于 OpenGL-1.1 的东西都只能通过扩展访问。这就是它的设计方式和运行方式。 GLEW 与纯 C 完美配合(如果我没记错的话,GLEW 是用纯 C 编写的)。

Khronos 无法提供 SDK,因为实际上提供 OpenGL API 是留给操作系统供应商的任务,而在 Windows 中,图形驱动程序需要提供实现。就 Windows 而言,这是几年前离开 ARB 的微软,支持他们专有的 Direct3D 技术;过去曾激烈争论哪个 API 更好,但现在整个世界(除了 Microsoft 都选择了 OpenGL)这次争论结束了。

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

关于c - 在 Windows 上设置 OpenGL(mingw32?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5713353/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com