zoukankan      html  css  js  c++  java
  • [小明学Shader]2.理解Shader和Material的关系

    每一个Material都要选择一个使用的Shader.每一个Material都会存储自己的值

    我们新建一个混色的Shader,再分别创建四个Material,其效果如下:

    Shader代码如下:

    Shader"Custom/11.25/2"{
        Properties{
            _Value("Cofficient",Range(0,10))=2.5
            _AmbientColor("Ambient Color",color)=(1,1,1,1)
            _EmissiveColor("Emissive Color",color)=(1,1,1,1)
        }
        
        SubShader{
            Tags{"RenderType"="Opaque"}
            LOD 200
            
            CGPROGRAM
            #pragma surface surf Lambert
            
            float4 _AmbientColor;
            float4 _EmissiveColor;
            float _Value;
            
            struct Input{
                float2 uv_MainTex;
            };
            
            void surf(Input In,inout SurfaceOutput o){
                float4 c=pow(_AmbientColor+_EmissiveColor,_Value);
                
                o.Alpha=c.a;
                o.Albedo=c.rgb;
            }
            ENDCG
        }
        FallBack "Diffuse"
    }

    为四个Material分别选择了当前Shader后,每一个Material值的改变只影响自己的物体.

  • 相关阅读:
    08-认识margin
    07-border(边框)
    06-padding(内边距)
    05-盒模型
    04-层叠性权重相同处理
    03-继承性和层叠性
    MySQL安装与基本管理
    数据库概述
    并发编程练习
    selectors模块
  • 原文地址:https://www.cnblogs.com/WongSiuming/p/4997413.html
Copyright © 2011-2022 走看看