Fixed function Shader 2

本文介绍Unity中通过settexture命令设置纹理的方法,并详细解释如何利用combine命令实现纹理的合并。了解primary与previous的区别,掌握双倍(double)及四倍(quad)操作的应用场景。

最重要的命令 :settexture  设置纹理


    combine命令 :合并当前纹理,只有当前纹理会生效,之前计算的顶点数据等就不会有效果了,所以需要乘上primary(之前计算得到的数据)。又因为这个两个值都是浮点数,相乘得到的结果会比之前都要小,所以需要使用Unity的double(双倍)或者quad(四倍)操作。


    一个settexture只可以带一个参数,如果想要合并两个以上纹理,则需要新的settexture



   primary :之前顶点的计算的结果

   previous :之前所有的计算的结果(包括顶点和贴图),当要合并两张(或多张)纹理的时候,第二张纹理使用primary,只会计算之前的顶点结果,第一张纹理就失效了




Properties

      _MainTex("MainTex" , 2d) = "white" {}

      _SecondTex("Second" , 2d) = ""{}

}


SubShader

{

    Pass

    {

           material

           {

                    diffuse[_Color]

                    ambient[_Ambient]


                    specular[_Specular]

                    shininess[_Shininess]

     

                    emission[_Emission]

           }

           lighting on

           separatespecular on


           settexture[_MainTex] {                               --> 固定命令 :设置纹理

                    combine  texture * primary  double }            


           settexture[_SecondTex] {

                     combine  texture * previous  double }          

    }

}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值