簡體   English   中英

XNA旋轉紋理2D

[英]XNA Rotate Texture 2D

我想在XNA中旋轉紋理。 我知道我可以在繪制時旋轉它,但我希望Texture2D變量是旋轉紋理。 有沒有辦法做到這一點?

使用RenderTarget,將旋轉的紋理繪制到RenderTarget中,獲取紋理並保存。

您應該提供一個管理紋理坐標旋轉的新着色器。 由於basiceffect的HLSL代碼是公共的,因此添加此行為應該非常容易。

基本效果HLSL代碼

將角度參數傳遞給着色器,轉換應為:

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

一種方法是將旋轉矩陣傳遞到着色器,然后在調用紋理采樣器之前將texcoords乘以它。

我不確定XNA / DirectX是否與OpenGL的紋理矩陣具有相同的概念。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM