原创文章如需转载请注明:转载自风宇冲Unity3D教程学院
Fixed function shader简介: 属于固定渲染管线 Shader, 基本用于高级Shader在老显卡无法显示时的情况。使用的是ShaderLab语言,语法与微软的FX files 或者NVIDIA的 CgFX类似。
例一:显示单一颜色
下面我们来看第一个例子,显示单一颜色,注释写得挺详细了,照着格式写即可。
//根Shader Shader "Custom/1_1color" { // 属性 Properties { //定义一个颜色 _Color ("Main Color", Color) = (1,.5,.5,1) } // 子shader SubShader { Pass { Material { //显示该颜色 Diffuse [_Color] } //打开光照开关,即接受光照 Lighting On } } }
例二:显示一张贴图
Shader "Custom/1_2show1texture" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _Color("Main color",Color) = (1,1,1,1) } SubShader { Pass { Material { Diffuse[_Color] } Lighting on SetTexture[_MainTex] { //combine color部分,alpha部分 // 材质 * 顶点颜色 Combine texture * primary,texture * constant } } } }
例三:两张贴图叠加
Shader "Custom/1_3merge2texture" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _MainTex2 ("Tex2 (RGB)", 2D) = "white" {} _Color("Main color",Color) = (1,1,1,1) } SubShader { Pass { Material { Diffuse[_Color] } Lighting on SetTexture[_MainTex] { // 第一张材质 * 顶点颜色 Combine texture * primary } SetTexture[_MainTex2] { // 第二张材质 * 之前累积(这里即第一张材质) Combine texture * previous } } } }
时间: 2024-10-11 05:11:28