Navigation
API > API/Runtime > API/Runtime/Landscape
Interface that needs to be implemented for anything that can render heightmap/weightmap/visibility when merging landscape edit layers. Ideally it would have been defined in the UE::Landscape::EditLayers namespace but UHT prevents us from doing so. The renderers are provided to the landscape by a IEditLayerRendererProvider.
| Name | ILandscapeEditLayerRenderer |
| Type | class |
| Header File | /Engine/Source/Runtime/Landscape/Public/LandscapeEditLayerRenderer.h |
| Include Path | #include "LandscapeEditLayerRenderer.h" |
Syntax
class ILandscapeEditLayerRenderer
Derived Classes
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void BeginRenderLayerGroup
(
UE::Landscape::EditLayers::FRenderParams& RenderParams, |
Called before the first call to RenderLayer, on the first renderer of a render layer group : Only called if ERenderFlags::RenderLayerGroup_SupportsGrouping is returned by GetRenderFlags() | LandscapeEditLayerRenderer.h | |
virtual void BlendLayer
(
UE::Landscape::EditLayers::FRenderParams& RenderParams, |
BlendLayer is where the renderer has a chance to blend its content with the merged result of all preceding layers It operates on a limited set of components (depending on the size of the render batches) and on a set of target layers (e.g. multiple weightmaps). | LandscapeEditLayerRenderer.h | |
virtual bool CanGroupRenderLayerWith
(
TScriptInterface< ILandscapeEditLayerRenderer > InOtherRenderer |
Return whether this renderer's RenderLayer operation can be grouped with one of the previous renderers in the render layer group. | LandscapeEditLayerRenderer.h | |
virtual void EndRenderLayerGroup
(
UE::Landscape::EditLayers::FRenderParams& RenderParams, |
Called after the last call to RenderLayer, on the last renderer of a render layer group. | LandscapeEditLayerRenderer.h | |
virtual FString GetEditLayerRendererDebugName() |
LandscapeEditLayerRenderer.h | ||
virtual void GetRendererStateInfo
(
const UE::Landscape::EditLayers::FMergeContext* InMergeContext, |
GetRendererStateInfo retrieves the current state of this renderer (what it can and does render, as well as how to group target layers together), and part of this will then be mutable for the duration of the merge. | LandscapeEditLayerRenderer.h | |
virtual UE::Landscape::EditLayers::ERenderFlags GetRenderFlags
(
const UE::Landscape::EditLayers::FMergeContext* InMergeContext |
LandscapeEditLayerRenderer.h | ||
virtual TArray< UE::Landscape::EditLayers::FEditLayerRenderItem > GetRenderItems
(
const UE::Landscape::EditLayers::FMergeContext* InMergeContext |
GetRenderItems retrieves information about the areas this renderer renders to and specifically what respective input area they require to render properly | LandscapeEditLayerRenderer.h | |
virtual bool RenderLayer
(
UE::Landscape::EditLayers::FRenderParams& RenderParams, |
RenderLayer is where the renderer has a chance to render its content and eventually blend it with the merged result of all preceding layers (if ERenderFlags::BlendMode_SeparateBlend is not returned) It operates on a limited set of components (depending on the size of the render batches) and on a set of target layers (e.g. multiple weightmaps). | LandscapeEditLayerRenderer.h |