您的位置:首页 > 其它

掌握flash的as3图形学Stage3d的屏幕坐标和纹理UV采样坐标

2017-07-18 15:39 204 查看
很多入门的朋友,可能对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值对纹理图进行采样。

好了,看完图片,是不是心中有谱了呢?

补充1:

Stage3D 的NDC范围在(-1,-1,0)到(1,1,1)

补充2:

Stage3D 使用行向量右乘列矩阵
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  3d as3 stage3d 图形 flash3d