Navigation
API > API/Runtime > API/Runtime/Landscape > API/Runtime/Landscape/ULandscapeEditLayerPersistent
Description
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. The idea is that FEditLayerRendererState's SupportedTargetTypeState tells the capabilities of this renderer, while EnabledTargetTypeState tells what it currently does render. A target type must be both supported and enabled in order to have this renderer affect it and the "enabled" state can be changed at will by the user (e.g. to temporarily disable a given edit layer just for the duration of the merge) : see FEditLayerRendererState
Virtual Inheritance
- ILandscapeEditLayerRenderer::GetRendererStateInfo → ULandscapeEditLayerPersistent::GetRendererStateInfo
| Name | GetRendererStateInfo |
| Type | function |
| Header File | /Engine/Source/Runtime/Landscape/Classes/LandscapeEditLayer.h |
| Include Path | #include "LandscapeEditLayer.h" |
| Source | /Engine/Source/Runtime/Landscape/Private/LandscapeEditLayers.cpp |
virtual void GetRendererStateInfo
(
const UE::Landscape::EditLayers::FMergeContext * InMergeContext,
UE::Landscape::EditLayers::FEditLayerTargetTypeState & OutSupportedTargetTypeState,
UE::Landscape::EditLayers::FEditLayerTargetTypeState & OutEnabledTargetTypeState,
TArray < UE::Landscape::EditLayers::FTargetLayerGroup > & OutTargetLayerGroups
) const
Parameters
| Name | Remarks |
|---|---|
| InMergeContext | context containing all sorts of information related to this merge operation |
| OutSupportedTargetTypeState | List of all target types / weightmaps that this renderer supports (e.g. if, say ELandscapeToolTargetType::Weightmap, is not included, the renderer will not be used at all when rendering any kind of weightmap) |
| OutEnabledTargetTypeMask | List of all target types / weightmaps that this renderer is currently enabled for (i.e. default state of this renderer wrt this target type). A target type must be both supported and enabled in order to have this renderer affect it. The "enabled" state can be changed at will by the user (e.g. to temporarily disable a given edit layer) : see FEditLayerRendererState |
| OutTargetLayerGroups | List of groups of target layers that this renderer requires to be rendered together. This allows it to perform horizontal blending (i.e.adjust the weights of the targeted weightmaps wrt one another). Depending on the other renderer's needs, the final target layer groups might contain more layers than was requested by a given renderer. This only means that more layers will be processed together and if this renderer doesn't act on one of these layers, it will simply do nothing with it in its RenderLayer function |