掌握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 使用行向量右乘列矩阵
这里我写个图文来说明一下它的坐标系倒底是怎么样的?
有图好明白,所以我画了一个图。
(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 使用行向量右乘列矩阵
相关文章推荐
- SDL与OpenGL配合使用时,OpenGL的纹理的UV坐标是上下颠倒的
- flash as3 屏幕分辨率自适应 Event.RESIZE 事件(转)
- 3d图形学中的uv坐标
- 图形学之UV坐标
- uv纹理坐标设定与贴图规则
- Unity3D ShaderLab <六>通过改变纹理的UV坐标实现简单的水流效果
- uv纹理坐标设定与贴图规则
- Direct3D9纹理坐标采样的计算方法
- 3d图形学中的uv坐标
- Unity Shader 纹理采样UV动画 帧动画
- uv纹理坐标设定与贴图规则
- 一些通过uv纹理坐标实现的简单shader(一)
- UnityShader之纹理贴图滚动实现(修改UV坐标)
- 关于UV纹理坐标映(Texture Mapping)射原理
- As3 3D学习之屏幕与3D坐标
- SDL与OpenGL配合使用时,OpenGL的纹理的UV坐标是上下颠倒的
- 一些通过uv纹理坐标实现的简单shader(二)
- d3d 纹理坐标1:1对应到屏幕坐标.
- uv纹理坐标设定与贴图规则
- uv纹理坐标设定与贴图规则