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

#include <SceneShapeIconPass.h>

Inheritance diagram for xiiSceneShapeIconPass:
[legend]

Classes

struct  PickingResult
struct  Icon

Public Member Functions

xiiResult Build (xiiRenderPipelinePassContext &context) override
xiiArrayPtr< const Icon > GetIcons () const
 Borrowed until the next Build. Far-to-near order, with object identity breaking depth ties.
xiiResult PickIcon (const xiiView &view, xiiUInt32 x, xiiUInt32 y, PickingResult &out_hit) const
xiiResult PickIconsInRect (const xiiView &view, const xiiRectU32 &rectangle, xiiDynamicArray< PickingResult > &out_hits) const
 Window pixels, exclusive right/bottom edges. Unique objects in first visible pixel order.
Public Member Functions inherited from xiiRenderPipelinePass
virtual xiiResult Configure (const xiiVariantDictionary &properties)
xiiResult GetProperties (xiiVariantDictionary &out_properties) const
virtual void GetPins (xiiDynamicArray< xiiRenderPipelinePin > &out_pins) const
xiiResult InitializePinBindings (xiiArrayPtr< const xiiRenderPipelinePin > pins) const
xiiResult GetConfiguredPins (xiiDynamicArray< xiiRenderPipelinePin > &out_pins, xiiStringBuilder *out_error=nullptr) const
xiiResult GetConfiguredPins (xiiArrayPtr< const xiiRenderPipelinePin > declarations, xiiDynamicArray< xiiRenderPipelinePin > &out_pins, xiiStringBuilder *out_error=nullptr) const
 Apply the same authored contracts to declarations resolved by an external authoring context.
virtual xiiBitflags< xiiRenderPipelineDeviceFeature > GetRequiredDeviceFeatures () const
virtual xiiBitflags< xiiRenderExtractionCategory > GetExtractionRequirements () const
virtual xiiBitflags< xiiRenderPipelineFeature > GetRuntimeFeatures () const
virtual xiiResult BuildTemporalHistory (xiiRenderPipelinePassContext &)
virtual xiiResult ValidatePipeline (const xiiRenderPipelineResourceDescriptor &, xiiArrayPtr< const xiiUInt32 >, xiiUInt32, xiiStringBuilder *) const
virtual void InvalidateTemporalHistory ()
 Clears view-local history after camera cuts and configuration changes.
Public Member Functions inherited from xiiReflectedClass
virtual const xiiRTTI * GetDynamicRTTI () const
bool IsInstanceOf (const xiiRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
template<typename T>
XII_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.

Public Attributes

xiiRenderPipelineTextureInputPin m_InputColor
xiiRenderPipelineTextureInputPin m_InputSceneDepth
xiiRenderPipelineTextureOutputPin m_OutputColor
xiiRenderPipelineTextureOutputPin m_OutputPicking {xiiGALResourceFormat::R32UInt, true}
float m_fSize = 1.0f
float m_fMaxScreenSize = 64.0f
Public Attributes inherited from xiiRenderPipelinePass
xiiVariantDictionary m_ParameterOverrides
 Authored, occurrence-local parameter overrides. Kept separate from compile-time pass properties.
xiiDynamicArray< xiiRenderPipelinePinConfiguration * > m_PinConfigurations
 Authoring-only owned objects. Runtime pass instances consume compiled pins instead.

Additional Inherited Members

Static Public Member Functions inherited from xiiNoBase
static const xiiRTTI * GetStaticRTTI ()

Detailed Description

Editor billboards implemented as a regular resource-defined pipeline pass. No sprite extractor, render component or document pointer is required. Size is in world units, capped in screen pixels. Inputs: Color (display-linear, single-sample), SceneDepth (native scene depth, single-sample). Outputs: Color, Picking (R32UInt; zero = background, n = GetIcons()[n - 1]). Picking and color use identical alpha/depth coverage. Picking IDs belong to this Build only; asynchronous consumers must capture the matching handles before the next Build. Disabled/non-Editor views pass through Color and expose no Picking output or icons. Parameter Editor.ShapeIcons overrides the default enabled state. Build requires world read access.

Member Function Documentation

◆ Build()

xiiResult xiiSceneShapeIconPass::Build ( xiiRenderPipelinePassContext & context)
overridevirtual

Implements xiiRenderPipelinePass.

◆ PickIcon()

xiiResult xiiSceneShapeIconPass::PickIcon ( const xiiView & view,
xiiUInt32 x,
xiiUInt32 y,
PickingResult & out_hit ) const

Nonblocking queries against the newest completed GPU image. Success with an invalid object means background; failure means unavailable/outdated capture or invalid coordinates. Results are cleared first. Caller holds world read access at a CPU frame boundary. Validates live component/object identities, visibility and unchanged object position before returning a hit. Editor.Picking (default true) controls capture. Captures can lag the latest rendered frame.


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