LiteFX 0.4.1.2025
Computer Graphics Engine
Loading...
Searching...
No Matches
LiteFX::Rendering::ISampler Class Referenceabstract

Describes a texture sampler. More...

#include <rendering_api.hpp>

Inherits LiteFX::Rendering::IStateResource, and LiteFX::SharedObject.

Inherited by LiteFX::Rendering::Backends::IDirectX12Sampler [virtual], and LiteFX::Rendering::Backends::IVulkanSampler [virtual].

Public Member Functions

 ~ISampler () noexcept override=default
 
virtual FilterMode getMinifyingFilter () const noexcept=0
 Gets the filtering mode that is used for minifying lookups.
 
virtual FilterMode getMagnifyingFilter () const noexcept=0
 Gets the filtering mode that is used for magnifying lookups.
 
virtual BorderMode getBorderModeU () const noexcept=0
 Gets the addressing mode at the horizontal border.
 
virtual BorderMode getBorderModeV () const noexcept=0
 Gets the addressing mode at the vertical border.
 
virtual BorderMode getBorderModeW () const noexcept=0
 Gets the addressing mode at the depth border.
 
virtual Float getAnisotropy () const noexcept=0
 Gets the anisotropy value used when sampling this texture.
 
virtual MipMapMode getMipMapMode () const noexcept=0
 Gets the mip-map selection mode.
 
virtual Float getMipMapBias () const noexcept=0
 Gets the mip-map level of detail bias.
 
virtual Float getMaxLOD () const noexcept=0
 Gets the maximum texture level of detail.
 
virtual Float getMinLOD () const noexcept=0
 Gets the minimum texture level of detail.
 
- Public Member Functions inherited from LiteFX::Rendering::IStateResource
virtual ~IStateResource () noexcept=default
 Releases the state resource instance.
 
virtual const Stringname () const noexcept=0
 Returns the name of the resource.
 
- Public Member Functions inherited from LiteFX::SharedObject
virtual ~SharedObject () noexcept=default
 Destroys the shared object.
 
template<typename TSelf >
auto shared_from_this (this TSelf &&self) noexcept
 Returns a shared pointer to the current object instance.
 
template<typename TSelf >
auto weak_from_this (this TSelf &&self) noexcept -> WeakPtr< std::remove_reference_t< TSelf > >
 Returns a weak pointer to the current object instance.
 

Protected Member Functions

 ISampler () noexcept=default
 
 ISampler (ISampler &&) noexcept=default
 
 ISampler (const ISampler &)=delete
 
ISampleroperator= (ISampler &&) noexcept=default
 
ISampleroperator= (const ISampler &)=delete
 
- Protected Member Functions inherited from LiteFX::Rendering::IStateResource
 IStateResource () noexcept=default
 
 IStateResource (const IStateResource &)=delete
 
 IStateResource (IStateResource &&) noexcept=default
 
IStateResourceoperator= (const IStateResource &)=delete
 
IStateResourceoperator= (IStateResource &&) noexcept=default
 
- Protected Member Functions inherited from LiteFX::SharedObject
 SharedObject () noexcept=default
 Initializes a new shared object.
 
 SharedObject (SharedObject &&) noexcept=default
 
 SharedObject (const SharedObject &)=default
 
SharedObjectoperator= (SharedObject &&) noexcept=default
 
SharedObjectoperator= (const SharedObject &)=default
 

Additional Inherited Members

- Static Protected Member Functions inherited from LiteFX::SharedObject
template<typename T , typename... TArgs>
static auto create (TArgs &&... args) -> SharedPtr< T >
 Generic factory method used to create instances of the shared object.
 

Detailed Description

Describes a texture sampler.

Constructor & Destructor Documentation

◆ ISampler() [1/3]

LiteFX::Rendering::ISampler::ISampler ( )
protecteddefaultnoexcept

◆ ISampler() [2/3]

LiteFX::Rendering::ISampler::ISampler ( ISampler && )
protecteddefaultnoexcept

◆ ISampler() [3/3]

LiteFX::Rendering::ISampler::ISampler ( const ISampler & )
protecteddelete

◆ ~ISampler()

LiteFX::Rendering::ISampler::~ISampler ( )
overridedefaultnoexcept

Member Function Documentation

◆ getAnisotropy()

virtual Float LiteFX::Rendering::ISampler::getAnisotropy ( ) const
pure virtualnoexcept

Gets the anisotropy value used when sampling this texture.

Anisotropy will be disabled, if this value is set to 0.0.

Returns
The anisotropy value used when sampling this texture.

Implemented in LiteFX::Rendering::Backends::DirectX12Sampler, and LiteFX::Rendering::Backends::VulkanSampler.

◆ getBorderModeU()

virtual BorderMode LiteFX::Rendering::ISampler::getBorderModeU ( ) const
pure virtualnoexcept

Gets the addressing mode at the horizontal border.

Returns
The addressing mode at the horizontal border.

Implemented in LiteFX::Rendering::Backends::DirectX12Sampler, and LiteFX::Rendering::Backends::VulkanSampler.

◆ getBorderModeV()

virtual BorderMode LiteFX::Rendering::ISampler::getBorderModeV ( ) const
pure virtualnoexcept

Gets the addressing mode at the vertical border.

Returns
The addressing mode at the vertical border.

Implemented in LiteFX::Rendering::Backends::DirectX12Sampler, and LiteFX::Rendering::Backends::VulkanSampler.

◆ getBorderModeW()

virtual BorderMode LiteFX::Rendering::ISampler::getBorderModeW ( ) const
pure virtualnoexcept

Gets the addressing mode at the depth border.

Returns
The addressing mode at the depth border.

Implemented in LiteFX::Rendering::Backends::DirectX12Sampler, and LiteFX::Rendering::Backends::VulkanSampler.

◆ getMagnifyingFilter()

virtual FilterMode LiteFX::Rendering::ISampler::getMagnifyingFilter ( ) const
pure virtualnoexcept

Gets the filtering mode that is used for magnifying lookups.

Returns
The filtering mode that is used for magnifying lookups.

Implemented in LiteFX::Rendering::Backends::DirectX12Sampler, and LiteFX::Rendering::Backends::VulkanSampler.

◆ getMaxLOD()

virtual Float LiteFX::Rendering::ISampler::getMaxLOD ( ) const
pure virtualnoexcept

Gets the maximum texture level of detail.

Returns
The maximum texture level of detail.

Implemented in LiteFX::Rendering::Backends::DirectX12Sampler, and LiteFX::Rendering::Backends::VulkanSampler.

◆ getMinifyingFilter()

virtual FilterMode LiteFX::Rendering::ISampler::getMinifyingFilter ( ) const
pure virtualnoexcept

Gets the filtering mode that is used for minifying lookups.

Returns
The filtering mode that is used for minifying lookups.

Implemented in LiteFX::Rendering::Backends::DirectX12Sampler, and LiteFX::Rendering::Backends::VulkanSampler.

◆ getMinLOD()

virtual Float LiteFX::Rendering::ISampler::getMinLOD ( ) const
pure virtualnoexcept

Gets the minimum texture level of detail.

Returns
The minimum texture level of detail.

Implemented in LiteFX::Rendering::Backends::DirectX12Sampler, and LiteFX::Rendering::Backends::VulkanSampler.

◆ getMipMapBias()

virtual Float LiteFX::Rendering::ISampler::getMipMapBias ( ) const
pure virtualnoexcept

Gets the mip-map level of detail bias.

Returns
The mip-map level of detail bias.

Implemented in LiteFX::Rendering::Backends::DirectX12Sampler, and LiteFX::Rendering::Backends::VulkanSampler.

◆ getMipMapMode()

virtual MipMapMode LiteFX::Rendering::ISampler::getMipMapMode ( ) const
pure virtualnoexcept

Gets the mip-map selection mode.

Returns
The mip-map selection mode.

Implemented in LiteFX::Rendering::Backends::DirectX12Sampler, and LiteFX::Rendering::Backends::VulkanSampler.

◆ operator=() [1/2]

ISampler & LiteFX::Rendering::ISampler::operator= ( const ISampler & )
protecteddelete

◆ operator=() [2/2]

ISampler & LiteFX::Rendering::ISampler::operator= ( ISampler && )
protecteddefaultnoexcept