2
どうやってテクスチャ2Dを別のレンダリングにレンダリングするのですか?私はそれが可能であると確信しています。XNAテクスチャ2Dへのレンダリング
どうやってテクスチャ2Dを別のレンダリングにレンダリングするのですか?私はそれが可能であると確信しています。XNAテクスチャ2Dへのレンダリング
確かです。こちらの記事を確認してください: http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series3/Render_to_texture.php
私は、これはそれを行うだろうと思う:
Color[] bits = new Color[TextureSource.Width * TextureSource.Height];
TextureSource.GetData(bits);
TextureCopy.SetData(bits);
私はあなたが右のレンダリングによってどのような意味だ場合。
悪いではありません。しかし、 "最後の行はレンダリングターゲットの内容を取得し、それをテクスチャに入れます!"これは頻繁な混乱の原因になっているようです。 XNA 4.0では、 'RenderTarget2D' *は' Texture2D'です。あなたが実際にそれをコピーしなければならないデータのコピーが必要な場合(すなわち: 'GetData' /' SetData'); Texture2Dにキャストすることはできません。なぜなら、それはまだ同じレンダーターゲットだからです。 –
@Andrewただし、データにアクセスする必要がない場合は、レンダリングターゲットをTexture2Dのように扱い、SpriteBatch.Drawなどに渡すことができます。それが明確になっていることを確認したいだけです。 –
もちろん。私はちょうど、「Texture2D」にそれをキャストする行為がコピーを作成すると思っている人のカップルを見たことがあります。 –