很多入门的朋友,可能对Flash中Stage3D的坐标系比较不清楚。
这里我写个图文来说明一下它的坐标系倒底是怎么样的?
有图好明白,所以我画了一个图。
(1)其中,蓝色箭头坐标,表示是Flash的舞台Stage坐标系:
原点(x=0,y=0)位于屏幕的左上角。+x为右方向,+y为向下方向。
(2)其中,红色箭头坐标,表示是Flash的Stage3D坐标系,3D空间投影到2D屏幕上。
原点(x=0,y=0)位于屏幕的中心。+x为右方向,+y为向上方向。
(原创图片,如需转载,请注明出处)
以上图片,其中还标注了Stage3D的纹理采样坐标。
以上图为例,纹理的左角上u=0,v=0。右下角u=1,v=1
准确来说:
我们称纹理坐标为uv坐标。u是水平,v是垂直向下,坐标原点是纹理图的左上角(0,0)。
纹理采样坐标用u,v表示,其实和xy意思差不多啦~
纹理采样在着色器中使用插值采样的方法。
(此图片来自于百度)
纹理图可大可小,小到4,8,16,32.大到1024x1024,1024x2048。
尺寸完全是乱的,不同的,所以这个时候,我们就不能通过纹理图的尺寸来设置坐标了。
但是我们可以使用比率来做。一张图,最大为1,最小为0.中间为0.5。这个比率总不会变把。
因此呢,gpu就通过这种方式来根据uv值对纹理图进行采样。
好了,看完图片,是不是心中有谱了呢?