/*============================================================================= DepthOnlyPixelShader.hlsl: Depth-only pixel shader. Copyright 1998-2010 Epic Games, Inc. All Rights Reserved. =============================================================================*/ #include "Common.usf" #include "Material.usf" #include "VertexFactory.usf" // ME3START - Rob Krajcarski - March 22, 2011 - Allow surface rendering to have custom depth pass #if MATERIAL_TRANSLUCENT_SURFACE_PREPASS void GetMaterialClippingTranslucentSurfaceDepthOnly(FMaterialPixelParameters Parameters) { clip( GetMaterialMask(Parameters) ); } #endif // MATERIAL_TRANSLUCENT_SURFACE_PREPASS // ME3END void Main( #if !MATERIALBLENDING_SOLID FVertexFactoryInterpolants FactoryInterpolants, // BIOSTART - September 15, 2010 - Wihlidal, Graham - PS3 Fragment and Vertex Shader Optimizations half4 CameraVectorOrVertexColor : TEXCOORD4, // BIOEND float4 PixelPosition : TEXCOORD5, OPTIONAL_FacingSign OPTIONAL_PixelShaderScreenPosition #elif MATERIAL_USE_SCREEN_DOOR_FADE OPTIONAL_PixelShaderScreenPosition #endif // BIOSTART - September 15, 2010 - Wihlidal, Graham - PS3 Fragment and Vertex Shader Optimizations out half4 OutColor : SV_Target0 // BIOEND ) { #if !MATERIALBLENDING_SOLID FMaterialPixelParameters MaterialParameters = GetMaterialPixelParameters(FactoryInterpolants); CalcMaterialParameters(MaterialParameters, FacingSign, CameraVectorOrVertexColor, PixelPosition); // ME3START - Rob Krajcarski - March 22, 2011 - Allow surface rendering to have custom depth pass #if MATERIAL_TRANSLUCENT_SURFACE_PREPASS GetMaterialClippingTranslucentSurfaceDepthOnly(MaterialParameters); #endif // ME3END #if MATERIAL_LIT_TRANSLUCENCY_PREPASS GetMaterialClippingLitTranslucencyDepthOnly(MaterialParameters); #else GetMaterialClipping(MaterialParameters, PixelShaderScreenPosition.xy); #endif #elif MATERIAL_USE_SCREEN_DOOR_FADE // Apply screen door fade clip mask ApplyScreenDoorFadeMask( PixelShaderScreenPosition.xy ); #endif OutColor = 0; }