Lugdunum  0.1.0
Public Member Functions | Private Attributes | List of all members
lug::Graphics::Vulkan::API::Builder::Sampler Class Reference

#include <Sampler.hpp>

Collaboration diagram for lug::Graphics::Vulkan::API::Builder::Sampler:
[legend]

Public Member Functions

 Sampler (const API::Device &device)
 
 Sampler (const Sampler &)=delete
 
 Sampler (Sampler &&)=delete
 
Sampleroperator= (const Sampler &)=delete
 
Sampleroperator= (Sampler &&)=delete
 
 ~Sampler ()=default
 
void setMagFilter (VkFilter magFilter)
 
void setMinFilter (VkFilter minFilter)
 
void setMipmapMode (VkSamplerMipmapMode mipmapMode)
 
void setAddressModeU (VkSamplerAddressMode addressModeU)
 
void setAddressModeV (VkSamplerAddressMode addressModeV)
 
void setAddressModeW (VkSamplerAddressMode addressModeW)
 
void setMipLodBias (float mipLodBias)
 
void enableAnisotropy (float maxAnisotropy)
 
void disableAnisotropy ()
 
void setCompareOp (VkCompareOp compareOp)
 
void setMinLod (float minLod)
 
void setMaxLod (float maxLod)
 
void setBorderColor (VkBorderColor borderColor)
 
void setUnnormalizedCoordinates (VkBool32 unnormalizedCoordinates)
 
bool build (API::Sampler &instance, VkResult *returnResult=nullptr)
 
std::unique_ptr< API::Samplerbuild (VkResult *returnResult=nullptr)
 

Private Attributes

const API::Device_device
 
VkFilter _magFilter {VK_FILTER_LINEAR}
 
VkFilter _minFilter {VK_FILTER_LINEAR}
 
VkSamplerMipmapMode _mipmapMode {VK_SAMPLER_MIPMAP_MODE_LINEAR}
 
VkSamplerAddressMode _addressModeU {VK_SAMPLER_ADDRESS_MODE_REPEAT}
 
VkSamplerAddressMode _addressModeV {VK_SAMPLER_ADDRESS_MODE_REPEAT}
 
VkSamplerAddressMode _addressModeW {VK_SAMPLER_ADDRESS_MODE_REPEAT}
 
float _mipLodBias {0.0f}
 
VkBool32 _anisotropyEnable {VK_FALSE}
 
float _maxAnisotropy {1.0f}
 
VkBool32 _compareEnable {VK_FALSE}
 
VkCompareOp _compareOp {VK_COMPARE_OP_NEVER}
 
float _minLod {0.0f}
 
float _maxLod {1.0f}
 
VkBorderColor _borderColor {VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE}
 
VkBool32 _unnormalizedCoordinates {VK_FALSE}
 

Detailed Description

Definition at line 16 of file Sampler.hpp.

Constructor & Destructor Documentation

◆ Sampler() [1/3]

lug::Graphics::Vulkan::API::Builder::Sampler::Sampler ( const API::Device device)

Definition at line 11 of file Sampler.cpp.

◆ Sampler() [2/3]

lug::Graphics::Vulkan::API::Builder::Sampler::Sampler ( const Sampler )
delete

◆ Sampler() [3/3]

lug::Graphics::Vulkan::API::Builder::Sampler::Sampler ( Sampler &&  )
delete

◆ ~Sampler()

lug::Graphics::Vulkan::API::Builder::Sampler::~Sampler ( )
default

Member Function Documentation

◆ operator=() [1/2]

Sampler& lug::Graphics::Vulkan::API::Builder::Sampler::operator= ( const Sampler )
delete

◆ operator=() [2/2]

Sampler& lug::Graphics::Vulkan::API::Builder::Sampler::operator= ( Sampler &&  )
delete

◆ setMagFilter()

void Sampler::setMagFilter ( VkFilter  magFilter)
inline

Definition at line 1 of file Sampler.inl.

◆ setMinFilter()

void Sampler::setMinFilter ( VkFilter  minFilter)
inline

Definition at line 5 of file Sampler.inl.

◆ setMipmapMode()

void Sampler::setMipmapMode ( VkSamplerMipmapMode  mipmapMode)
inline

Definition at line 9 of file Sampler.inl.

◆ setAddressModeU()

void Sampler::setAddressModeU ( VkSamplerAddressMode  addressModeU)
inline

Definition at line 13 of file Sampler.inl.

◆ setAddressModeV()

void Sampler::setAddressModeV ( VkSamplerAddressMode  addressModeV)
inline

Definition at line 17 of file Sampler.inl.

◆ setAddressModeW()

void Sampler::setAddressModeW ( VkSamplerAddressMode  addressModeW)
inline

Definition at line 21 of file Sampler.inl.

◆ setMipLodBias()

void Sampler::setMipLodBias ( float  mipLodBias)
inline

Definition at line 25 of file Sampler.inl.

◆ enableAnisotropy()

void Sampler::enableAnisotropy ( float  maxAnisotropy)
inline

Definition at line 29 of file Sampler.inl.

◆ disableAnisotropy()

void Sampler::disableAnisotropy ( )
inline

Definition at line 34 of file Sampler.inl.

◆ setCompareOp()

void Sampler::setCompareOp ( VkCompareOp  compareOp)
inline

Definition at line 39 of file Sampler.inl.

◆ setMinLod()

void Sampler::setMinLod ( float  minLod)
inline

Definition at line 43 of file Sampler.inl.

◆ setMaxLod()

void Sampler::setMaxLod ( float  maxLod)
inline

Definition at line 47 of file Sampler.inl.

◆ setBorderColor()

void Sampler::setBorderColor ( VkBorderColor  borderColor)
inline

Definition at line 51 of file Sampler.inl.

◆ setUnnormalizedCoordinates()

void Sampler::setUnnormalizedCoordinates ( VkBool32  unnormalizedCoordinates)
inline

Definition at line 55 of file Sampler.inl.

◆ build() [1/2]

bool lug::Graphics::Vulkan::API::Builder::Sampler::build ( API::Sampler instance,
VkResult *  returnResult = nullptr 
)

Definition at line 13 of file Sampler.cpp.

◆ build() [2/2]

std::unique_ptr< API::Sampler > lug::Graphics::Vulkan::API::Builder::Sampler::build ( VkResult *  returnResult = nullptr)

Definition at line 53 of file Sampler.cpp.

Member Data Documentation

◆ _device

const API::Device& lug::Graphics::Vulkan::API::Builder::Sampler::_device
private

Definition at line 49 of file Sampler.hpp.

◆ _magFilter

VkFilter lug::Graphics::Vulkan::API::Builder::Sampler::_magFilter {VK_FILTER_LINEAR}
private

Definition at line 51 of file Sampler.hpp.

◆ _minFilter

VkFilter lug::Graphics::Vulkan::API::Builder::Sampler::_minFilter {VK_FILTER_LINEAR}
private

Definition at line 52 of file Sampler.hpp.

◆ _mipmapMode

VkSamplerMipmapMode lug::Graphics::Vulkan::API::Builder::Sampler::_mipmapMode {VK_SAMPLER_MIPMAP_MODE_LINEAR}
private

Definition at line 53 of file Sampler.hpp.

◆ _addressModeU

VkSamplerAddressMode lug::Graphics::Vulkan::API::Builder::Sampler::_addressModeU {VK_SAMPLER_ADDRESS_MODE_REPEAT}
private

Definition at line 54 of file Sampler.hpp.

◆ _addressModeV

VkSamplerAddressMode lug::Graphics::Vulkan::API::Builder::Sampler::_addressModeV {VK_SAMPLER_ADDRESS_MODE_REPEAT}
private

Definition at line 55 of file Sampler.hpp.

◆ _addressModeW

VkSamplerAddressMode lug::Graphics::Vulkan::API::Builder::Sampler::_addressModeW {VK_SAMPLER_ADDRESS_MODE_REPEAT}
private

Definition at line 56 of file Sampler.hpp.

◆ _mipLodBias

float lug::Graphics::Vulkan::API::Builder::Sampler::_mipLodBias {0.0f}
private

Definition at line 57 of file Sampler.hpp.

◆ _anisotropyEnable

VkBool32 lug::Graphics::Vulkan::API::Builder::Sampler::_anisotropyEnable {VK_FALSE}
private

Definition at line 58 of file Sampler.hpp.

◆ _maxAnisotropy

float lug::Graphics::Vulkan::API::Builder::Sampler::_maxAnisotropy {1.0f}
private

Definition at line 59 of file Sampler.hpp.

◆ _compareEnable

VkBool32 lug::Graphics::Vulkan::API::Builder::Sampler::_compareEnable {VK_FALSE}
private

Definition at line 60 of file Sampler.hpp.

◆ _compareOp

VkCompareOp lug::Graphics::Vulkan::API::Builder::Sampler::_compareOp {VK_COMPARE_OP_NEVER}
private

Definition at line 61 of file Sampler.hpp.

◆ _minLod

float lug::Graphics::Vulkan::API::Builder::Sampler::_minLod {0.0f}
private

Definition at line 62 of file Sampler.hpp.

◆ _maxLod

float lug::Graphics::Vulkan::API::Builder::Sampler::_maxLod {1.0f}
private

Definition at line 63 of file Sampler.hpp.

◆ _borderColor

VkBorderColor lug::Graphics::Vulkan::API::Builder::Sampler::_borderColor {VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE}
private

Definition at line 64 of file Sampler.hpp.

◆ _unnormalizedCoordinates

VkBool32 lug::Graphics::Vulkan::API::Builder::Sampler::_unnormalizedCoordinates {VK_FALSE}
private

Definition at line 65 of file Sampler.hpp.


The documentation for this class was generated from the following files: