Shader "Hidden/Universal Render Pipeline/Debug/DebugReplacement" { SubShader { Tags{"RenderType" = "Opaque" "RenderPipeline" = "UniversalPipeline" "IgnoreProjector" = "True"} Pass { Name "Vertex Attributes" Tags {"LightMode" = "UniversalForward"} HLSLPROGRAM #pragma target 2.0 #pragma vertex vert #pragma fragment frag #define DEBUG_DISPLAY #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Debug/Debugging3D.hlsl" struct Attributes { float4 positionOS : POSITION; float4 texcoord0 : TEXCOORD0; float4 texcoord1 : TEXCOORD1; float4 texcoord2 : TEXCOORD2; float4 texcoord3 : TEXCOORD3; float4 color : COLOR; float4 normal : NORMAL; float4 tangent : TANGENT; }; struct Varyings { float4 positionCS : SV_POSITION; float4 texcoord0 : TEXCOORD0; float4 texcoord1 : TEXCOORD1; float4 texcoord2 : TEXCOORD2; float4 texcoord3 : TEXCOORD3; float4 color : COLOR; float4 normal : NORMAL; float4 tangent : TANGENT; }; Varyings vert(Attributes input) { Varyings output; output.texcoord0 = input.texcoord0; output.texcoord1 = input.texcoord1; output.texcoord2 = input.texcoord2; output.texcoord3 = input.texcoord3; output.color = input.color; output.normal = input.normal; output.tangent = input.tangent; output.positionCS = TransformObjectToHClip(input.positionOS.xyz); return output; } half4 frag(Varyings input) : SV_TARGET { switch (_DebugVertexAttributeMode) { case DEBUGVERTEXATTRIBUTEMODE_TEXCOORD0: return input.texcoord0; case DEBUGVERTEXATTRIBUTEMODE_TEXCOORD1: return input.texcoord1; case DEBUGVERTEXATTRIBUTEMODE_TEXCOORD2: return input.texcoord2; case DEBUGVERTEXATTRIBUTEMODE_TEXCOORD3: return input.texcoord3; case DEBUGVERTEXATTRIBUTEMODE_COLOR: return input.color; case DEBUGVERTEXATTRIBUTEMODE_TANGENT: return input.tangent; case DEBUGVERTEXATTRIBUTEMODE_NORMAL: return input.normal; default: return half4(0, 0, 0, 1); } } ENDHLSL } } }