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

Allocates a colour attachment to be consumed by compute or graphics passes. More...

#include <CreateTexturePass.h>

Inheritance diagram for xiiCreateColourAttachmentPass:
[legend]

Public Member Functions

 xiiCreateColourAttachmentPass (xiiStringView sName="CreateColourAttachmentPass")
 
virtual xiiResult Serialize (xiiStreamWriter &inout_stream) const override
 Serializes the internal pass configuration (not resource or runtime state).
 
virtual xiiResult Deserialize (xiiStreamReader &inout_stream) override
 Restores the internal pass configuration from serialized data.
 
virtual xiiResult GetResourceDescriptions (const xiiView &view, const xiiArrayPtr< xiiRenderPipelinePassResource *const > pInputs, xiiArrayPtr< xiiRenderPipelinePassResource > pOutputs) override
 Must be implemented by each pass to describe the GPU resources it requires on its output pins.
 
virtual xiiResult InitializeRenderPipelinePass (const xiiView &view, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pInputs, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pOutputs) override
 Called once before the first execution to allow the pass to initialize itself based on the graph and view context.
 
virtual void Execute (const xiiRenderViewContext &renderViewContext, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pInputs, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pOutputs) override
 Must be implemented by derived classes to perform the pass's actual rendering or processing logic.
 
XII_ALWAYS_INLINE xiiEnum< xiiGALResourceDimensionGetType () const
 Gets the resource dimension type (e.g., Texture2D).
 
XII_ALWAYS_INLINE void SetType (xiiEnum< xiiGALResourceDimension > type)
 Sets the resource dimension type.
 
XII_ALWAYS_INLINE xiiEnum< xiiSourceFormatGetFormat () const
 Gets the source format of the attachment.
 
XII_ALWAYS_INLINE void SetFormat (xiiEnum< xiiSourceFormat > format)
 Sets the source format of the attachment.
 
XII_ALWAYS_INLINE xiiUInt32 GetArraySizeOrDepth () const
 Gets the array size or depth of the texture.
 
XII_ALWAYS_INLINE void SetArraySizeOrDepth (xiiUInt32 sizeOrDepth)
 Sets the array size or depth of the texture.
 
XII_ALWAYS_INLINE xiiUInt32 GetMipLevels () const
 Gets the number of mipmap levels.
 
XII_ALWAYS_INLINE void SetMipLevels (xiiUInt32 mipLevels)
 Sets the number of mipmap levels.
 
XII_ALWAYS_INLINE xiiUInt32 GetSampleCount () const
 Gets the sample count for multisampling.
 
XII_ALWAYS_INLINE void SetSampleCount (xiiUInt32 sampleCount)
 Sets the sample count for multisampling.
 
XII_ALWAYS_INLINE xiiBitflags< xiiGALBindFlagsGetBindFlags () const
 Gets the bind flags used for the attachment.
 
XII_ALWAYS_INLINE void SetBindFlags (xiiBitflags< xiiGALBindFlags > bindFlags)
 Sets the bind flags used for the attachment.
 
XII_ALWAYS_INLINE xiiEnum< xiiGALResourceUsageGetUsage () const
 Gets the resource usage type.
 
XII_ALWAYS_INLINE void SetUsage (xiiEnum< xiiGALResourceUsage > usage)
 Sets the resource usage type.
 
XII_ALWAYS_INLINE xiiBitflags< xiiGALCPUAccessFlagGetAccessFlags () const
 Gets the CPU access flags.
 
XII_ALWAYS_INLINE void SetAccessFlags (xiiBitflags< xiiGALCPUAccessFlag > accessFlags)
 Sets the CPU access flags.
 
XII_ALWAYS_INLINE xiiBitflags< xiiGALMiscTextureFlagsGetMiscFlags () const
 Gets miscellaneous texture flags.
 
XII_ALWAYS_INLINE void SetMiscFlags (xiiBitflags< xiiGALMiscTextureFlags > miscFlags)
 Sets miscellaneous texture flags.
 
XII_ALWAYS_INLINE bool GetClear () const
 Returns whether the attachment should be cleared before use.
 
XII_ALWAYS_INLINE void SetClear (bool bClear)
 Sets whether the attachment should be cleared before use.
 
XII_ALWAYS_INLINE xiiColor GetClearColour () const
 Gets the clear colour used when clearing the attachment.
 
XII_ALWAYS_INLINE void SetClearColour (const xiiColor &color)
 Sets the clear colour used when clearing the attachment.
 
- Public Member Functions inherited from xiiUtilityPipelinePass
 xiiUtilityPipelinePass (xiiStringView sName, xiiBitflags< xiiRenderPipelinePassCapabilityFlags > capabilityFlags=xiiRenderPipelinePassCapabilityFlags::StereoAware)
 
- Public Member Functions inherited from xiiRenderPipelinePassBase
 xiiRenderPipelinePassBase (xiiStringView sName, xiiBitflags< xiiRenderPipelinePassCapabilityFlags > capabilityFlags)
 Constructor to define a named render pass with required capability flags.
 
virtual ~xiiRenderPipelinePassBase ()
 Virtual destructor.
 
void SetName (xiiStringView sName)
 Assigns the user-visible name of the pass.
 
void SetPassFlags (xiiBitflags< xiiRenderPipelinePassFlags > flags)
 Sets additional flags that describe how the pass behaves or should be scheduled.
 
void SetPassConcurrencyHint (xiiEnum< xiiRenderPipelinePassConcurrencyHint > concurrencyHint)
 Provides a hint to the graph scheduler regarding parallel execution potential.
 
virtual xiiSharedPtr< xiiGALDeviceObjectQueryResourceProvider (const xiiRenderPipelineNodePin *pPin, const xiiRenderPipelineResourceRequest &request)
 Allows a pass to override resource creation for one of its outputs, typically to reuse or share GPU resources.
 
virtual void ExecuteInactive (const xiiRenderViewContext &renderViewContext, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pInputs, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pOutputs)
 Called instead of Execute() if the pass is inactive (e.g., temporarily disabled or culled).
 
virtual void ReadBackProperties (xiiView *pView)
 Allows the pass to update scene or view properties after rendering (e.g., exposure, feedback).
 
XII_ALWAYS_INLINE xiiStringView GetName () const
 Returns the name of this render-pipeline pass.
 
XII_ALWAYS_INLINE xiiBitflags< xiiRenderPipelinePassCapabilityFlagsGetCapabilityFlags () const
 Retrieves the render pipeline pass capability flags.
 
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
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.
 

Additional Inherited Members

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

Detailed Description

Allocates a colour attachment to be consumed by compute or graphics passes.

Member Function Documentation

◆ Deserialize()

xiiResult xiiCreateColourAttachmentPass::Deserialize ( xiiStreamReader & inout_stream)
overridevirtual

Restores the internal pass configuration from serialized data.

Reimplemented from xiiRenderPipelinePassBase.

◆ Execute()

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

Must be implemented by derived classes to perform the pass's actual rendering or processing logic.

Called once per frame (and per view, if applicable).

Inputs and outputs are guaranteed to be valid and resolved GPU handles.

Implements xiiRenderPipelinePassBase.

Reimplemented in xiiHistoryColourAttachmentSourcePass.

◆ GetResourceDescriptions()

xiiResult xiiCreateColourAttachmentPass::GetResourceDescriptions ( const xiiView & view,
const xiiArrayPtr< xiiRenderPipelinePassResource *const > pInputs,
xiiArrayPtr< xiiRenderPipelinePassResource > pOutputs )
overridevirtual

Must be implemented by each pass to describe the GPU resources it requires on its output pins.

The graph compiler uses this to allocate or pool GPU resources like textures, samplers, and buffers. Derived passes should populate each entry in pOutputs with the corresponding resource description.

Implements xiiRenderPipelinePassBase.

Reimplemented in xiiHistoryColourAttachmentSourcePass.

◆ InitializeRenderPipelinePass()

xiiResult xiiCreateColourAttachmentPass::InitializeRenderPipelinePass ( const xiiView & view,
const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pInputs,
const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pOutputs )
overridevirtual

Called once before the first execution to allow the pass to initialize itself based on the graph and view context.

This is typically used to:

  • Resolve input/output resource handles from connections.
  • Cache relevant view properties.
  • Prepare internal state (e.g., sampler bindings, descriptor layouts).

Reimplemented from xiiRenderPipelinePassBase.

◆ Serialize()

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

Serializes the internal pass configuration (not resource or runtime state).

Reimplemented from xiiRenderPipelinePassBase.


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