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

#include <SceneMeshPickingPass.h>

Inheritance diagram for xiiSceneMeshPickingPass:
[legend]

Classes

struct  PickingResult

Public Member Functions

xiiBitflags< xiiRenderExtractionCategory > GetExtractionRequirements () const override
xiiBitflags< xiiRenderPipelineFeature > GetRuntimeFeatures () const override
xiiResult Build (xiiRenderPipelinePassContext &context) override
void InvalidateTemporalHistory () override
 Clears view-local history after camera cuts and configuration changes.
xiiResult Pick (const xiiView &view, xiiUInt32 x, xiiUInt32 y, PickingResult &out_hit) const
xiiResult PickObjectsInRect (const xiiView &view, const xiiRectU32 &rectangle, xiiDynamicArray< xiiGameObjectHandle > &out_objects) const
 Exclusive right/bottom edges. Unique native owners 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 xiiResult BuildTemporalHistory (xiiRenderPipelinePassContext &)
virtual xiiResult ValidatePipeline (const xiiRenderPipelineResourceDescriptor &, xiiArrayPtr< const xiiUInt32 >, xiiUInt32, xiiStringBuilder *) const
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_InputSurface {xiiGALResourceFormat::RGBA32UInt, false, {}, xiiGALResourceDimension::Texture2D, 1}
xiiRenderPipelineTextureOutputPin m_OutputSurface {xiiGALResourceFormat::RGBA32UInt, true, {}, xiiGALResourceDimension::Texture2D, 1, xiiRenderPipelinePinAccess::Read}
bool m_bEnabled = true
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

Captures an explicitly supplied native surface and resolves asynchronous pixels against xiiWorld. Owns no visibility, geometry preparation, rasterization or selected-object rendering. Build and queries require world read access at a CPU frame boundary. No GPU wait or submission.

Member Function Documentation

◆ Build()

xiiResult xiiSceneMeshPickingPass::Build ( xiiRenderPipelinePassContext & context)
overridevirtual

Implements xiiRenderPipelinePass.

◆ GetExtractionRequirements()

xiiBitflags< xiiRenderExtractionCategory > xiiSceneMeshPickingPass::GetExtractionRequirements ( ) const
inlineoverridevirtual

Reimplemented from xiiRenderPipelinePass.

◆ GetRuntimeFeatures()

xiiBitflags< xiiRenderPipelineFeature > xiiSceneMeshPickingPass::GetRuntimeFeatures ( ) const
inlineoverridevirtual

Reimplemented from xiiRenderPipelinePass.

◆ InvalidateTemporalHistory()

void xiiSceneMeshPickingPass::InvalidateTemporalHistory ( )
overridevirtual

Clears view-local history after camera cuts and configuration changes.

Reimplemented from xiiRenderPipelinePass.

◆ Pick()

xiiResult xiiSceneMeshPickingPass::Pick ( const xiiView & view,
xiiUInt32 x,
xiiUInt32 y,
PickingResult & out_hit ) const

Window pixels, including the viewport origin. Outputs are cleared first. Success with an invalid owner means background; failure means unavailable/stale capture or invalid input. Captures may lag rendering. Validates captured owners, component configuration and transform. Section identity is full-width; no application picking ID or component pointer is retained.


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