<Shader>第一段Shader程序

本文介绍了Shader的基础知识,包括Shader程序的结构,如Properties、SubShader和FallBack的重要性。通过示例展示了如何编写Shader来定义物体颜色、材质、透明度,并解释了SubShader中的pass和相关参数设置,如blend、material、lighting等,帮助初学者入门OpenGL Shader编程。
摘要由CSDN通过智能技术生成

第一段OpenGL代码

Shader "Shader/Shader_001" {

    properties{
        _Color("Main Color",color) = (1,1,1,1)     
    }

    SubShader{
        pass {
            color [_Color] //顶点的颜色
        }
    }
}

在Shader 程序中,Properties 和 FallBack 是可有可无的,但是SubShaders 在程序片段中是必须有的,但是没有Properties 我们讲无法为Shader定制属性,没有FallBack的时候,当任何一个SubShaders都无效的时候,我们的着色将失败。

下面为一个完整的Shader ,可以设置物体的材质,和透明度

Shader "Shader/Shader_002" {

    properties{
        _Color("Main Color",color) = (1,0.5,0.5,1)
        _Ambient("Main Ambien",color) = (0.3,0.3,0.3,0.3)
        _Specular("Main Specular",color) = (0.3,0.3,0.3,0.3)
        _Shininess("Main shininess",range(0,8)) = 8
        _Emission("Main Color",color) = (1,1,1,1)
        _Constantcolor("main constantcolor",color) = (1,1,1,1)
        _Texture("Main Texture",2d) = ""
        _Texture1("sceond tetxure",2d) = ""
    }

    SubShader
    {
        Tags { "Queue" = "Transparent" }
        pass 
        {
            blend SrcAlpha OneMinusSrcAlpha
            material 
            {
                diffuse [_Color]
                ambient    [_Ambient]  //环境光
                specular[_Specular] //高光
                shininess [_Shininess]     //高光反射的强度 到底有多强
                emission [_Emission]  //自发光
            }
            lighting on
            separatespecular on  //像镜子一样的独立的高光

            settexture[_Texture]
            {
                combine texture * primary  double
            }

            settexture[_Texture1]
            {
                constantcolor [_Constantcolor]
                combine texture * previous doubletexture * constant
            }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值