着色器程序中内置的状态变量
通常在着色器程序,你需要访问一些公用的状态,例如,当前的模型视图*投影矩阵,当前环境的颜色,等等。声明这些变量没有
必要内置的状态,可以在着色器程序中直接使用他们。
内置矩阵
支持的矩阵(float4x4):
UNITY_MATRIX_MVP 当前模型视图投影矩阵
UNITY_MATRIX_MV 当前模型视图矩阵
UNITY_MATRIX_V 当前视图矩阵。
UNITY_MATRIX_P 目前的投影矩阵
UNITY_MATRIX_VP 当前视图*投影矩阵
UNITY_MATRIX_T_MV 移调模型视图矩阵
UNITY_MATRIX_IT_MV 模型视图矩阵的逆转
UNITY_MATRIX_TEXTURE0 UNITY_MATRIX_TEXTURE3 纹理变换矩阵
内置载体
Vectors (float4) supported:
向量(仅float4)支持:
UNITY_LIGHTMODEL_AMBIENT 当前环境的颜色。
#ifndef UNITY_CG_INCLUDED
#define UNITY_CG_INCLUDED#include "UnityShaderVariables.cginc"
uniform highp vec4 _Time;
uniform highp vec4 _SinTime;
#line 3
uniform highp vec4 _CosTime;
uniform highp vec4 unity_DeltaTime;
uniform highp vec3 _WorldSpaceCameraPos;
uniform highp vec4 _ProjectionParams;
#line 7
uniform highp vec4 _ScreenParams;
uniform highp vec4 _ZBufferParams;
uniform highp vec4 unity_CameraWorldClipPlanes[6];
uniform highp vec4 _WorldSpaceLightPos0;
#line 11
uniform highp vec4 _LightPositionRange;
uniform highp vec4 unity_4LightPosX0;
uniform highp vec4 unity_4LightPosY0;
uniform highp vec4 unity_4LightPosZ0;
#line 15
uniform highp vec4 unity_4LightAtten0;
uniform highp vec4 unity_LightColor[8];
uniform highp vec4 unity_LightPosition[8];
uniform highp vec4 unity_LightAtten[8];
#line 19
uniform highp vec4 unity_SpotDirection[8];
uniform highp vec4 unity_SHAr;
uniform highp vec4 unity_SHAg;
uniform highp vec4 unity_SHAb;
#line 23