着色器中涉及到的各种空间概念

1.物体空间

简单点说就是需要回执的3D物体所在的原始坐标系空间,在3dmax等建模软件中,为了便于表示河道处,每一个物体都有一个以自身为远点的三维空间坐标,导出时将自身看做一个整体。将世界坐标表达的矢量转换成为物体用物体空间表达的矢量,在着色器编程中,可以通过做成_World2Object矩阵来实现。

2.世界空间

世界空间就是物体在做中3D场景中的摆放位置对应的坐标所属的坐标系所代表的空间。由于每个物体的模型空间都是处理自身内部的相对关系,无法处理自身与其他物体之间的关系,因此世界空间应运而生。

3.摄像机空间

所谓的摄像机空间其实很好理解,世界坐标中的物体映射到摄像机中,物体所处的坐标可以认为是摄像机空间中的坐标,相对于世界坐标,摄像机的坐标可能是歪的或者写的,在着色器编程中,可以通过UNITY_MaTRIX_MV矩阵将物体从模型空间转换到摄像机空间。

4.剪裁空间

如果想要了解剪裁空间,首先要知道视景体的概念,视景体也成称为视椎体,也就是我们人类视野所能观察到的一个空间,在unity的渲染中,并不会把世界内的全部物体渲染出来,而只是渲染出现在视景体内的物体,在着色器编程中可以通过UNITY_MATRIX_MVP一次性完成物体从物体空间到摄像机空间再到投射到屏幕上的变换。

5.标准设备空间

所谓的标准设备空间就是对剪裁空间执行透视除法后得到的空间,所谓的透视出发,就是讲齐次坐标的四个分量都除以w 齐次坐标【x,y,z,w】---->[x/w,y/w,z/w.1].

6.实际窗口空间

实际窗口空间代表的是设备屏幕上的一块矩形区域。

发布了67 篇原创文章 · 获赞 3 · 访问量 1888

猜你喜欢

转载自blog.csdn.net/lfanyize/article/details/103673562
今日推荐