XNA 4 - 纹理克隆

3

我需要将一个texture2d的内容复制到另一个texture2d(两者都存储在VRAM中)?没有使用RTT或任何额外的RAM-VRAM传输,这是否可能实现?只是在VRAM中两个纹理之间进行纯BLIT。

提前感谢!我无法想出解决方法。


2
你想要逐像素地将它复制到另一个尺寸不同的纹理中吗?还是只是用另一个名称复制它?或者像两个半透明图像一样将其与另一个纹理混合? - user1306322
我有一个RTT,我正在其中渲染alpha掩码。我需要一个函数来制作它的精确副本以供以后使用(任何对RTT的后续渲染都不应修改克隆的副本)。 - Petr Kalandra
我不想使用RTT的原因只是因为我不需要再修改克隆的纹理了。 - Petr Kalandra
1个回答

1

使用 RenderTarget 不会从 VRAM 中删除数据。可以在后续的绘制调用中将其作为纹理重复使用,而无需将其返回到 RAM。但是,如果您需要在代码中对其执行类似 getData() 的操作,则它将移出视频内存。


谢谢,这正是我所想的。在XNA中,只能使用RTT来实现BLIT。 - Petr Kalandra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接