본문 바로가기
게임개발/게임 그래픽 프로그래밍

Lerp 함수 사용하기

by pudding81 2024. 2. 16.

Shader "Custom/Lerp"
{
    Properties
    {
         _Slider("Slider",Range(0,1))=0
        _Grass ("Grass", 2D) = "white" {}
        _Sand ("Sand", 2D) = "white" {}
       _BrightDarkness("Bright Darkness",Range(-1,1))=0 
    }
    SubShader
    {
        Tags { "RenderType"="Opaque" }
        

        CGPROGRAM
       
        #pragma surface surf Standard fullforwardshadows

        
        #pragma target 3.0

        sampler2D _Grass;
        sampler2D _Sand;
        float _Slider;
        float _BrightDarkness;
        struct Input
        {
            float2 uv_Grass;
            float2 uv_Sand;

        };

       

        void surf (Input IN, inout SurfaceOutputStandard o)
        {
          
            fixed4 grass = tex2D (_Grass, IN.uv_Grass);
            fixed4 sand = tex2D (_Sand, IN.uv_Sand);

            //float4 e =lerp(grass,sand,_Slider);// 텍스쳐 2장 슬라이더로 조절하기
           
            float3 g= (grass.r+grass.g+grass.b)/3+_BrightDarkness; //흑백 밝기 조절하기
            float3 e =lerp(g,sand,1-grass.a);// 알파함수 이용 (sand,g,grass.a)
            
            
            o.Emission =e;


        }
        ENDCG
    }
    FallBack "Diffuse"
}

'게임개발 > 게임 그래픽 프로그래밍' 카테고리의 다른 글

Standard - Lambert -HalfLambert  (0) 2024.02.20
커스텀 라이트 만들기  (0) 2024.02.20
Rock Golem 만들기  (0) 2024.02.19
불 이펙트 만들기  (0) 2024.02.19
SurfaceShader 시작하기  (0) 2024.02.16