带有SDL/加载库的现代OpenGL

Modern OpenGL with SDL / loading library

本文关键字:OpenGL SDL 加载 带有      更新时间:2023-10-16

是否可以在不使用加载包装的情况下使用SDL2.0学习"现代"OpenGL?

我读到过,为了使用像glGenVertexArrays这样的函数,我不得不使用OpenGL加载库。

但如果是这种情况,我应该使用哪个加载库?GLEW似乎没有得到维护。GLFW似乎是新的,但如果我使用它,SDL就不再需要了,对吧?

GLEW(它得到了很大的维护)和GLFW的用途截然不同。GLEW是一个扩展争论者,它允许您访问非标准功能,在某些情况下,还允许访问默认开发环境未公开的标准功能。后者最常见的例子是在Windows上开发,在Windows中,标准OpenGL标头没有更新为OpenGL 1.x之后的任何功能。

另一方面,GLFW是一种抽象,旨在允许您在各种支持的平台上创建窗口和OpenGL上下文,而无需编写特定于该平台的代码。在OSX上设置一个窗口的过程与在Microsoft Windows上设置窗口的过程非常不同,这就是GLFW为您提供的保护。在这方面,GLFW是SDL功能的一个子集,SDL试图做同样的事情,但重点更大,允许访问音频输出和游戏设备输入。

是否必须将GLEW之类的加载库与SDL或GLFW一起使用,主要取决于您试图瞄准的平台和您想要使用的OpenGL功能。如果您试图使用现代OpenGL,即3.x或4.x,而您使用的平台在OpenGL标头中没有完全支持它,那么您可能不得不依靠GLEW来填补这一空白。