UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FLandscapeRenderSystem Struct Reference

#include <LandscapeRender.h>

Classes

struct  LODSettingsComponent
 

Public Types

typedef uint32 FViewKey
 
using SectionKeyToLODValueMap = TMap< FIntPoint, float >
 

Public Member Functions

 FLandscapeRenderSystem (uint32 InLandscapeKey, FSceneInterface *InScene)
 
 ~FLandscapeRenderSystem ()
 
bool IsValidCoord (FIntPoint InRenderCoord) const
 
int32 GetSectionLinearIndex (FIntPoint InRenderCoord) const
 
void ResizeAndMoveTo (FIntPoint NewMin, FIntPoint NewMax)
 
void ResizeToInclude (const FIntPoint &NewCoord)
 
void CompactMap ()
 
bool AnySectionsInRangeInclusive (FIntPoint RangeMin, FIntPoint RangeMax)
 
void SetSectionInfo (FIntPoint InRenderCoord, FLandscapeSectionInfo *InSectionInfo)
 
FLandscapeSectionInfoGetSectionInfo (FIntPoint InRenderCoord)
 
float GetSectionLODValue (const FSceneView &InView, FIntPoint InRenderCoord) const
 
const TResourceArray< float > & GetCachedSectionLODValues (const FSceneView &InView) const
 
float GetSectionLODBias (FIntPoint InRenderCoord) const
 
const TResourceArray< float > & ComputeSectionsLODForView (const FSceneView &InView, UE::Renderer::Private::IShadowInvalidatingInstances *InShadowInvalidatingInstances)
 
void PerformShadowInvalidations (UE::Renderer::Private::IShadowInvalidatingInstances &InShadowInvalidatingInstances)
 
void FetchHeightmapLODBiases ()
 
void UpdateBuffers (FRHICommandListBase &RHICmdList)
 

Static Public Member Functions

static float ComputeLODFromScreenSize (const LODSettingsComponent &InLODSettings, float InScreenSizeSquared)
 
static void CreateResources (FRHICommandListBase &RHICmdList, FLandscapeSectionInfo *SectionInfo)
 
static void DestroyResources (FLandscapeSectionInfo *SectionInfo)
 
static void RegisterSection (FLandscapeSectionInfo *SectionInfo)
 
static void UnregisterSection (FLandscapeSectionInfo *SectionInfo)
 

Public Attributes

int32 LandscapeIndex
 
FIntPoint Min
 
FIntPoint Size
 
TResourceArray< floatSectionLODBiases
 
TArray< FLandscapeSectionInfo * > SectionInfos
 
int32 ReferenceCount
 
int32 RegisteredCount
 
FBufferRHIRef SectionLODBiasBuffer
 
FShaderResourceViewRHIRef SectionLODBiasSRV
 
FUniformBufferRHIRef SectionLODUniformBuffer
 
TMap< const FSceneView *, TResourceArray< float > > PerViewCachedSectionLODValues
 
TMap< uint32, TResourceArray< float > > PerViewStateCachedSectionLODValues
 
TMap< uint32, SectionKeyToLODValueMapPerViewStateLastShadowInvalidationSectionLODValues
 
TMap< UE::Renderer::Private::IShadowInvalidatingInstances *, TArray< const FPrimitiveSceneInfo * > > ShadowInvalidationRequests
 
int8 ForcedLODOverride
 
int32 ComponentResolution = -1
 
FVector ComponentOrigin = FVector::ZeroVector
 
FVector ComponentXVector = FVector::ZeroVector
 
FVector ComponentYVector = FVector::ZeroVector
 
int32 SectionsRemovedSinceLastCompact
 
uint32 LandscapeKey = 0
 
FSceneInterfaceScene = nullptr
 

Static Public Attributes

static TBitArray LandscapeIndexAllocator
 

Member Typedef Documentation

◆ FViewKey

◆ SectionKeyToLODValueMap

Constructor & Destructor Documentation

◆ FLandscapeRenderSystem()

FLandscapeRenderSystem::FLandscapeRenderSystem ( uint32  InLandscapeKey,
FSceneInterface InScene 
)

◆ ~FLandscapeRenderSystem()

FLandscapeRenderSystem::~FLandscapeRenderSystem ( )

Member Function Documentation

◆ AnySectionsInRangeInclusive()

bool FLandscapeRenderSystem::AnySectionsInRangeInclusive ( FIntPoint  RangeMin,
FIntPoint  RangeMax 
)

◆ CompactMap()

void FLandscapeRenderSystem::CompactMap ( )

◆ ComputeLODFromScreenSize()

float FLandscapeRenderSystem::ComputeLODFromScreenSize ( const LODSettingsComponent InLODSettings,
float  InScreenSizeSquared 
)
static

◆ ComputeSectionsLODForView()

const TResourceArray< float > & FLandscapeRenderSystem::ComputeSectionsLODForView ( const FSceneView InView,
UE::Renderer::Private::IShadowInvalidatingInstances InShadowInvalidatingInstances 
)

◆ CreateResources()

void FLandscapeRenderSystem::CreateResources ( FRHICommandListBase RHICmdList,
FLandscapeSectionInfo SectionInfo 
)
static

◆ DestroyResources()

void FLandscapeRenderSystem::DestroyResources ( FLandscapeSectionInfo SectionInfo)
static

◆ FetchHeightmapLODBiases()

void FLandscapeRenderSystem::FetchHeightmapLODBiases ( )

◆ GetCachedSectionLODValues()

const TResourceArray< float > & FLandscapeRenderSystem::GetCachedSectionLODValues ( const FSceneView InView) const

◆ GetSectionInfo()

FLandscapeSectionInfo * FLandscapeRenderSystem::GetSectionInfo ( FIntPoint  InRenderCoord)
inline

◆ GetSectionLinearIndex()

int32 FLandscapeRenderSystem::GetSectionLinearIndex ( FIntPoint  InRenderCoord) const
inline

◆ GetSectionLODBias()

float FLandscapeRenderSystem::GetSectionLODBias ( FIntPoint  InRenderCoord) const

◆ GetSectionLODValue()

float FLandscapeRenderSystem::GetSectionLODValue ( const FSceneView InView,
FIntPoint  InRenderCoord 
) const

◆ IsValidCoord()

bool FLandscapeRenderSystem::IsValidCoord ( FIntPoint  InRenderCoord) const
inline

◆ PerformShadowInvalidations()

void FLandscapeRenderSystem::PerformShadowInvalidations ( UE::Renderer::Private::IShadowInvalidatingInstances InShadowInvalidatingInstances)

◆ RegisterSection()

void FLandscapeRenderSystem::RegisterSection ( FLandscapeSectionInfo SectionInfo)
static

◆ ResizeAndMoveTo()

void FLandscapeRenderSystem::ResizeAndMoveTo ( FIntPoint  NewMin,
FIntPoint  NewMax 
)

◆ ResizeToInclude()

void FLandscapeRenderSystem::ResizeToInclude ( const FIntPoint NewCoord)

◆ SetSectionInfo()

void FLandscapeRenderSystem::SetSectionInfo ( FIntPoint  InRenderCoord,
FLandscapeSectionInfo InSectionInfo 
)
inline

◆ UnregisterSection()

void FLandscapeRenderSystem::UnregisterSection ( FLandscapeSectionInfo SectionInfo)
static

◆ UpdateBuffers()

void FLandscapeRenderSystem::UpdateBuffers ( FRHICommandListBase RHICmdList)

Member Data Documentation

◆ ComponentOrigin

FVector FLandscapeRenderSystem::ComponentOrigin = FVector::ZeroVector

◆ ComponentResolution

int32 FLandscapeRenderSystem::ComponentResolution = -1

◆ ComponentXVector

FVector FLandscapeRenderSystem::ComponentXVector = FVector::ZeroVector

◆ ComponentYVector

FVector FLandscapeRenderSystem::ComponentYVector = FVector::ZeroVector

◆ ForcedLODOverride

int8 FLandscapeRenderSystem::ForcedLODOverride

Forced LOD level which overrides the ForcedLOD level of all the sections under this LandscapeRenderSystem.

◆ LandscapeIndex

int32 FLandscapeRenderSystem::LandscapeIndex

◆ LandscapeIndexAllocator

TBitArray FLandscapeRenderSystem::LandscapeIndexAllocator
static

◆ LandscapeKey

uint32 FLandscapeRenderSystem::LandscapeKey = 0

◆ Min

FIntPoint FLandscapeRenderSystem::Min

◆ PerViewCachedSectionLODValues

TMap<const FSceneView*, TResourceArray<float> > FLandscapeRenderSystem::PerViewCachedSectionLODValues

◆ PerViewStateCachedSectionLODValues

TMap<uint32, TResourceArray<float> > FLandscapeRenderSystem::PerViewStateCachedSectionLODValues

◆ PerViewStateLastShadowInvalidationSectionLODValues

TMap<uint32, SectionKeyToLODValueMap> FLandscapeRenderSystem::PerViewStateLastShadowInvalidationSectionLODValues

◆ ReferenceCount

int32 FLandscapeRenderSystem::ReferenceCount

◆ RegisteredCount

int32 FLandscapeRenderSystem::RegisteredCount

◆ Scene

FSceneInterface* FLandscapeRenderSystem::Scene = nullptr

◆ SectionInfos

TArray<FLandscapeSectionInfo*> FLandscapeRenderSystem::SectionInfos

◆ SectionLODBiasBuffer

FBufferRHIRef FLandscapeRenderSystem::SectionLODBiasBuffer

◆ SectionLODBiases

TResourceArray<float> FLandscapeRenderSystem::SectionLODBiases

◆ SectionLODBiasSRV

FShaderResourceViewRHIRef FLandscapeRenderSystem::SectionLODBiasSRV

◆ SectionLODUniformBuffer

FUniformBufferRHIRef FLandscapeRenderSystem::SectionLODUniformBuffer

◆ SectionsRemovedSinceLastCompact

int32 FLandscapeRenderSystem::SectionsRemovedSinceLastCompact

◆ ShadowInvalidationRequests

TMap<UE::Renderer::Private::IShadowInvalidatingInstances*, TArray<const FPrimitiveSceneInfo*> > FLandscapeRenderSystem::ShadowInvalidationRequests

◆ Size

FIntPoint FLandscapeRenderSystem::Size

The documentation for this struct was generated from the following files: