MAGE  v0.171.0
Matthias Advanced Game Engine
mage::rendering::VoxelizationSettings Class Reference

#include <camera.hpp>

Public Member Functions

constexpr VoxelizationSettings ()
 
constexpr VoxelizationSettings (const VoxelizationSettings &settings)=default
 
constexpr VoxelizationSettings (VoxelizationSettings &&settings) noexcept=default
 
 ~VoxelizationSettings ()=default
 
VoxelizationSettingsoperator= (const VoxelizationSettings &settings) noexcept=default
 
VoxelizationSettingsoperator= (VoxelizationSettings &&settings) noexcept=default
 
constexpr bool UsesVCT () const noexcept
 
void EnableVCT () noexcept
 
void DisableVCT () noexcept
 
void ToggleVCT () noexcept
 
void SetVCT (bool vct=true) noexcept
 
constexpr F32 GetConeStep () const noexcept
 
void SetConeStep (F32 cone_step) noexcept
 
constexpr F32 GetMaxConeDistance () const noexcept
 
void SetMaxConeDistance (F32 max_cone_distance) noexcept
 

Static Public Member Functions

static constexpr const Point3 GetVoxelGridCenter () noexcept
 
static constexpr void SetVoxelGridCenter (Point3 voxel_grid_center) noexcept
 
static constexpr U32 GetVoxelGridResolution () noexcept
 
static constexpr void SetVoxelGridResolution (U32 exponent) noexcept
 
static constexpr F32 GetVoxelSize () noexcept
 
static void SetVoxelSize (F32 voxel_size) noexcept
 
static U32 GetMaxVoxelTextureMipLevel () noexcept
 
static const XMMATRIX XM_CALLCONV GetWorldToVoxelMatrix () noexcept
 

Private Attributes

bool m_vct
 
F32 m_cone_step
 
F32 m_max_cone_distance
 

Static Private Attributes

static Point3 s_voxel_grid_center
 
static U32 s_voxel_grid_resolution = 128u
 
static F32 s_voxel_size = 0.08f
 

Detailed Description

A class of voxelization settingss.

Constructor & Destructor Documentation

◆ VoxelizationSettings() [1/3]

constexpr mage::rendering::VoxelizationSettings::VoxelizationSettings ( )

Constructs a voxelization settings.

◆ VoxelizationSettings() [2/3]

constexpr mage::rendering::VoxelizationSettings::VoxelizationSettings ( const VoxelizationSettings settings)
default

Constructs a voxelization settings from the given voxelization settings.

Parameters
[in]settingsA reference to the voxelization settings to copy.

◆ VoxelizationSettings() [3/3]

constexpr mage::rendering::VoxelizationSettings::VoxelizationSettings ( VoxelizationSettings &&  settings)
defaultnoexcept

Constructs a voxelization settings by moving the given voxelization settings.

Parameters
[in]settingsA reference to the voxelization settings to move.

◆ ~VoxelizationSettings()

mage::rendering::VoxelizationSettings::~VoxelizationSettings ( )
default

Destructs this voxelization settings.

Member Function Documentation

◆ DisableVCT()

void mage::rendering::VoxelizationSettings::DisableVCT ( )
noexcept

◆ EnableVCT()

void mage::rendering::VoxelizationSettings::EnableVCT ( )
noexcept

◆ GetConeStep()

constexpr F32 mage::rendering::VoxelizationSettings::GetConeStep ( ) const
noexcept

◆ GetMaxConeDistance()

constexpr F32 mage::rendering::VoxelizationSettings::GetMaxConeDistance ( ) const
noexcept

◆ GetMaxVoxelTextureMipLevel()

static U32 mage::rendering::VoxelizationSettings::GetMaxVoxelTextureMipLevel ( )
staticnoexcept

◆ GetVoxelGridCenter()

static constexpr const Point3 mage::rendering::VoxelizationSettings::GetVoxelGridCenter ( )
staticnoexcept

◆ GetVoxelGridResolution()

static constexpr U32 mage::rendering::VoxelizationSettings::GetVoxelGridResolution ( )
staticnoexcept

◆ GetVoxelSize()

static constexpr F32 mage::rendering::VoxelizationSettings::GetVoxelSize ( )
staticnoexcept

◆ GetWorldToVoxelMatrix()

static const XMMATRIX XM_CALLCONV mage::rendering::VoxelizationSettings::GetWorldToVoxelMatrix ( )
staticnoexcept

◆ operator=() [1/2]

VoxelizationSettings& mage::rendering::VoxelizationSettings::operator= ( const VoxelizationSettings settings)
defaultnoexcept

Copies the given voxelization settings to this voxelization settings.

Parameters
[in]settingsA reference to the voxelization settings to copy.
Returns
A reference to the copy of the given voxelization settings (i.e. this voxelization settings).

◆ operator=() [2/2]

VoxelizationSettings& mage::rendering::VoxelizationSettings::operator= ( VoxelizationSettings &&  settings)
defaultnoexcept

Moves the given voxelization settings to this voxelization settings.

Parameters
[in]settingsA reference to the voxelization settings to move.
Returns
A reference to the moved voxelization settings (i.e. this voxelization settings).

◆ SetConeStep()

void mage::rendering::VoxelizationSettings::SetConeStep ( F32  cone_step)
noexcept

◆ SetMaxConeDistance()

void mage::rendering::VoxelizationSettings::SetMaxConeDistance ( F32  max_cone_distance)
noexcept

◆ SetVCT()

void mage::rendering::VoxelizationSettings::SetVCT ( bool  vct = true)
noexcept

◆ SetVoxelGridCenter()

static constexpr void mage::rendering::VoxelizationSettings::SetVoxelGridCenter ( Point3  voxel_grid_center)
staticnoexcept

◆ SetVoxelGridResolution()

static constexpr void mage::rendering::VoxelizationSettings::SetVoxelGridResolution ( U32  exponent)
staticnoexcept

◆ SetVoxelSize()

static void mage::rendering::VoxelizationSettings::SetVoxelSize ( F32  voxel_size)
staticnoexcept

◆ ToggleVCT()

void mage::rendering::VoxelizationSettings::ToggleVCT ( )
noexcept

◆ UsesVCT()

constexpr bool mage::rendering::VoxelizationSettings::UsesVCT ( ) const
noexcept

Member Data Documentation

◆ m_cone_step

F32 mage::rendering::VoxelizationSettings::m_cone_step
private

The cone step expressed in voxel UVW space of this voxelization settings.

◆ m_max_cone_distance

F32 mage::rendering::VoxelizationSettings::m_max_cone_distance
private

The maximal cone distance expressed in voxel UVW space of this voxelization settings.

◆ m_vct

bool mage::rendering::VoxelizationSettings::m_vct
private

A flag indicating whether voxel cone tracing should be used for this voxelization settings.

◆ s_voxel_grid_center

Point3 mage::rendering::VoxelizationSettings::s_voxel_grid_center
staticprivate

The center of the voxel grid expressed in world space.

◆ s_voxel_grid_resolution

U32 mage::rendering::VoxelizationSettings::s_voxel_grid_resolution = 128u
staticprivate

The resolution of the voxel grid for all dimensions.

◆ s_voxel_size

F32 mage::rendering::VoxelizationSettings::s_voxel_size = 0.08f
staticprivate

The size of a voxel for all dimensions expressed in world space.