class render::GUIRenderer

Inherits: RendererExtension

Handles GUI rendering on the render thread.

Public

Constructors

GUIRenderer

GUIRenderer()

Methods

Initialize

void Initialize(const Any &data) override

Called when the renderer extension is first initialized.

Check

RendererExtensionRequest Check(const Camera &camera) override

Returns true if the render() method should be called for the provided camera.

Render

void Render(const Camera &camera, const RendererViewContext &viewContext) override

Called at the point at which rendering should be performed for the provided camera.

Relevant render targets are guaranteed to be already bound to the render API, depending on the RenderLocation. Note that actual structure of the render targets depends on the active renderer.

camera
Camera through which the renderer is currently rendering.
viewContext
Additional information about the currently rendered view.

Private

Methods

Update

void Update(float time)

Called every frame from the main thread with the time of the current frame.

UpdateDrawGroups

void UpdateDrawGroups(const Camera *camera, u64 widgetId, u32 widgetDepth, const Matrix4 &worldTransform, const GUIDrawGroupRenderDataUpdate &data)

Updates the data required for rendering draw groups on the specified widget.

ClearDrawGroups

void ClearDrawGroups(u64 widgetId)

Clears all draw groups from the specified widget.

Fields

mPerCameraData

UnorderedMap<const Camera *, GUICameraRenderData> mPerCameraData

mWidgetToCameraMap

UnorderedMap<u64, const Camera *> mWidgetToCameraMap

mMaterialParameterAdapterPool

UnorderedMap<SpriteMaterial *, TArray<SPtr<MaterialParameterAdapter>>> mMaterialParameterAdapterPool

mSamplerState

SPtr<SamplerState> mSamplerState

mTime

float mTime