我试图在我的应用程序中对某些帧加倍缓冲。但是,双重缓冲要求我根据要尝试保留其额外数据块的区域来更改Texture2D大小。
为每个区域的双缓冲区请求一个新的CreateTexture2D更好吗?
根据区域大小的变化,重新调整Texture2D的大小是否是有效的解决方案?不调整大小要求您重新创建Texture2D资源/请求新的RT。
还是创建一个应用程序的整个场景并仅使用所需部分的Texture2D更好?
那会占用太多内存吗?
是否可以调整着色器以仅在Texture2D的区域上应用效果。
假设应用程序的上下文是3D游戏。
最佳答案
假设您的意思是在主窗口渲染目标的上下文中进行双缓冲,则应使用Swap Chain,它内置了N缓冲支持(例如将BufferCount
设置为2)。当窗口大小更改时,调用ResizeBuffers
。
关于c++ - 调整纹理/RT,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20084776/