C# XNA旋转纹理2D

C# XNA旋转纹理2D,c#,xna,C#,Xna,我想在XNA中旋转纹理。我知道我可以在绘制时旋转它,但我希望Texture2D变量是旋转的纹理。有什么方法可以做到这一点吗?一种方法是将旋转矩阵传递给着色器,并在调用纹理采样器之前将texcoords乘以该矩阵 我不确定XNA/DirectX是否与OpenGL的纹理矩阵具有相同的概念。使用RenderTarget,将旋转的纹理绘制到RenderTarget中,获取纹理并保存它 您应该提供一个新的着色器来管理纹理坐标旋转。由于BasicFect的HLSL代码是公共的,因此添加这种行为应该非常容易

我想在XNA中旋转纹理。我知道我可以在绘制时旋转它,但我希望Texture2D变量是旋转的纹理。有什么方法可以做到这一点吗?

一种方法是将旋转矩阵传递给着色器,并在调用纹理采样器之前将texcoords乘以该矩阵


我不确定XNA/DirectX是否与OpenGL的纹理矩阵具有相同的概念。

使用RenderTarget,将旋转的纹理绘制到RenderTarget中,获取纹理并保存它

您应该提供一个新的着色器来管理纹理坐标旋转。由于BasicFect的HLSL代码是公共的,因此添加这种行为应该非常容易

将角度参数传递给着色器时,变换应为:

 newU = U*cos(alfa) - V*sin(alfa);
 newV = U*sin(alfa) + V*cos(alfa);

你有一个例子吗?