2011-08-06 191 views

回答

2
+1

不是一個壞的文章。但是它說「最後一行檢索rendertarget的內容並將其放入我們的紋理!」。這似乎是混淆的常見來源。在XNA 4.0中,'RenderTarget2D' *是'Texture2D'。如果你想要一份數據,你必須將其拷貝出來(例如:'GetData' /'SetData');你不能將它轉換爲'Texture2D',因爲它仍然是同一個渲染目標。 –

+1

@Andrew但是,如果您不需要訪問數據,則可以像處理Texture2D一樣處理渲染目標,例如將其傳遞給SpriteBatch.Draw。只是想確保澄清。 –

+1

當然。我剛剛看到一些人認爲將其轉換爲'Texture2D'的行爲創建了一個副本 - 事實並非如此。 –

0

我認爲這將做到這一點:

Color[] bits = new Color[TextureSource.Width * TextureSource.Height]; 
    TextureSource.GetData(bits); 
    TextureCopy.SetData(bits); 

如果我把你的渲染權是什麼意思。