Unity Web Shader IDE
Full source <URP>/Shaders/PostProcessing/StopNaN.shader ShaderLab / HLSL 42 lines 7 symbols 1 includes Hide source Show source
StopNaN.shader <URP>/Shaders/PostProcessing/StopNaN.shader
Language
ShaderLab / HLSL
Lines
42
Symbols
7
Includes
1
Open IDE root

<URP>/Shaders/PostProcessing/StopNaN.shader full source

Shader "Hidden/Universal Render Pipeline/Stop NaN"
{
    HLSLINCLUDE
        #pragma target 3.5

        #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
        #include "Packages/com.unity.render-pipelines.core/Runtime/Utilities/Blit.hlsl"

        #define NAN_COLOR half4(0.0, 0.0, 0.0, 0.0)

        half4 FragStopNaN(Varyings input) : SV_Target
        {
            UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input);
            float2 uv = UnityStereoTransformScreenSpaceTex(input.texcoord);
            half4 color = SAMPLE_TEXTURE2D_X(_BlitTexture, sampler_PointClamp, uv);

            if (AnyIsNaN(color) || AnyIsInf(color))
                color = NAN_COLOR;

            return color;
        }

    ENDHLSL

    SubShader
    {
        Tags { "RenderType" = "Opaque" "RenderPipeline" = "UniversalPipeline"}
        LOD 100
        ZTest Always ZWrite Off Cull Off

        Pass
        {
            Name "Stop NaN"

            HLSLPROGRAM
                #pragma vertex Vert
                #pragma fragment FragStopNaN
            ENDHLSL
        }
    }
}