게임 그래픽 프로그래밍

그래픽스 시험예상 문제 (불만들기)

hanui1210 2024. 9. 4. 09:40

 

불만드는 방법 1번

 

 

불만드는 방법 2번

 

 

 

Shader "Custom/Fire"
{
    Properties
    {
      
        _FireTex ("Fire Texture 2D", 2D) = "white" {}
        _NoiseTex ("Noise Texture 2D", 2D) = "white" {}
        _NoiseStrength ("Noise Strength", Range(0,5)) = 0.5

    }
    SubShader
    {
        Tags { "RenderType"="Transparent" "Queue"="Transparent"}
    

        CGPROGRAM
   
        #pragma surface surf Standard alpha:fade
        #pragma target 3.0

        sampler2D _FireTex;
        sampler2D _NoiseTex;
        float _NoiseStrength;

        struct Input
        {
            float2 uv_FireTex;
            float2 uv_NoiseTex;
        };

        void surf (Input IN, inout SurfaceOutputStandard o)
        {
           
            fixed4 noiseColor = tex2D (_NoiseTex, float2(IN.uv_NoiseTex.x,IN.uv_NoiseTex.y - _Time.y));
            fixed4 fireColor = tex2D (_FireTex, IN.uv_FireTex);
            

            o.Emission = fireColor.rgb*noiseColor.rgb;
            o.Alpha = fireColor.a*noiseColor.a;
        }
        ENDCG
    }
    FallBack "Diffuse"
}