2013-06-24 53 views
0

我能够在SDL窗口上呈现DirectX和SDL内容,但是当呈现DirectX的内容时,它将隐藏SDL的内容,并且在呈现SDL的内容时隐藏DirectX的内容。这是因为DirectX和SDL缓冲区不同。结合sdl和directx缓冲区

有没有什么方法可以将这两个内容存储在单个缓冲区中(DirectX或SDL)?或者有什么办法可以应付?

+0

如何呈现直接x?显示一些代码。 – 2013-06-24 13:00:53

回答

0

您可能需要将DirectX内容渲染到纹理,将像素复制到SDL纹理,然后使用该纹理进行SDL渲染。

http://www.rastertek.com/dx10tut22.html可以帮助您将DirectX渲染到纹理,并且您可以使用SDL_Surface对象(请参阅SDL_CreateRGBSurface和朋友)作为SDL端。像素格式也要小心。

你也可以去相反的方向(这可能会更容易)。由于您已获得主渲染缓冲区的SDL_Surface对象,因此可以将其中的像素数据复制到新的DirectX纹理中。

希望这有助于 - 如果需要,我可以在以后发布任何具体代码。

+0

我知道这是一个旧帖子,但我试图将DirectX11与SDL2相结合:如果可能请发布任何代码吗? – MattMatt

+1

如果我记得,我会尽量在明天发布一些代码 –

+0

谢谢;帮助了很多:) – MattMatt