Skip to content
Brass Orrery

Orrery Terrain · OrreryTerrain module · struct

FOrreryTerrainRenderSettings

How a terrain renders: tier, LOD, far field and shadow invalidation (Tier 3 authoring data).

Declaration

USTRUCT(BlueprintType)
struct FOrreryTerrainRenderSettings
Blueprint Make and Break Orrery Terrain Render Settings
The graph as text
  1. Break Orrery Terrain Render Settings (structure)
    • In Orrery Terrain Render Settings (OrreryTerrainRenderSettings): not connected
    • Out Tier (EOrreryTerrainRenderTier): not connected
    • Out Lod 0Screen Size (Float): not connected
    • Out Lod 0Distribution (Float): not connected
    • Out Lod Distribution (Float): not connected
    • Out Lod Blend Range (Float): not connected
    • Out Far Field (Boolean): not connected
    • Out Override Far Detail (Boolean): not connected
    • Out Far Detail (EOrreryTerrainFarDetail): not connected
    • Out Far Field Distance M (Double): not connected
    • Out Far Field Shadows (Boolean): not connected
    • Out Shadow Invalidation Height Error Cm (Float): not connected
    • Out Lumen Heightfield (Boolean): not connected
    • Out Rvt Mode (EOrreryTerrainRvtMode): not connected
    • Out Runtime Virtual Texture (RuntimeVirtualTexture soft object): not connected
    • Out Rvt Settle Uploads (Integer): not connected
Header
#include "TerrainRenderSettings.h"
Module
PublicDependencyModuleNames.Add("OrreryTerrain"); in your module’s Build.cs.
Stability
Stable: changes within a major version only add.
Thread
Game thread.
Blueprint
“Orrery Terrain Render Settings”, a Blueprint type

Description

Read by the renderer when the terrain is created; a change re-creates the render state. The LOD numbers form one screen-size ladder: LOD 1 starts where a chunk's bounding-sphere radius projects to Lod0ScreenSize of the screen's height, LOD 2 at that size divided by Lod0Distribution, and each further LOD at the previous one's size divided by LodDistribution.

Plain values and one soft object path: nothing here is walked by the GC per frame.

Note.

Game thread. It is added to AOrreryTerrainActor beside Settings.

See also

EOrreryTerrainRenderTier, OrreryTerrain::Native::FLodSettings

Properties

NameTypeDefaultMeaning
TierBlueprintReadOnlyEOrreryTerrainRenderTierEOrreryTerrainRenderTier::Auto

Renderer for this terrain.

Auto picks the heightfield tier where it compiles.

Lod0ScreenSizeBlueprintReadOnlyfloat0.5f

Screen size at which LOD 1 starts: a chunk's bounding-sphere radius projected over the screen's height (0.5 is a sphere that just fills the height).

Lod0DistributionBlueprintReadOnlyfloat1.25f

Divider from LOD 1's screen size to LOD 2's.

LodDistributionBlueprintReadOnlyfloat3.0f

Divider between each further LOD's screen size and the next.

LodBlendRangeBlueprintReadOnlyfloat0.1f

Fraction of a chunk, from its edge inwards, over which a vertex blends to its neighbour's LOD.

bFarFieldBlueprintReadOnlybooltrue

Draw the far field: the whole terrain outside the resident chunks, from the always-resident mip pyramid.

bOverrideFarDetailBlueprintReadOnlyboolfalse

Use this terrain's FarDetail instead of the quality profile's (r.OrreryTerrain.Quality, or the project's Quality Profile).

FarDetailBlueprintReadOnlyEOrreryTerrainFarDetailEOrreryTerrainFarDetail::Balanced

Far detail: the ring of mid-distance terrain detail.

Applies when bOverrideFarDetail is on, and when no quality profile is in force (Quality Profile Manual with r.OrreryTerrain.Quality -1; the default is Balanced, Low's ring); otherwise the profile's far detail applies. OrreryTerrainQuality::ResolveFarDetail gives the one in force. The profile's normal-only far level (OrreryTerrainQuality::ResolveFarNormals, one for every terrain) still applies to an overriding Balanced or High.

FarFieldDistance_mBlueprintReadOnlydouble30000.0

Far-field draw distance from any view, metres.

Beyond it the terrain is not drawn.

bFarFieldShadowsBlueprintReadOnlybooltrue

Whether the far field casts shadows.

Its VSM pages are invalidated by the same height-error rule as the chunks'.

ShadowInvalidationHeightError_cmBlueprintReadOnlyfloat25.f

Height error, cm, above which a LOD change invalidates a chunk's cached VSM pages.

25 is the first value that triggers on a 1 m grid of gentle relief (TerrainScenario: no invalidation at 250, 100 or 50; 18 at 25). 0 disables it.

bLumenHeightfieldBlueprintReadOnlybooltrue

Join software Lumen and the global distance field as a heightfield (one top-down card per chunk).

RvtModeBlueprintReadOnlyEOrreryTerrainRvtModeEOrreryTerrainRvtMode::Auto

Colour RVT mode.

r.OrreryTerrain.Rvt overrides it when 0 or more. Applies in place: only the RVT writers and component are created or destroyed, never a chunk.

RuntimeVirtualTextureBlueprintReadOnlyTSoftObjectPtr<URuntimeVirtualTexture>—

The colour RVT to write and read.

Empty is the plugin's RVT_TerrainColor. Its material type must be BaseColor_Normal_Roughness, else a warning is logged and the plugin's is used; its tile count, tile size and adaptivity are yours. A buyer's material reads it through the wrapper's TerrainRvt parameter, which the editor sets when it wraps the material; the plugin's default material keeps the plugin's RVT.

RvtSettleUploadsBlueprintReadOnlyint326

Virtual texture pages the engine may upload per frame while the RVT settles after an edit, outside the editor (r.VT.MaxUploadsPerFrame, 2 by default).

The editor, PIE included, uploads under r.VT.MaxUploadsPerFrameInEditor and ignores it. 0 never raises the budget; r.OrreryTerrain.Rvt.SettleUploads overrides it when 0 or more.

Blueprint