XII Release 0.1.0
Loading...
Searching...
No Matches
xiiScenePickingReadback Class Reference

Copyright (c) Theophilus Eriata. All Rights Reserved. More...

#include <ScenePickingReadback.h>

Public Member Functions

xiiResult Poll (xiiUInt32 &out_uiCompletedSlot)
xiiResult AddCapture (xiiRenderPipelinePassContext &context, xiiRenderGraphTextureHandle texture, xiiUInt32 &out_uiReservedSlot)
void Invalidate ()
 Copyright (c) Theophilus Eriata. All Rights Reserved.
bool Matches (const xiiView &view) const
xiiSizeU32 GetSize () const
xiiUInt32 GetWordsPerPixel () const
xiiArrayPtr< const xiiUInt32 > GetPixels () const

Static Public Attributes

static constexpr xiiUInt32 SlotCount = 3

Detailed Description

Copyright (c) Theophilus Eriata. All Rights Reserved.

Internal view-local capture transport shared by scene picking consumers. It owns only pixel and view snapshots; callers retain the matching native owner metadata in three slot tables. CPU frame-boundary access only. No submission or GPU wait occurs in this facility.

Member Function Documentation

◆ AddCapture()

xiiResult xiiScenePickingReadback::AddCapture ( xiiRenderPipelinePassContext & context,
xiiRenderGraphTextureHandle texture,
xiiUInt32 & out_uiReservedSlot )

Requires Poll first. Supports R32UInt and RGBA32UInt, both single-sample 2D textures. Success with InvalidIndex means backpressure or a resize draining old captures. At most three captures are retained, including during repeated resizing and format changes.

◆ Poll()

xiiResult xiiScenePickingReadback::Poll ( xiiUInt32 & out_uiCompletedSlot)

Publishes the newest completed image and returns its slot, or InvalidIndex when unchanged. Consume/swap that slot's metadata before AddCapture can reserve a slot again.


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/EditorPlugins/Scene/SharedPluginScene/Scene/Implementation/ScenePickingReadback.h
  • /home/runner/work/XII/XII/Source/EditorPlugins/Scene/SharedPluginScene/Scene/Implementation/ScenePickingReadback.cpp