zoukankan      html  css  js  c++  java
  • Unity3D 边缘高光Shader

    Shader "Custom/NewShader" {
        Properties {
            _MainTex ("Base (RGB)", 2D) = "white" {}
            _RimColor("Rim Color", Color) = (1,1,1,1)
            _RimPower ("Rim power",range(0,5)) = 2//边缘强度
        }
        SubShader {
            Pass
            {
            
            CGPROGRAM
    
            #include "UnityCG.cginc"
    
            struct v2f
            {
                float4 vertex:POSITION;
                float2 uv:TEXCOORD0;
                float4 rim:COLOR;
            };
    
            sampler2D _MainTex;
            float4 _RimColor;
            float _RimPower;
    
            v2f vert(appdata_base  v)
            {
                v2f o;
                o.vertex = mul(UNITY_MATRIX_MVP, v.vertex);
                o.uv = v.texcoord;
                float3 worldPos = mul(_Object2World, v.vertex).xyz;
                float3 viewdir = normalize((_WorldSpaceCameraPos - worldPos));
                float3 normal = normalize(mul((float3x3)_Object2World,v.normal));
                
                o.rim.x = 1-saturate(dot(viewdir,normal));
    
                return o;
            }
    
            fixed4 frag (v2f IN):COLOR
            {
                fixed4  c = tex2D(_MainTex, IN.uv);
                c.rgb+= pow(IN.rim.x,2)*_RimColor*_RimPower;
                return c;
            }
    
            #pragma vertex vert
            #pragma fragment frag
    
            ENDCG
            }
        } 
        FallBack "Diffuse"
    }
  • 相关阅读:
    第一阶段-意见评论
    团队冲刺第15天
    团队冲刺第14天
    第十三周进度报告
    团队冲刺第13天
    团队冲刺第12天
    团队冲刺第11天
    SCRUM第二阶段第九天
    SCRUM第二阶段第八天
    SCRUM第二阶段第七天
  • 原文地址:https://www.cnblogs.com/mrblue/p/7454529.html
Copyright © 2011-2022 走看看