XII Release 0.1.0
Loading...
Searching...
No Matches
xiiSelectionHighlightPass Class Reference
Inheritance diagram for xiiSelectionHighlightPass:
[legend]

Public Member Functions

 xiiSelectionHighlightPass (xiiStringView sName="SelectionHighlightPass")
 
virtual bool GetRenderTargetDescriptions (const xiiView &view, const xiiArrayPtr< xiiGALTextureCreationDescription *const > inputs, xiiArrayPtr< xiiGALTextureCreationDescription > outputs) override
 For a given input pin configuration, provide the output configuration of this node. Outputs is already resized to the number of output pins.
 
virtual void Execute (const xiiRenderViewContext &renderViewContext, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > inputs, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > outputs) override
 Render into outputs. Both inputs and outputs are passed in with actual texture handles. Disconnected pins have a nullptr value in the passed in arrays. You can now create views and render target setups on the fly and fill the output targets with data.
 
virtual xiiResult Serialize (xiiStreamWriter &inout_stream) const override
 
virtual xiiResult Deserialize (xiiStreamReader &inout_stream) override
 
- Public Member Functions inherited from xiiRenderPipelinePass
 xiiRenderPipelinePass (xiiStringView sName, xiiBitflags< xiiRenderPipelinePassFlags > flags, xiiEnum< xiiRenderPipelinePassConcurrencyHint > concurrencyHint)
 
void SetName (xiiStringView sName)
 Sets the name of the pass.
 
void SetPassFlags (xiiBitflags< xiiRenderPipelinePassFlags > flags)
 
void SetPassConcurrencyHint (xiiEnum< xiiRenderPipelinePassConcurrencyHint > concurrencyHint)
 
virtual void InitializeRenderPipelinePass (const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pInputs, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pOutputs)
 After GetRenderTargetDescriptions was called successfully for each pass, this function is called with the inputs and outputs for review. Disconnected pins have a nullptr value in the passed in arrays. This is the time to create additional resources that are not covered by the pins automatically, e.g. a picking texture or eye adaptation buffer.
 
virtual xiiSharedPtr< xiiGALTextureViewQueryTextureProvider (const xiiRenderPipelineNodePin *pPin, const xiiGALTextureCreationDescription &description)
 
virtual void ExecuteInactive (const xiiRenderViewContext &renderViewContext, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pInputs, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pOutputs)
 
virtual void ReadBackProperties (xiiView *pView)
 Allows for the pass to write data back using xiiView::SetRenderPassReadBackProperty. E.g. picking results etc.
 
void RenderDataWithCategory (const xiiRenderViewContext &renderViewContext, xiiSharedPtr< xiiGALCommandList > pCommandList, xiiRenderData::Category category, xiiRenderDataBatch::Filter filter=xiiRenderDataBatch::Filter())
 
XII_ALWAYS_INLINE xiiStringView GetName () const
 Returns the name of this render-pipeline pass.
 
XII_ALWAYS_INLINE xiiBitflags< xiiRenderPipelinePassFlagsGetPassFlags () const
 Returns the bitmask of flags describing this render-pipeline pass.
 
XII_ALWAYS_INLINE xiiEnum< xiiRenderPipelinePassConcurrencyHintGetPassConcurrencyHint () const
 Retrieves the concurrency hint for scheduling this render-pipeline pass.
 
XII_ALWAYS_INLINE bool IsStereoAware () const
 Determines whether this pass correctly handles stereo/XR rendering.
 
XII_ALWAYS_INLINE xiiRenderPipelineGetPipeline ()
 Retrieves the owning render pipeline for this pass.
 
XII_ALWAYS_INLINE const xiiRenderPipelineGetPipeline () const
 Retrieves the owning render pipeline for this pass (const overload).
 
- Public Member Functions inherited from xiiRenderPipelineNode
virtual ~xiiRenderPipelineNode ()=default
 Virtual destructor.
 
void InitializePins ()
 Populates the internal arrays of input and output pins.
 
xiiHashedString GetPinName (const xiiRenderPipelineNodePin *pPin) const
 Returns the hashed name associated with a given pin.
 
const xiiRenderPipelineNodePinGetPinByName (xiiStringView sName) const
 Finds a pin by its string name.
 
const xiiRenderPipelineNodePinGetPinByName (xiiHashedString sName) const
 Finds a pin by its hashed name.
 
XII_ALWAYS_INLINE const xiiArrayPtr< const xiiRenderPipelineNodePin *const > GetInputPins () const
 Retrieves all input pins of this node.
 
XII_ALWAYS_INLINE const xiiArrayPtr< const xiiRenderPipelineNodePin *const > GetOutputPins () const
 Retrieves all output pins of this node.
 
- Public Member Functions inherited from xiiReflectedClass
virtual const xiiRTTIGetDynamicRTTI () 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.
 

Protected Attributes

xiiRenderPipelineNodePassThroughPin m_PinColor
 
xiiRenderPipelineNodeInputPin m_PinDepthStencil
 
xiiShaderResourceHandle m_hShader
 
xiiSharedPtr< xiiGALBufferm_pSelectionHighlightConstantsBuffer
 
xiiColor m_HighlightColor = xiiColorScheme::LightUI(xiiColorScheme::Yellow)
 
float m_fOverlayOpacity = 0.1f
 

Additional Inherited Members

- Static Public Member Functions inherited from xiiNoBase
static const xiiRTTIGetStaticRTTI ()
 

Member Function Documentation

◆ Deserialize()

xiiResult xiiSelectionHighlightPass::Deserialize ( xiiStreamReader & inout_stream)
overridevirtual

Reimplemented from xiiRenderPipelinePass.

◆ Execute()

void xiiSelectionHighlightPass::Execute ( const xiiRenderViewContext & renderViewContext,
const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pInputs,
const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pOutputs )
overridevirtual

Render into outputs. Both inputs and outputs are passed in with actual texture handles. Disconnected pins have a nullptr value in the passed in arrays. You can now create views and render target setups on the fly and fill the output targets with data.

Implements xiiRenderPipelinePass.

◆ GetRenderTargetDescriptions()

bool xiiSelectionHighlightPass::GetRenderTargetDescriptions ( const xiiView & view,
const xiiArrayPtr< xiiGALTextureCreationDescription *const > pInputs,
xiiArrayPtr< xiiGALTextureCreationDescription > pOutputs )
overridevirtual

For a given input pin configuration, provide the output configuration of this node. Outputs is already resized to the number of output pins.

Implements xiiRenderPipelinePass.

◆ Serialize()

xiiResult xiiSelectionHighlightPass::Serialize ( xiiStreamWriter & inout_stream) const
overridevirtual

Reimplemented from xiiRenderPipelinePass.


The documentation for this class was generated from the following files: