SPARK  0.1.0
A general purpose game engine written in C++.
Loading...
Searching...
No Matches
spark::render::vk::VulkanSampler Class Referencefinal

Vulkan implementation of ISampler. More...

#include <VulkanSampler.h>

Inheritance diagram for spark::render::vk::VulkanSampler:
spark::render::vk::IVulkanSampler spark::render::Resource< VkSampler > spark::render::StateResource spark::render::ISampler spark::render::IResource< VkSampler > spark::render::IResource< VkSampler > spark::render::IStateResource spark::render::IStateResource

Classes

struct  Impl
 

Public Member Functions

 VulkanSampler (const VulkanDevice &device, FilterMode mag_filter=FilterMode::Nearest, FilterMode min_filter=FilterMode::Nearest, BorderMode border_u=BorderMode::Repeat, BorderMode border_v=BorderMode::Repeat, BorderMode border_w=BorderMode::Repeat, MipMapMode mip_map_mode=MipMapMode::Nearest, float mip_map_bias=0.f, float min_lod=0.f, float max_lod=std::numeric_limits< float >::max(), float anisotropy=0.f, const std::string &name="")
 
 VulkanSampler (const VulkanSampler &other)=delete
 
 VulkanSampler (VulkanSampler &&other) noexcept=delete
 
VulkanSampleroperator= (const VulkanSampler &other)=delete
 
VulkanSampleroperator= (VulkanSampler &&other) noexcept=delete
 
FilterMode minifyingFilter () const noexcept override
 Gets the filter mode for minifying lookups.
 
FilterMode magnifyingFilter () const noexcept override
 Gets the filter mode for magnifying lookups.
 
std::array< BorderMode, 3 > borderMode () const noexcept override
 Gets the addressing mode at the horizontal, vertical and depth borders.
 
float anisotropy () const noexcept override
 Gets the anisotropy level used when sampling the texture.
 
MipMapMode mipMapMode () const noexcept override
 Gets the mip-map selection mode.
 
float mipMapBias () const noexcept override
 Gets the mip-map level of detail bias.
 
float minLod () const noexcept override
 Gets the minimum texture level of detail.
 
float maxLod () const noexcept override
 Gets the maximum texture level of detail.
 
- Public Member Functions inherited from spark::render::Resource< VkSampler >
 Resource (VkSampler handle) noexcept
 Initializes the managed resource with the given handle.
 
 Resource (const Resource &other)=delete
 
 Resource (Resource &&other) noexcept=delete
 
Resourceoperator= (const Resource &other)=delete
 
Resourceoperator= (Resource &&other) noexcept=delete
 
const VkSampler & handle () const final
 Gets the managed resource handle.
 
- Public Member Functions inherited from spark::render::StateResource
 StateResource (std::string_view name) noexcept
 Initializes a new StateResource instance.
 
 StateResource (const StateResource &other)=delete
 
 StateResource (StateResource &&other) noexcept
 
StateResourceoperator= (const StateResource &other)=delete
 
StateResourceoperator= (StateResource &&other) noexcept
 
const std::string & name () const noexcept final
 Gets the name of the state resource.
 

Additional Inherited Members

- Public Types inherited from spark::render::IResource< VkSampler >
using handle_type
 
- Protected Member Functions inherited from spark::render::Resource< VkSampler >
VkSampler & handle () final
 Gets the managed resource handle.
 
- Protected Member Functions inherited from spark::render::StateResource
 StateResource () noexcept
 Initializes a new StateResource instance with an empty name.
 
std::string & name () noexcept
 Gets the name of the state resource.
 

Detailed Description

Vulkan implementation of ISampler.

Constructor & Destructor Documentation

◆ VulkanSampler()

spark::render::vk::VulkanSampler::VulkanSampler ( const VulkanDevice & device,
FilterMode mag_filter = FilterMode::Nearest,
FilterMode min_filter = FilterMode::Nearest,
BorderMode border_u = BorderMode::Repeat,
BorderMode border_v = BorderMode::Repeat,
BorderMode border_w = BorderMode::Repeat,
MipMapMode mip_map_mode = MipMapMode::Nearest,
float mip_map_bias = 0.f,
float min_lod = 0.f,
float max_lod = std::numeric_limits<float>::max(),
float anisotropy = 0.f,
const std::string & name = "" )
explicit
Parameters
device
mag_filter
min_filter
border_u
border_v
border_w
mip_map_mode
mip_map_bias
min_lod
max_lod
anisotropy
name

Member Function Documentation

◆ anisotropy()

float spark::render::vk::VulkanSampler::anisotropy ( ) const
nodiscardoverridevirtualnoexcept

Gets the anisotropy level used when sampling the texture.

Returns
The anisotropy level used when sampling the texture.
Note
A value of 0.0f means that no anisotropic filtering is used.

Implements spark::render::ISampler.

◆ borderMode()

std::array< BorderMode, 3 > spark::render::vk::VulkanSampler::borderMode ( ) const
nodiscardoverridevirtualnoexcept

Gets the addressing mode at the horizontal, vertical and depth borders.

Returns
A std::array of BorderMode representing the addressing modes according to the border.
Note
The returned array is ordered as follows: [horizontal (U), vertical (V), depth (W)].

Implements spark::render::ISampler.

◆ magnifyingFilter()

FilterMode spark::render::vk::VulkanSampler::magnifyingFilter ( ) const
nodiscardoverridevirtualnoexcept

Gets the filter mode for magnifying lookups.

Returns
A FilterMode representing the filter mode for magnifying lookups.

Implements spark::render::ISampler.

◆ maxLod()

float spark::render::vk::VulkanSampler::maxLod ( ) const
nodiscardoverridevirtualnoexcept

Gets the maximum texture level of detail.

Returns
The maximum texture level of detail.

Implements spark::render::ISampler.

◆ minifyingFilter()

FilterMode spark::render::vk::VulkanSampler::minifyingFilter ( ) const
nodiscardoverridevirtualnoexcept

Gets the filter mode for minifying lookups.

Returns
A FilterMode representing the filter mode for minifying lookups.

Implements spark::render::ISampler.

◆ minLod()

float spark::render::vk::VulkanSampler::minLod ( ) const
nodiscardoverridevirtualnoexcept

Gets the minimum texture level of detail.

Returns
The minimum texture level of detail.

Implements spark::render::ISampler.

◆ mipMapBias()

float spark::render::vk::VulkanSampler::mipMapBias ( ) const
nodiscardoverridevirtualnoexcept

Gets the mip-map level of detail bias.

Returns
The mip-map level of detail bias.

Implements spark::render::ISampler.

◆ mipMapMode()

MipMapMode spark::render::vk::VulkanSampler::mipMapMode ( ) const
nodiscardoverridevirtualnoexcept

Gets the mip-map selection mode.

Returns
A MipMapMode representing the mip-map selection mode.

Implements spark::render::ISampler.