我能够在SDL窗口上呈现DirectX和SDL内容,但是当呈现DirectX的内容时,它隐藏了SDL的内容,并且当呈现SDL的内容时,它隐藏了DirectX的内容。这是因为DirectX和SDL缓冲区不同。
有什么方法可以将这两个内容存储在一个缓冲区(DirectX或SDL)中?或者有什么方法可以应对吗?
答案 0 :(得分:0)
您可能需要将DirectX内容渲染到纹理,将像素复制到SDL纹理,然后使用它进行SDL渲染。
http://www.rastertek.com/dx10tut22.html可以帮助将DirectX渲染到纹理,并且可以使用SDL_Surface
个对象(请参阅SDL_CreateRGBSurface
和朋友)来获取SDL。也要注意像素格式。
你也可以反方向(这可能更容易)。由于您已经为主渲染缓冲区提供了SDL_Surface
对象,因此可以将像素数据复制到新的DirectX纹理中。
希望这会有所帮助 - 如果需要,我可以在以后发布任何具体代码。