zoukankan      html  css  js  c++  java
  • SimpleReflection

    SimpleReflection

      取法线的x、y作为reflection-map的uv。

    Shader "Custom/SimpleReflection" 
    {
        Properties 
        {
            _MainTex ("Base (RGB)", 2D) = "White" {}
            _ReflectionMap ("ReflectionMap", 2D) = "White" {}
        }
        
       SubShader  
       { 
              Lod 100
              Tags { "Queue" = "Transparent"}
            Pass  
            { 
                Blend SrcAlpha OneMinusSrcAlpha 
                CGPROGRAM 
          
                #pragma vertex Vert 
                #pragma fragment Frag 
                #include "UnityCG.cginc" 
                
                sampler2D _MainTex;
                sampler2D _ReflectionMap;
              
                struct V2F 
                { 
                    fixed4 pos:SV_POSITION; 
                    fixed2 uv:TEXCOORD0; 
                    fixed2 uv2:TEXCOORD1; 
                }; 
                    
              
                V2F Vert(appdata_full v)
                {
                    V2F output;
                    output.pos = mul (UNITY_MATRIX_MVP, v.vertex);
                    output.uv = v.texcoord;
                    output.uv2 = mul(UNITY_MATRIX_IT_MV, float4(v.normal, 0)).xy/2+0.5;
                    return output;
                }
    
                half4 Frag(V2F i):COLOR
                {
                    return tex2D(_MainTex,i.uv) + tex2D(_ReflectionMap,i.uv2);
                }
    
                ENDCG 
            } 
       } 
        
        FallBack "VertexLit"
    }
  • 相关阅读:
    大屏展示功能
    单例模式/原型模式
    .net core ioc
    Log4net
    mvc 过滤器
    webservice
    页面传值 作用域
    Map使用方法
    java获取当前时间撮
    linux 下统计文本行数的各种方法(一)
  • 原文地址:https://www.cnblogs.com/tekkaman/p/4096958.html
Copyright © 2011-2022 走看看