Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# XNA渲染到纹理2D_C#_Xna_Texture2d - Fatal编程技术网

C# XNA渲染到纹理2D

C# XNA渲染到纹理2D,c#,xna,texture2d,C#,Xna,Texture2d,那么,如何将纹理2D渲染到另一个纹理2D?我很肯定这是可能的 当然是;请在此处查看文章: .我想这样可以: Color[] bits = new Color[TextureSource.Width * TextureSource.Height]; TextureSource.GetData(bits); TextureCopy.SetData(bits); 如果我理解了你所说的渲染正确。这篇文章不错。但是它说“最后一行检索rendertarget的内容并将其放入我们的纹

那么,如何将纹理2D渲染到另一个纹理2D?我很肯定这是可能的

当然是;请在此处查看文章:
.

我想这样可以:

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

如果我理解了你所说的渲染正确。

这篇文章不错。但是它说“最后一行检索rendertarget的内容并将其放入我们的纹理中!”。这似乎是一个经常引起混淆的原因。在XNA 4.0中,
RenderTarget2D
是一个
Texture2D
。如果您想要数据的副本,您必须实际复制它(即:
GetData
/
SetData
);您不能将其强制转换为
Texture2D
,因为它仍然是同一个渲染目标。@Andrew但如果您不需要访问数据,您可以将渲染目标像Texture2D一样处理,将其传递给SpriteBatch。例如,Draw。当然,我只是想确认一下。我刚刚看到一些人认为,将其投射到
Texture2D
的行为会创建一个副本,但事实并非如此。