![]() |
XII Release 0.1.0
|
Allocates a sampler consumed by graphics passes. More...
#include <CreateSamplerPass.h>
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< xiiGALFilterType > | GetMinFilter () const |
| Gets the minification filter type. | |
| XII_ALWAYS_INLINE void | SetMinFilter (xiiEnum< xiiGALFilterType > filter) |
| Sets the minification filter type. | |
| XII_ALWAYS_INLINE xiiEnum< xiiGALFilterType > | GetMagFilter () const |
| Gets the magnification filter type. | |
| XII_ALWAYS_INLINE void | SetMagFilter (xiiEnum< xiiGALFilterType > filter) |
| Sets the magnification filter type. | |
| XII_ALWAYS_INLINE xiiEnum< xiiGALFilterType > | GetMipFilter () const |
| Gets the mipmap filter type. | |
| XII_ALWAYS_INLINE void | SetMipFilter (xiiEnum< xiiGALFilterType > filter) |
| Sets the mipmap filter type. | |
| XII_ALWAYS_INLINE xiiEnum< xiiGALTextureAddressMode > | GetAddressU () 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< xiiGALTextureAddressMode > | GetAddressV () 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< xiiGALTextureAddressMode > | GetAddressW () 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< xiiGALComparisonFunction > | GetComparisonFunction () 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< xiiGALSamplerFlags > | GetFlags () 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< xiiGALDeviceObject > | QueryResourceProvider (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< xiiRenderPipelinePassCapabilityFlags > | GetCapabilityFlags () const |
| Retrieves the render pipeline pass capability flags. | |
| XII_ALWAYS_INLINE xiiBitflags< xiiRenderPipelinePassFlags > | GetPassFlags () const |
| Returns the bitmask of flags describing this render-pipeline pass. | |
| XII_ALWAYS_INLINE xiiEnum< xiiRenderPipelinePassConcurrencyHint > | GetPassConcurrencyHint () 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 xiiRenderPipeline * | GetPipeline () |
| Retrieves the owning render pipeline for this pass. | |
| XII_ALWAYS_INLINE const xiiRenderPipeline * | GetPipeline () 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 xiiRenderPipelineNodePin * | GetPinByName (xiiStringView sName) const |
| Finds a pin by its string name. | |
| const xiiRenderPipelineNodePin * | GetPinByName (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 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. | |
Additional Inherited Members | |
Static Public Member Functions inherited from xiiNoBase | |
| static const xiiRTTI * | GetStaticRTTI () |
Allocates a sampler consumed by graphics passes.
|
overridevirtual |
Restores the internal pass configuration from serialized data.
Reimplemented from xiiRenderPipelinePassBase.
|
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.
|
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.
|
overridevirtual |
Serializes the internal pass configuration (not resource or runtime state).
Reimplemented from xiiRenderPipelinePassBase.