美文网首页
7.12 Shader

7.12 Shader

作者: 胤醚貔貅 | 来源:发表于2017-07-12 17:18 被阅读17次

    //Shader开头

    //"MyFirstShader/Unlit/MyFirstShader"提供一个索引

    Shader "MyFirstShader/Unlit/MyFirstShader"

    {

    //存放跟外部相关的shader属性(属性模块)

    Properties{

    //如何定义属性

    //关于数值类型的三种写法

    _MyInt("Int参数",int)=0

    _MyFloat_1("Float参数",Float)=0

    _Myfloat("浮点型参数",Range(0,1))=0

    //关于向量类型的参数

    _MyVector("普通向量",Vector)=(0,0,0,0)//普通向量的初始化

    _MyColor("颜色参数",Color)=(0,0,0,0)

    //关于纹理类型的参数

    _MyTexture("贴图",2D)="white"{}//{}默认值为空

    _MyTexture3D("3D贴图参数",3D)="white"{}

    _MyTextureCube("立方体贴图参数",Cube)="white"{}

    }

    //存放一些shader代码

    Subshader{

    pass{

    }

    }

    //当Subshader中的代码不符合当前运行设备,将会调用"name"

    Fallback"name"

    }

    shader"MyShader/Cull"

    {

    Properties{

    _AmbientColor("AmbientCOlor",Color)=(1,1,0,1)

    _MainColor("MainColor",Color)=(0,0,0,1)

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

    }

    SubShader{

    Pass{

    Material{

    Diffuse[_MainColor]//漫反射

    Ambient[_AmbientColor]

    }

    //Material{

    //Diffuse(1,1,1,1)

    //}

    //On接收光照的影响

    Lightingon

    //剔除Front/Back/off正面,背面,不剔除

    CullBack

    //设置贴图

    SetTexture[_MainTex]{

    Combinetexture*primary DOUBLE,texture*primary//颜色混合

    }

    }

    }

    }

    settexture[_MainTex]{//combine 命令 用法形式有8种

    //combine src1 * src2 结果纹理将比输入纹理更暗。

    //combine src1 + src2 结果纹理将比输入纹理更明亮。

    //combine src1 - src2 高亮的部分将变暗

    //combine src1 +- src2 src1和src2相加,然后减去0.5

    //combine src1 lerp (src2) src3 在src3和src1之间做插值,使用src2的alpha值。请注意插值是相反的方向,当alpha为1时候src1使用,当alpha为0时候src3使用。

    //combine src1 * src2+src3 src1与src2的alpha值混合,然后添加src3

    //combine src1 * src2+-src3 src1与src2的alpha值混合,然后和有符号的src3相加//所有src属性都可以为:previous, constant, primary 或texture//所有src属性,除lerp外,可以使用符号-来使最终颜色反相。//所有的src属性后面可以有且仅有1个alpha.

    //combine texture//combine texture * primary //primary代表之前颜色值加光照的计算结果

    //combine texture * primary double//combine texture - primary quadcombinetexture* primary quad//Double或者Quad使结果的颜色2倍或者4倍明亮。}

    相关文章

      网友评论

          本文标题:7.12 Shader

          本文链接:https://www.haomeiwen.com/subject/trgbhxtx.html