[Shader] 固定管线Shader01


// 固定管线着色器(固定功能的Shader)
// 针对硬件能执行的基本命令编写的Shader,通过一些列的命令达到对图形着色的目的
// 功能有限,但是速度是最快的,Unity官方号称这种Shader可以在所有的平台上良好运行

// ShaderLab 基本结构
// Shader "name"{
//  [Properties] 可以没有
//  SubShader    必须有
//  [Fallback]   可以没有
// }

Shader "Sbin/ff1" {

    Properties{
        //变量名 在监视面板显示的名字 类型 = 默认值
        _Color("Main Color",Color) = (1,1,1,1)
        _Ambient("环境光",Color) = (0.3,0.3,0.3,0.3)
        _Specular("高光(镜面反射光)",Color)=(1,1,1,1)
        _Shininess("高光强度",Range(0,8)) = 4
        _Emission("自发光",Color)=(1,1,1,1)
    }

    SubShader {
        
        //必须使用pass编写一个渲染通道
        pass{
            //小括号为固定值 中括号为参数值
            // Color(1,0,0,1)
            // Color[_Color]

            //材质命令块
            Material{
                //下面是属性

                //描述的是材质的漫反射颜色,可以理解为这个物体本身固有的颜色
                DIFFUSE[_Color]
                //设置环境光
                AMBIENT[_Ambient]
                //设置高光
                SPECULAR[_Specular]
                // 浮点值 描述Specular有多强,决定在镜面高光反射过程中被高光反射的部分的区域
                SHININESS[_Shininess]
                //自发光
                emission[_Emission]
            }
            //启用顶点光照 如果不开启光照,物体的颜色不会被反射,这时不论怎么修改颜色都不会变化
            Lighting on
            //独立的高光
            SeparateSpecular on
        }
    }
}
上一篇:也谈如何写一个Webserver(三)


下一篇:Python的灵活运用之——100 行代码教你实现光线追踪 !