变换矩阵
变量名 | 描述 |
UNITY_MATRIX_MVP | 当前的模型-观察-投影矩阵,用于将顶点/方向矢量从模型空间变换到裁剪空间 |
UNITY_MATRIX_MV | 当前的模型-观察矩阵,用于将顶点/方向矢量从模型空间变换到观察空间 |
UNITY_MATRIX_V | 当前的观察矩阵,用于将顶点/方向矢量从世界空间变换到观察空间 |
UNITY_MATRIX_P | 当前的投影矩阵,用于将顶点/方向矢量从观察空间变换到裁剪空间 |
UNITY_MATRIX_VP | 当前的观察-投影矩阵,用于将顶点/方向矢量从世界空间变换到裁剪空间 |
UNITY_MATRIX_T_MV | UNITY_MATRIX_T_MV的转置矩阵 |
UNITY_MATRIX_IT_MV | UNITY_MATRIX_T_MV的逆转置矩阵,用于将法线从模型空间变换到观察空间,也可用于得到UNITY_MATRIX_T_MV的逆矩阵 |
_Object2World | 当前的魔心矩阵,用于将定点/方向矢量从模型空间变换到世界空间 |
_World2Object | _Object2World的逆矩阵,用于将定点/方向矢量从世界空间变换到模型空间 |
摄像机和屏幕参数
变量名 | 类型 | 描述 |
_WorldSpaceCameraPos | float3 | 该摄像机在世界空间中的位置 |
_ProjectionParams | float4 | x=1.0(或-1.0,如果正在使用一个反转的投影矩阵进行渲染),y=Near,z=Far,w=1.0+1.0/Far,其中Near和Far分笔试近裁剪平面和远裁剪平面和摄像机的距离 |
_ScreenParams | float4 | x=width,y=height,z=1.0+1.0/width,w=1.0+1.0/height,其中widh和height分别是该摄像机的渲染目标的像素宽度和高度 |
_ZBufferParams | float4 | x=1-Far/Near,y=Far/Near,z=x/Far,w=y/Far,该变量用于线性化Z缓存中的深度值 |
unity_OrthoParams | float4 | x=width,y=height,z没有定义,w=1.0(该摄像机是正交摄像机)或w=0.0(该摄像机是透视摄像机),其中widh和height是正交投影摄像机的宽度和高度 |
unity_CameraProjection | float4x4 | 该摄像机的投影矩阵 |
unity_CameraIveProjection | float4x4 | 该摄像机的投影矩阵的逆矩阵 |
unity_CameraWorldClipPlanes[6] | float4 | 该摄像机的6个裁剪平面在世界空间下的灯饰,按如下顺序:左、右、下、上、近、远裁剪平面 |
时间
变量名 | 类型 | 描述 |
_Time | float4 | 从场景加载开始计算的时间(t/20,t,t*2,t*3),用于shader内的动画 |
_SinTime | float4 | 时间的Sine值(t/8,t/4,t/2,t) |
_CosTime | float4 | 时间的Cosine值(t/8,t/4,t/2,t) |
unity_DeltaTime | float4 | 帧间隔时间(dt,1/dt,smoothDt,1/somoothDt)。 |
forward渲染的光照变量
变量名 | 类型 | 描述 |
_LightColor0(declared in Lighting.cginc) |
fixed4 |
光线颜色 |
_WorldSpaceLightPos0 |
float4 |
世界空间中光源的位置,w=0 代表平行光的方向,w=1代表其他光源的位置 |
_LightMatrix0(declared in AutoLight.cginc) |
float4x4 |
把顶点从世界空间变换到光源空间 |
unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0 |
float4 |
(仅ForwardBase通道)前四个不重要的点光源的世界空间坐标 |
unity_4LightAtten0 |
float4 |
(仅ForwardBase通道)前四个不重要的点光源的衰减系数 |
unity_LightColor |
half4[4] |
(仅ForwardBase通过)前四个不重要的点光源的颜色数组,计算顶点光源用的 |
延迟光照相关变量
变量名 | 类型 | 描述 |
_LightColor |
float4 |
光线颜色 |
_LightMatrix0 |
float4x4 |
把顶点从世界空间变换到光源空间 |
顶点光照相关变量
变量名 | 类型 | 描述 |
unity_LightColor |
half4[8] |
光线颜色 |
unity_LightPosition |
float4[8] |
视图空间光源的位置。方向光源的坐标是(-方向,0);(位置,1)用于点/点指示灯,点光源,聚光灯的坐标是(位置,1) |
unity_LightAtten |
half4[8] |
光源衰减系数。x=cos(spotAngle/2)或非聚光灯为-1;y=1/cos(spotangle/4)或非聚光灯为-1;z是衰减的二次方;w是正方形光源的范围 |
unity_SpotDirection |
float4[8] |
如果光源是聚光灯的话,值为视图空间的聚光灯的位置,如果是其他类型的光源,值为(0,0,1,0)。 |