来源:shader入门精要-冯乐乐
坐标系
Unity使用的是左手坐标系;观察空间,通俗来讲就是以摄像机为原点的坐标系,摄像机的前向是z轴的负方向,与模型和世界空间中的定义相反,z轴的坐标减少意味着场景深度的增加
点积
a·b=b·a=|a||b|cos<a,b> 结果为常量,几何意义:投影
叉积
常见应用:计算垂直于一个平面、三角形的矢量。另外,还可以用于判断三角面片的朝向
齐次坐标(四维矢量)
在计算机图形学里面会经常碰到几何体的平移,旋转,缩放以及投影变换. 一般情况下会涉及到齐次坐标与变换矩阵
顶点着色器最基本的功能就是把模型的顶点坐标从模型空间转换到齐次裁剪坐标空间中
坐标空间的变换
观察空间和屏幕空间是不同的,观察空间是一个三维空间,而屏幕空间是一个二维空间。从观察空间到屏幕空间的转换需要经过一个操作,那就是投影
变换顺序:缩放》旋转》平移
将顶点坐标系从世界空间变换到观察空间中,这个变换通常叫做观察变换
在DirectX里面,NDC的z方向取值范围是[0,1],openGL环境下是[-1,1],
标准化设备坐标(NDC)是一个x、y和z值在-1.0到1.0的一小段空间。任何落在范围外的坐标都会被丢弃/裁剪,不会显示在你的屏幕上。