![]() |
XII Release 0.1.0
|
Represents a strongly typed resource instance produced by a render pipeline pass, including its creation parameters and resolved runtime handle. More...
#include <RenderPipelinePass.h>
Public Member Functions | |
| xiiRenderPipelinePassResource (xiiRenderPipelineNodePinResourceType::Enum resourceType, const xiiGALBufferCreationDescription &description, const xiiSharedPtr< xiiGALBuffer > &pBuffer={}) | |
| xiiRenderPipelinePassResource (xiiRenderPipelineNodePinResourceType::Enum resourceType, const xiiGALTextureCreationDescription &description, const xiiSharedPtr< xiiGALTexture > &pTexture={}) | |
| xiiRenderPipelinePassResource (xiiRenderPipelineNodePinResourceType::Enum resourceType, const xiiGALSamplerCreationDescription &description, const xiiSharedPtr< xiiGALSampler > &pSampler={}) | |
| xiiRenderPipelinePassResource (const xiiRenderPipelinePassResource &other) | |
| xiiRenderPipelinePassResource & | operator= (const xiiRenderPipelinePassResource &other) |
| xiiUInt32 | CalculateDescriptorHash () const |
| XII_ALWAYS_INLINE constexpr bool | IsBuffer () const |
| Returns true if this resource is a buffer. | |
| XII_ALWAYS_INLINE constexpr bool | IsTexture () const |
| Returns true if this resource is a texture. | |
| XII_ALWAYS_INLINE constexpr bool | IsSampler () const |
| Returns true if this resource is a sampler. | |
| XII_ALWAYS_INLINE constexpr bool | IsAccelerationStructure () const |
| Returns true if this resource is an acceleration structure. | |
Public Attributes | ||
| xiiEnum< xiiRenderPipelineNodePinResourceType > | m_Type | |
| Indicates which union field is valid. | ||
| union { | ||
| struct { | ||
| xiiGALTextureCreationDescription m_Description | ||
| Describes the texture format, usage, size, etc. | ||
| xiiSharedPtr< xiiGALTexture > m_pTexture | ||
| The actual resolved GPU texture. | ||
| } m_Texture | ||
| struct { | ||
| xiiGALBufferCreationDescription m_Description | ||
| Buffer configuration (element size, usage, etc.). | ||
| xiiSharedPtr< xiiGALBuffer > m_pBuffer | ||
| The runtime buffer handle. | ||
| } m_Buffer | ||
| struct { | ||
| xiiGALSamplerCreationDescription m_Description | ||
| Sampler filtering, addressing, and LOD parameters. | ||
| xiiSharedPtr< xiiGALSampler > m_pSampler | ||
| The compiled sampler object used in shaders. | ||
| } m_Sampler | ||
| }; | ||
Represents a strongly typed resource instance produced by a render pipeline pass, including its creation parameters and resolved runtime handle.
This structure is typically embedded in a xiiRenderPipelinePassConnection to describe the output produced by a specific output pin. It acts as a type-safe union containing exactly one valid resource type (Texture, Buffer, Sampler, or Acceleration Structure), along with its associated descriptor and GPU handle.
The active resource variant is indicated by m_Type. Accessing an inactive variant is undefined behavior.