UnityObjectToClipPos(v.vertex);
//顶点: 模型空间 ==》裁剪空间,多用于顶点着色器
mul(unity_ObjectToWorld, v.vertex);
//顶点:模型空间 ==》世界空间,多用于顶点着色器
UnityObjectToWorldNormal(v.normal);
//法线:模型空间 ==》世界空间,多用于顶点着色器,float3(归一化后fixed3)
UnityObjectToWorldDir(v.tangent.xyz);
//方向(切线):模型空间 ==》世界空间,多用于顶点着色器
TRANSFORM_TEX(v.uv, _MainTex);
//基本纹理变换,用于顶点着色器,相当于v.uv*_MainTex_ST.xy + _MainTex_ST.zw;(其中xy存缩放,zw存偏移,对应面板参数);_MainTex_ST需额外定义
UnityWorldSpaceLightDir(i.worldPos.xyz);
//仅前向渲染,世界空间顶点位置 ==》世界空间光源方向,多用于片元着色器,一般会顺带归一化(fixed3)
UnityWorldSpaceViewDir(i.worldPos.xyz);
//世界空间顶点位置 ==》世界空间视线方向,多用于片元着色器,一般会顺带归一化(fixed3)
Tags { "LightMode" = "ForwardBase" }
//指示光照模型为前向渲染的基本模式
UNITY_LIGHTMODEL_AMBIENT
//环境光,一般取前三个分量rgb
Unity ShaderLab 常用函数,标签,指令,宏总结(持续更新)
最新推荐文章于 2024-03-18 18:08:39 发布