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

Allocates a sampler consumed by graphics passes. More...

#include <CreateSamplerPass.h>

Inheritance diagram for xiiCreateSamplerPass:
[legend]

Public Member Functions

 xiiCreateSamplerPass (xiiStringView sName="CreateSamplerPass")
 
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 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< xiiGALFilterTypeGetMinFilter () const
 Gets the minification filter type.
 
XII_ALWAYS_INLINE void SetMinFilter (xiiEnum< xiiGALFilterType > filter)
 Sets the minification filter type.
 
XII_ALWAYS_INLINE xiiEnum< xiiGALFilterTypeGetMagFilter () const
 Gets the magnification filter type.
 
XII_ALWAYS_INLINE void SetMagFilter (xiiEnum< xiiGALFilterType > filter)
 Sets the magnification filter type.
 
XII_ALWAYS_INLINE xiiEnum< xiiGALFilterTypeGetMipFilter () const
 Gets the mipmap filter type.
 
XII_ALWAYS_INLINE void SetMipFilter (xiiEnum< xiiGALFilterType > filter)
 Sets the mipmap filter type.
 
XII_ALWAYS_INLINE xiiEnum< xiiGALTextureAddressModeGetAddressU () const
 Gets the texture address mode for U coordinate.
 
XII_ALWAYS_INLINE void SetAddressU (xiiEnum< xiiGALTextureAddressMode > mode)
 Sets the texture address mode for U coordinate.
 
XII_ALWAYS_INLINE xiiEnum< xiiGALTextureAddressModeGetAddressV () const
 Gets the texture address mode for V coordinate.
 
XII_ALWAYS_INLINE void SetAddressV (xiiEnum< xiiGALTextureAddressMode > mode)
 Sets the texture address mode for V coordinate.
 
XII_ALWAYS_INLINE xiiEnum< xiiGALTextureAddressModeGetAddressW () const
 Gets the texture address mode for W coordinate.
 
XII_ALWAYS_INLINE void SetAddressW (xiiEnum< xiiGALTextureAddressMode > mode)
 Sets the texture address mode for W coordinate.
 
XII_ALWAYS_INLINE xiiEnum< xiiGALComparisonFunctionGetComparisonFunction () const
 Gets the comparison function used for sampling.
 
XII_ALWAYS_INLINE void SetComparisonFunction (xiiEnum< xiiGALComparisonFunction > func)
 Sets the comparison function used for sampling.
 
XII_ALWAYS_INLINE xiiBitflags< xiiGALSamplerFlagsGetFlags () const
 Gets the sampler flags.
 
XII_ALWAYS_INLINE void SetFlags (xiiBitflags< xiiGALSamplerFlags > flags)
 Sets the sampler flags.
 
XII_ALWAYS_INLINE bool GetUseUnnormalizedCoords () const
 Returns whether unnormalized texture coordinates are used.
 
XII_ALWAYS_INLINE void SetUseUnnormalizedCoords (bool bUnnormalized)
 Sets whether unnormalized texture coordinates are used.
 
XII_ALWAYS_INLINE float GetMipLodBias () const
 Gets the mip LOD bias.
 
XII_ALWAYS_INLINE void SetMipLodBias (float bias)
 Sets the mip LOD bias.
 
XII_ALWAYS_INLINE xiiUInt32 GetMaxAnisotropy () const
 Gets the maximum anisotropy level.
 
XII_ALWAYS_INLINE void SetMaxAnisotropy (xiiUInt32 anisotropy)
 Sets the maximum anisotropy level.
 
XII_ALWAYS_INLINE xiiColor GetBorderColor () const
 Gets the border color used for texture sampling.
 
XII_ALWAYS_INLINE void SetBorderColor (const xiiColor &color)
 Sets the border color used for texture sampling.
 
XII_ALWAYS_INLINE float GetMinLod () const
 Gets the minimum LOD value.
 
XII_ALWAYS_INLINE void SetMinLod (float minLod)
 Sets the minimum LOD value.
 
XII_ALWAYS_INLINE float GetMaxLod () const
 Gets the maximum LOD value.
 
XII_ALWAYS_INLINE void SetMaxLod (float maxLod)
 Sets the maximum LOD value.
 
- 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 xiiResult InitializeRenderPipelinePass (const xiiView &view, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pInputs, const xiiArrayPtr< xiiRenderPipelinePassConnection *const > pOutputs)
 Called once before the first execution to allow the pass to initialize itself based on the graph and view context.
 
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 sampler consumed by graphics passes.

Member Function Documentation

◆ Deserialize()

xiiResult xiiCreateSamplerPass::Deserialize ( xiiStreamReader & inout_stream)
overridevirtual

Restores the internal pass configuration from serialized data.

Reimplemented from xiiRenderPipelinePassBase.

◆ Execute()

void xiiCreateSamplerPass::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.

◆ GetResourceDescriptions()

xiiResult xiiCreateSamplerPass::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.

◆ Serialize()

xiiResult xiiCreateSamplerPass::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: