我已经用SDL2制作2D游戏了一段时间了,我最近决定用opengl 3.3做3D游戏。
由于我有很多用纯SDL2制作的c ++代码,我可以在该引擎中重复使用,我想知道,我怎么能设法将opengl渲染到SDL_Texture
?
我的想法是用opengl在3D中做东西,把它放到SDL_Texture
中,然后用2D做东西并用SDL2渲染它。
答案 0 :(得分:1)
你必须要小心,因为SDL 2还没有明确的支持。您可以轻松践踏SDL已设置并依赖的GL状态,以便正确呈现。
然而,SDL_gpu(完全披露:我是作者)确实支持混合2D和3D,但你必须移植其余的SDL_Renderer代码。
答案 1 :(得分:0)
渲染到FBO,使用PBO将像素拉回主存储器,然后将像素上传到SDL_Texture
。
但这并不是一条“快速路径”,你可能最好用OpenGL做一切。