You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#jira none #rb Dmitriy.Dyomin #fyi Serge.Bernier #preflight 627b87a65d003338d95018bf [CL 20135905 by Wei Liu in ue5-main branch]
70 lines
2.4 KiB
Plaintext
70 lines
2.4 KiB
Plaintext
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
/*=============================================================================
|
|
DepthOnlyPixelShader.hlsl: Depth-only pixel shader.
|
|
=============================================================================*/
|
|
|
|
#include "Common.ush"
|
|
#include "/Engine/Generated/Material.ush"
|
|
#include "/Engine/Generated/VertexFactory.ush"
|
|
|
|
void Main(
|
|
#if !MATERIALBLENDING_SOLID || OUTPUT_PIXEL_DEPTH_OFFSET
|
|
in INPUT_POSITION_QUALIFIERS float4 SvPosition : SV_Position,
|
|
#endif
|
|
|
|
#if !MATERIALBLENDING_SOLID || OUTPUT_PIXEL_DEPTH_OFFSET
|
|
FVertexFactoryInterpolantsVSToPS FactoryInterpolants
|
|
, float4 PixelPosition : TEXCOORD6 //-- Not used currently
|
|
#if USE_WORLD_POSITION_EXCLUDING_SHADER_OFFSETS
|
|
, float3 PixelPositionExcludingWPO : TEXCOORD7
|
|
#endif
|
|
OPTIONAL_IsFrontFace
|
|
OPTIONAL_OutDepthConservative,
|
|
#endif
|
|
out float4 OutColor : SV_Target0
|
|
#if MATERIALBLENDING_MASKED_USING_COVERAGE
|
|
, out uint OutCoverage : SV_Coverage
|
|
#endif
|
|
)
|
|
{
|
|
#if !MATERIALBLENDING_SOLID || OUTPUT_PIXEL_DEPTH_OFFSET
|
|
#if INSTANCED_STEREO
|
|
ResolvedView = ResolveView(FactoryInterpolants.EyeIndex);
|
|
#else
|
|
ResolvedView = ResolveView();
|
|
#endif
|
|
|
|
FMaterialPixelParameters MaterialParameters = GetMaterialPixelParameters(FactoryInterpolants, SvPosition);
|
|
FPixelMaterialInputs PixelMaterialInputs;
|
|
|
|
#if USE_WORLD_POSITION_EXCLUDING_SHADER_OFFSETS
|
|
float4 ScreenPosition = SvPositionToResolvedScreenPosition(SvPosition);
|
|
float3 TranslatedWorldPosition = SvPositionToResolvedTranslatedWorld(SvPosition);
|
|
CalcMaterialParametersEx(MaterialParameters, PixelMaterialInputs, SvPosition, ScreenPosition, bIsFrontFace, TranslatedWorldPosition, PixelPositionExcludingWPO);
|
|
#else
|
|
CalcMaterialParameters(MaterialParameters, PixelMaterialInputs, SvPosition, bIsFrontFace);
|
|
#endif
|
|
|
|
#if OUTPUT_PIXEL_DEPTH_OFFSET
|
|
#if ALLOW_DEBUG_VIEW_MODES
|
|
OutDepth = SvPosition.z;
|
|
if (!ResolvedView.DebugViewModeMask)
|
|
#endif
|
|
{
|
|
ApplyPixelDepthOffsetToMaterialParameters(MaterialParameters, PixelMaterialInputs, OutDepth);
|
|
}
|
|
#endif
|
|
|
|
#if MATERIALBLENDING_TRANSLUCENT
|
|
clip(GetMaterialOpacity(PixelMaterialInputs) - GetMaterialOpacityMaskClipValue());
|
|
#elif MATERIALBLENDING_MASKED_USING_COVERAGE
|
|
OutCoverage = DiscardMaterialWithPixelCoverage(MaterialParameters, PixelMaterialInputs);
|
|
#else
|
|
GetMaterialCoverageAndClipping(MaterialParameters, PixelMaterialInputs);
|
|
#endif
|
|
#endif
|
|
|
|
OutColor = 0;
|
|
}
|