URP 编写自定义 Shader (1) URPUnlitShaderBasic


https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@7.7/manual/writing-shaders-urp-basic-unlit-structure.html

Shader "Example/URPUnlitShaderBasic" {
    Properties{

    }

    SubShader{
        Tags { "RenderType"="Opaque" "RenderPipeline"="UniversalPipeline" }

        Pass {
            HLSLPROGRAM

            #pragma vertex vert
            #pragma fragment frag

            #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"

            struct Attributes {
                float4 positionOS   : POSITION;
            };

            struct Varyings {
                float4 positionHCS  : SV_POSITION;
            };

            Varyings vert(Attributes IN) {
                Varyings OUT;
                // 从对象空间到同质剪辑空间
                OUT.positionHCS=TransformObjectToHClip(IN.positionOS.xyz);
                return OUT;
            }

            half4 frag(): SV_Target {
                half4 customColor=half4(0.5, 0, 0, 1);
                return customColor;
            }
            ENDHLSL
        }
    }
}

相关