Files
UnrealEngineUWP/Engine/Shaders/Private/VirtualShadowMaps/VirtualShadowMapLightGrid.ush
tiago costa c5bf2cba3b Rename variables referring to lights inside light grid cells from Local index/num to Grid index/num.
- Local = main array of lights in ForwardLightData (which currently translates to visibible in view frustum)
- Grid = cell inside the light grid.

#rb Krzysztof.Narkowicz

[CL 29717147 by tiago costa in ue5-main branch]
2023-11-14 12:33:50 -05:00

31 lines
1.3 KiB
Plaintext

// Copyright Epic Games, Inc. All Rights Reserved.
/*=============================================================================
VirtualShadowMapLightGrid.ush:
=============================================================================*/
#pragma once
#include "../Common.ush"
#include "../LightGridCommon.ush"
FCulledLightsGridData VirtualShadowMapGetLightsGrid(uint2 PixelPos, float SceneDepth)
{
// Has no effect unless INSTANCED_STEREO is enabled. Used in GetLightGridData to select ForwardLightData or ForwardLightDataISR, but then only uses redundant parameters anyway.
uint EyeIndex = 0U;
uint GridLinearIndex = ComputeLightGridCellIndex(PixelPos, SceneDepth, EyeIndex);
FCulledLightsGridData CulledLightGridData = GetCulledLightsGrid(GridLinearIndex, EyeIndex);
// Replace light count with our pruned count
CulledLightGridData.NumLights = VirtualShadowMap.NumCulledLightsGrid[GridLinearIndex];
return CulledLightGridData;
}
FLocalLightData VirtualShadowMapGetLocalLightData(FCulledLightsGridData GridData, uint Index)
{
const uint ListIndex = GridData.DataStartIndex + Index;
checkStructuredBufferAccessSlow(VirtualShadowMap.LightGridData, ListIndex);
const uint LightGridLightIndex = VirtualShadowMap.LightGridData[ListIndex];
return GetLocalLightDataNonStereo(LightGridLightIndex);
}