纹理旋转

ue3有个纹理动画的教程,在一个四边形上画个不停转动的风车。
可以通过改变纹理坐标来实现这功能。
由于四边形的纹理坐标[0,0]在左上角,直接对其进行旋转肯定达不到想要的效果。
因此问题的关键是寻找任意中心点的旋转矩阵,这里需要选取[0.5,0.5]作为中心点。
先将[0.5,0.5]移动到[0,0],得出平移矩阵m1
1 0 -0.5
0 1 -0.5
0 0 1
然后执行旋转,得出旋转矩阵m2
cos(a)  -sin(a) 0
sin(a)  cos(a)  0
1        0          1
将[0,0]移回[0.5,0.5],得出平移矩阵m3
1 0 0.5
0 1 0.5
0 0 1
将结果连接就行了m3*m2*m1*v
注意GL中采用的是列矩阵

posted on 2013-04-05 16:32  SoMiSoDo  阅读(408)  评论(0)    收藏  举报

导航