@sssunny
2021-11-01T07:30:54.000000Z
字数 861
阅读 128
shader
图形变换之基本矩阵变换
unity Shader 内置函数
Unity Shader-法线贴图(Normal)及其原理
Unity Shader Tags
Unity shader-切线空间
UNITY_INITIALIZE_OUTPUT(type,name) –此宏用于将给定类型的名称变量初始化为零
tex2D(sampler2D tex, float2 s) 函数,这是CG程序中用来在一张贴图中对一个点进行采样的方法,返回一个float4。这里对 _MainTex在输入点上进行了采样,并将其颜色的rbg值赋予了输出的像素颜色,将a值赋予透明度。于是,着色器就明白了应当怎样工作:即找到贴图上 对应的uv点,直接使用颜色信息来进行着色
struct appdata_base {
float4 vertex : POSITION;//顶点位置
float3 normal : NORMAL;//发现
float4 texcoord : TEXCOORD0;//纹理坐标
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct appdata_tan {
float4 vertex : POSITION;
float4 tangent : TANGENT;//切线
float3 normal : NORMAL;
float4 texcoord : TEXCOORD0;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct appdata_full {
float4 vertex : POSITION;
float4 tangent : TANGENT;
float3 normal : NORMAL;
float4 texcoord : TEXCOORD0;
float4 texcoord1 : TEXCOORD1;//第二纹理坐标
float4 texcoord2 : TEXCOORD2;//第三纹理坐标
float4 texcoord3 : TEXCOORD3;//第四纹理坐标
fixed4 color : COLOR;//顶点颜色
UNITY_VERTEX_INPUT_INSTANCE_ID
};