Files
2026-01-08 22:30:55 +08:00

45 lines
1.2 KiB
HLSL

// Crest Water System
// Copyright © 2024 Wave Harmonic. All rights reserved.
#ifndef d_WaveHarmonic_Crest_VolumeDebug
#define d_WaveHarmonic_Crest_VolumeDebug
#include "Packages/com.waveharmonic.crest/Runtime/Shaders/Library/Utility/Macros.hlsl"
m_CrestNameSpace
float4 DebugRenderWaterMask(const bool isWaterSurface, const bool isUnderwater, const float mask, const float3 sceneColour)
{
// Red: surface front face when above water
// Green: surface back face when below water
// Cyan: background when above water
// Magenta: background when below water
if (isWaterSurface)
{
return float4(sceneColour * float3(mask >= CREST_MASK_ABOVE_SURFACE, mask <= CREST_MASK_BELOW_SURFACE, 0.0), 1.0);
}
else
{
return float4(sceneColour * float3(isUnderwater * 0.5, (1.0 - isUnderwater) * 0.5, 1.0), 1.0);
}
}
float4 DebugRenderStencil(float3 sceneColour)
{
float3 stencil = 1.0;
#if d_Crest_Portal
#if d_Crest_FogAfter
stencil = float3(1.0, 0.0, 0.0);
#elif d_Crest_FogBefore
stencil = float3(0.0, 1.0, 0.0);
#else
stencil = float3(0.0, 0.0, 1.0);
#endif
#endif
return float4(sceneColour * stencil, 1.0);
}
m_CrestNameSpaceEnd
#endif // d_WaveHarmonic_Crest_VolumeDebug