所以,我正在制作一款类似于Vector Runner的游戏。我有一个背景纹理和几个纹理对象都使用SDL实现。我想旋转背景 使用glRotate。我不希望它移动或任何东西,我只是想对它有不同的看法(类似于第三人称视角)并保持这种方式。由于现在一切都是SDL,我可以只创建background.h和.cpp并在那里实现OpenGL,还是需要在整个代码中使用它,还是有办法使用SDL?
答案 0 :(得分:1)
就个人而言,我不会尝试将OpenGL与SDL的2D表面类型代码混合使用。我也可以使用OpenGL实现精灵(更快,更多操作选项)或尽可能使用SDL功能(最简单的选项)或使用软件渲染来旋转背景(非常便携并且都在您的控制之下)。
我想使用glRotate旋转背景。我不希望它移动或 什么,我只想对它有不同的看法(类似于第三 (视图)并保持这种状态。
如果您想自己进行旋转,可以使用texture mapping techniques,并逐个像素地自行渲染。如果背景没有移动,你只需要执行一次并将结果存储在缓冲区中。
SDL还有一个渲染功能,可以选择旋转源图像(没有透视变换选项):https://wiki.libsdl.org/SDL_RenderCopyEx