固定管线是在老一代GPU能力比较有限时,对Shader的约束性比较高的一种形态。为了市场占有率,新一代的显卡仍对其有所选择地进行支持,但是会在未来逐步被淘汰。在ShaderLab中,固定管线的形态和语法和NVIDIA的CgFX以及微软的FX文件比较类似。
示例:
Shader "Custom/Shader_Fixed" { Properties { _Color ("Main Color", Color) = (1, 1, 1, 0.5) _SpecColor ("Spec Color", Color) = (1, 1, 1, 1) _Emission ("Emmisive Color", Color) = (0, 0, 0, 0) _Shininess ("Shininess", Range(0.01, 1)) = 0.7 _MainTex ("Base (RGB)", 2D) = "white" {} } SubShader { Pass { Material { Diffuse [_Color] //设置漫反射光颜色 Ambient [_Color] //设置环境光颜色 Shininess [_Shininess] //设置加亮时光泽度 Specular [_SpecColor] //设置高光颜色 Emission [_Emission] //设置自发光颜色 } Lighting On //开启光照 SeparateSpecular On //开启高光 SetTexture [_MainTex] { constantColor[_Color]//定义在合并命令中能被使用的常量颜色(constant) Combine texture * primary DOUBLE, texture * constant } } } }可以在属性面板中调整参数同时在编辑窗口预览效果