我试图在我的应用程序中对某些帧加倍缓冲。但是,双重缓冲要求我根据要尝试保留其额外数据块的区域来更改Texture2D大小。


为每个区域的双缓冲区请求一个新的CreateTexture2D更好吗?

根据区域大小的变化,重新调整Texture2D的大小是否是有效的解决方案?不调整大小要求您重新创建Texture2D资源/请求新的RT。

还是创建一个应用程序的整个场景并仅使用所需部分的Texture2D更好?

那会占用太多内存吗?
是否可以调整着色器以仅在Texture2D的区域上应用效果。



假设应用程序的上下文是3D游戏。

最佳答案

假设您的意思是在主窗口渲染目标的上下文中进行双缓冲,则应使用Swap Chain,它内置了N缓冲支持(例如将BufferCount设置为2)。当窗口大小更改时,调用ResizeBuffers

关于c++ - 调整纹理/RT,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20084776/

10-09 13:12