0

我能够在 SDL 窗口上渲染 DirectX 和 SDL 内容,但是当 DirectX 的内容被渲染时,它隐藏了 SDL 的内容,而当 SDL 的内容被渲染时,它隐藏了 DirectX 的内容。这是因为 DirectX 和 SDL 缓冲区不同。

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

4

1 回答 1

0

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

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

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

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

于 2013-06-28T14:23:02.680 回答