如何将opengl 3.3渲染成SDL2纹理?

时间:2015-03-25 08:57:17

标签: c++ opengl 3d sdl-2 opengl-3

我已经用SDL2制作2D游戏了一段时间了,我最近决定用opengl 3.3做3D游戏。

由于我有很多用纯SDL2制作的c ++代码,我可以在该引擎中重复使用,我想知道,我怎么能设法将opengl渲染到SDL_Texture

我的想法是用opengl在3D中做东西,把它放到SDL_Texture中,然后用2D做东西并用SDL2渲染它。

2 个答案:

答案 0 :(得分:1)

你必须要小心,因为SDL 2还没有明确的支持。您可以轻松践踏SDL已设置并依赖的GL状态,以便正确呈现。

然而,SDL_gpu(完全披露:我是作者)确实支持混合2D和3D,但你必须移植其余的SDL_Renderer代码。

答案 1 :(得分:0)

渲染到FBO,使用PBO将像素拉回主存储器,然后将像素上传到SDL_Texture

但这并不是一条“快速路径”,你可能最好用OpenGL做一切。