Navigation
API > API/Runtime > API/Runtime/Landscape
References
| Module | Landscape |
| Header | /Engine/Source/Runtime/Landscape/Public/LandscapeRender.h |
| Include | #include "LandscapeRender.h" |
Syntax
struct FLandscapeRenderSystem
Remarks
Variables
| Type | Name | Description | |
|---|---|---|---|
| FVector | ComponentOrigin | ||
| int32 | ComponentResolution | Resolution, Origin and Size, for use in LOD Groups to verify that all landscapes are of matching resolutions, orientation and scale. | |
| FVector | ComponentXVector | ||
| FVector | ComponentYVector | ||
| int8 | ForcedLODOverride | Forced LOD level which overrides the ForcedLOD level of all the sections under this LandscapeRenderSystem. | |
| int32 | LandscapeIndex | ||
| uint32 | LandscapeKey | ||
| FIntPoint | Min | ||
| TMap< const FSceneView *, TResourceArray< float > > | PerViewCachedSectionLODValues | For a given view, we use those 2 maps to store, for each FLandscapeSectionInfo in SectionInfos, the current LOD Values so that it can be passed down to the renderer These are only really valid for a given render since the list of sections can change in the next frame. | |
| TMap< uint32, TResourceArray< float > > | PerViewStateCachedSectionLODValues | ||
| TMap< uint32, SectionKeyToLODValueMap > | PerViewStateLastShadowInvalidationSectionLODValues | ||
| int32 | ReferenceCount | Number of sections with resources created. | |
| int32 | RegisteredCount | Number of sections registered. | |
| FSceneInterface * | Scene | ||
| TArray< FLandscapeSectionInfo * > | SectionInfos | ||
| FBufferRHIRef | SectionLODBiasBuffer | ||
| TResourceArray< float > | SectionLODBiases | ||
| FShaderResourceViewRHIRef | SectionLODBiasSRV | ||
| FUniformBufferRHIRef | SectionLODUniformBuffer | ||
| int32 | SectionsRemovedSinceLastCompact | Counter used to reduce how often we call compact on the map when removing sections. | |
| TMap< UE::Renderer::Private::IShadowInvalidatingInstances *, TArray< const FPrimitiveSceneInfo &... | ShadowInvalidationRequests | List of shadow invalidations to perform this frame (because IShadowInvalidatingInstances is not parallel-render thread-safe, we have to store them temporarily and issue them on the render thread later on) : | |
| FIntPoint | Size |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FLandscapeRenderSystem
(
uint32 InLandscapeKey, |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | AnySectionsInRangeInclusive
(
FIntPoint RangeMin, |
||
| void | CompactMap () |
||
| float | ComputeLODFromScreenSize
(
const LODSettingsComponent& InLODSettings, |
||
| const TResourceArray< float > & | ComputeSectionsLODForView
(
const FSceneView& InView, |
||
| void | CreateResources
(
FRHICommandListBase& RHICmdList, |
||
| void | DestroyResources
(
FLandscapeSectionInfo* SectionInfo |
||
| void | |||
| const TResourceArray< float > & | GetCachedSectionLODValues
(
const FSceneView& InView |
||
| FLandscapeSectionInfo * | GetSectionInfo
(
FIntPoint InRenderCoord |
||
| int32 | GetSectionLinearIndex
(
FIntPoint InRenderCoord |
||
| float | GetSectionLODBias
(
FIntPoint InRenderCoord |
||
| float | GetSectionLODValue
(
const FSceneView& InView, |
||
| bool | IsValidCoord
(
FIntPoint InRenderCoord |
||
| void | PerformShadowInvalidations
(
UE::Renderer::Private::IShadowInvalidatingInstances& InShadowInvalidatingInstances |
||
| void | RegisterSection
(
FLandscapeSectionInfo* SectionInfo |
||
| void | ResizeAndMoveTo
(
FIntPoint NewMin, |
||
| void | ResizeToInclude
(
const FIntPoint& NewCoord |
||
| void | SetSectionInfo
(
FIntPoint InRenderCoord, |
||
| void | UnregisterSection
(
FLandscapeSectionInfo* SectionInfo |
||
| void | UpdateBuffers
(
FRHICommandListBase& RHICmdList |
Classes
| Type | Name | Description | |
|---|---|---|---|
| LODSettingsComponent |
Typedefs
| Name | Description |
|---|---|
| FViewKey | |
| SectionKeyToLODValueMap | This map allows to track, for each FLandscapeSectionInfo that triggered a shadow invalidation, the LOD value that was used when the invalidation occurred Key = SectionInfo's RenderCoord (we cannot use a linear index like the TMaps above because these might change as new sections get added/removed dynamically and this needs to be tracked across frames) Value = LOD value of the section when the last shadow invalidation occurred |
Constants
| Name | Description |
|---|---|
| LandscapeIndexAllocator |