class render::ScenePicking

Render thread version of the ScenePicking manager.

Handles actual rendering.

Public

Methods

Initialize

void Initialize()

Initializes the manager.

Must be called right after construction.

Destroy

void Destroy()

Destroys the manager.

Must be called right before destruction.

RenderPicking

void RenderPicking(const SPtr<Camera> &camera, const Area2 &viewportArea, const ScenePicking::RenderableSet &renderables, const SPtr<GizmoRenderer> &gizmoRenderer, const GizmoRenderData &gizmoRenderData, const Vector2I &position, const Vector2I &area, bool gatherSnapData, TAsyncOp<PickResults> &outAsyncOperation)

Starts rendering objects as required by scene picking, and notifies the async operation when results are ready.

camera
Camera through which picking is being performed.
viewportArea
Normalized area of the camera's render target to render in.
renderables
A set of pickable Renderable objects to render.
gizmoRenderer
Object used for rendering gizmo render data.
gizmoRenderData
Data required for rendering pickable gizmos, as retrieved from the gizmo manager.
position
Position of the pointer where to pick objects, in pixels relative to viewport.
area
Width/height of the area to pick objects, in pixels.
gatherSnapData
Determines whather normal & depth information will be recorded.
outAsyncOperation
Async operation handle that when complete will contain the results of the picking operation.

Private

Fields

mCommandBufferPool

SPtr<GpuCommandBufferPool> mCommandBufferPool

mPickingRenderTarget

SPtr<RenderTexture> mPickingRenderTarget

mMaterials

SPtr<Material>[6] mMaterials

mMaterialParameterAdapters

Vector<SPtr<MaterialParameterAdapter>>[6] mMaterialParameterAdapters