【问题标题】:How to implement only a part of OpenGL code to game that is written using SDL?如何仅将部分 OpenGL 代码实现到使用 SDL 编写的游戏中?
【发布时间】:2018-05-22 17:28:47
【问题描述】:

所以,我正在制作一款类似于 Vector Runner 的游戏。我有一个背景纹理和几个使用 SDL 实现的纹理对象。我想旋转背景 使用 glRotate。我不希望它移动或任何东西,我只想对它有不同的看法(类似于第三人称视角)并保持这种状态。由于现在一切都是 SDL,我可以只制作 background.h 和 .cpp 并仅在那里实现 OpenGL,还是我需要在整个代码中使用它,或者有没有办法使用 SDL 来实现?

【问题讨论】:

标签: c++ opengl sdl


【解决方案1】:

就个人而言,我不会尝试将 OpenGL 与 SDL 的 2D 表面类型代码混合使用。我要么使用 OpenGL 来实现精灵(更快,更多的操作选项),要么在可能的情况下使用 SDL 函数(最简单的选项),或者使用软件渲染来旋转背景(非常便携,一切都在你的控制之下)。

我想使用 glRotate 旋转背景。我不希望它移动或 任何东西,我只是想对它有不同的看法(类似于第三 人视图)并保持这种状态。

如果您想自己进行旋转,您可以使用texture mapping techniques,并自己逐像素渲染。如果背景不移动,您只需执行一次并将结果存储在缓冲区中。

SDL 还有一个渲染功能,可以让您选择旋转源图像(没有透视变换选项):https://wiki.libsdl.org/SDL_RenderCopyEx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多