Files
UnrealEngineUWP/Engine/Shaders/Shared/VirtualShadowMapDefinitions.h
ola olsson 0b7b093519 Added distance based instance/cluster culling for views in Nanite to improve local light rendering (measured ~20% perf improvement for local lights - highly content dependent).
- Added RangeBasedCullingDistance to Nanite view & NANITE_VIEW_FLAG_DISTANCE_CULL to indicate if used
- Added light radius to VSM projection data and added culling invalidations based on range also.
- Added unrelated flag & flag field to VSM to reduce shader header change churn (VSM_PROJ_FLAG_CURRENT_DISTANT_LIGHT).
- Added light range test in page marking shader.

Simplify Nanite LOD calculations by performing them in world space instead of local space
- This also allows us no longer precalculate ViewPosScaledLocal and ViewForwardScaledLocal in DynamicData

#rb rune.stubbe
#preflight 62beb9303f0d6beee2da98db

#ROBOMERGE-AUTHOR: ola.olsson
#ROBOMERGE-SOURCE: CL 20913913 via CL 20913992 via CL 20913998
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20916199 by ola olsson in ue5-main branch]
2022-07-01 12:47:13 -04:00

21 lines
987 B
C

// Copyright Epic Games, Inc. All Rights Reserved.
/*================================================================================================
VirtualShadowMapDefinitions.h: used in virtual shadow map shaders and C++ code to define common constants
!!! Changing this file requires recompilation of the engine !!!
=================================================================================================*/
#pragma once
#define VIRTUAL_SHADOW_MAP_VISUALIZE_NONE 0
#define VIRTUAL_SHADOW_MAP_VISUALIZE_SHADOW_FACTOR (1 << 0)
#define VIRTUAL_SHADOW_MAP_VISUALIZE_CLIPMAP_OR_MIP (1 << 1)
#define VIRTUAL_SHADOW_MAP_VISUALIZE_VIRTUAL_PAGE (1 << 2)
#define VIRTUAL_SHADOW_MAP_VISUALIZE_CACHED_PAGE (1 << 3)
#define VIRTUAL_SHADOW_MAP_VISUALIZE_SMRT_RAY_COUNT (1 << 4)
#define VIRTUAL_SHADOW_MAP_VISUALIZE_CLIPMAP_VIRTUAL_SPACE (1 << 5)
#define VIRTUAL_SHADOW_MAP_VISUALIZE_GENERAL_DEBUG (1 << 6)
#define VSM_PROJ_FLAG_CURRENT_DISTANT_LIGHT (1U << 0)