Shader第二讲 Fixed Function Shader



转载自风宇冲Unity3D教程学

链接:http://blog.sina.com.cn/s/blog_471132920101d5of.html


Fixed function shader简介:  属于固定渲染管线 Shader, 基本用于高级Shader在老显卡无法显示时的情况。使用的是ShaderLab语言,语法与微软的FX files 或者NVIDIA的 CgFX类似。

例一:显示单一颜色
下面我们来看第一个例子,显示单一颜色,注释写得挺详细了,照着格式写即可。
【风宇冲】Unity3D教程宝典之Shader篇:第二讲Fixed <wbr>Function <wbr>Shader


//根Shader 
Shader "Custom/1_1color" { 
   // 属性 
    Properties { 
        //定义一个颜色 
        _Color ("Main Color", Color) = (1,.5,.5,1) 
    } 
    // 子shader 
    SubShader { 
        Pass { 
            Material { 
                //显示该颜色 
                Diffuse [_Color] 
            } 
            //打开光照开关,即接受光照 
            Lighting On 
        } 
    } 
 
} 



例二:显示一张贴图
【风宇冲】Unity3D教程宝典之Shader篇:第二讲Fixed <wbr>Function <wbr>Shader【风宇冲】Unity3D教程宝典之Shader篇:第二讲Fixed <wbr>Function <wbr>Shader


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 
            } 
        } 
    } 
 
 
} 


例三:两张贴图叠加
【风宇冲】Unity3D教程宝典之Shader篇:第二讲Fixed <wbr>Function <wbr>Shader【风宇冲】Unity3D教程宝典之Shader篇:第二讲Fixed <wbr>Function <wbr>Shader


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 
            } 
        } 
    } 
} 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值