我能够在SDL窗口上呈现DirectX和SDL内容,但是当呈现DirectX的内容时,它将隐藏SDL的内容,并且在呈现SDL的内容时隐藏DirectX的内容。这是因为DirectX和SDL缓冲区不同。结合sdl和directx缓冲区
有没有什么方法可以将这两个内容存储在单个缓冲区中(DirectX或SDL)?或者有什么办法可以应付?
我能够在SDL窗口上呈现DirectX和SDL内容,但是当呈现DirectX的内容时,它将隐藏SDL的内容,并且在呈现SDL的内容时隐藏DirectX的内容。这是因为DirectX和SDL缓冲区不同。结合sdl和directx缓冲区
有没有什么方法可以将这两个内容存储在单个缓冲区中(DirectX或SDL)?或者有什么办法可以应付?
您可能需要将DirectX内容渲染到纹理,将像素复制到SDL纹理,然后使用该纹理进行SDL渲染。
http://www.rastertek.com/dx10tut22.html可以帮助您将DirectX渲染到纹理,并且您可以使用SDL_Surface
对象(请参阅SDL_CreateRGBSurface
和朋友)作为SDL端。像素格式也要小心。
你也可以去相反的方向(这可能会更容易)。由于您已获得主渲染缓冲区的SDL_Surface
对象,因此可以将其中的像素数据复制到新的DirectX纹理中。
希望这有助于 - 如果需要,我可以在以后发布任何具体代码。
如何呈现直接x?显示一些代码。 – 2013-06-24 13:00:53