我最近刚刚将我的应用程序/游戏中的所有渲染从 SDL 更改为 OpenGL。我仍然使用 SDL 进行键盘输入、加载图像和创建窗口。
但是由于我只在 OpenGL 中渲染,你认为我应该将窗口更改为 OpenGL 初始化窗口而不是 SDL 窗口。我目前用于 OpenGL 函数的头文件是“SDL_opengl.h”。这会影响事情吗?
如果我这样做有什么好处和坏处?现在感觉这是合乎逻辑的“下一步”,因为我摆脱了所有其他 SDL 渲染代码。
继续使用 SDL 进行输入和窗口管理。
OpenGL 规范中没有任何规定,因此实际上没有“OpenGL 初始化窗口”之类的东西。
正如 genpfault 所说,您应该继续使用 SDL 进行窗口初始化。它比为 OpenGL 渲染初始化窗口的特定于操作系统的方法更干净、更便携。
我还建议从 SDL_opengl.h 切换到 SDL.h 和 gl.h;SDL_opengl.h 中的定义对于基本窗口管理不是必需的,并且它们与其他 OpenGL 库中的定义冲突,例如GLEW(您可能希望稍后将其用于像素着色器和帧缓冲区)。