【问题标题】:Using a SDL window with OpenGL the other way around反过来使用带有 OpenGL 的 SDL 窗口
【发布时间】:2013-01-27 21:47:07
【问题描述】:

我最近将我的应用程序/游戏中的所有渲染从 SDL 更改为 OpenGL。我仍然使用 SDL 进行键盘输入、加载图像和创建窗口。

但由于我只在 OpenGL 中渲染,您认为我应该将窗口更改为 OpenGL 初始化窗口而不是 SDL 窗口。我目前用于 OpenGL 函数的头文件是“SDL_opengl.h”。这会影响事情吗?

如果我这样做有什么好处和坏处?现在感觉这是合乎逻辑的“下一步”,因为我摆脱了所有其他 SDL 渲染代码。

【问题讨论】:

    标签: opengl window sdl


    【解决方案1】:

    继续使用 SDL 进行输入和窗口管理。

    OpenGL 规范中没有任何规定,因此实际上没有“OpenGL 初始化窗口”之类的东西。

    【讨论】:

    • 谢谢。在启动过程中,我有时会在主窗口之前弹出一个名为 SDL_APP 的窗口。这是为什么呢?
    • 您使用的是 SDL 1.2 还是 1.3/2.0?
    • 很确定我使用的是 1.2。为了确定,我在哪里可以找到这样的信息?
    • 我发现,我得到的是 1.2.17 版本
    【解决方案2】:

    正如 genpfault 所说,您应该继续使用 SDL 进行窗口初始化。它比为 OpenGL 渲染初始化窗口的特定于操作系统的方法更干净、更便携。

    我还建议从 SDL_opengl.h 切换到 SDL.h 和 gl.h; SDL_opengl.h 中的定义对于基本的窗口管理不是必需的,并且它们与其他 OpenGL 库中的定义冲突,例如 GLEW(您可能希望稍后将其用于像素着色器和帧缓冲区)。

    【讨论】:

    • 实际上使用 GLEW 你可以完全放弃gl.h
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多