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

#include <voxel_grid.hpp>

Public Member Functions

 VoxelGrid (ID3D11Device &device, std::size_t resolution)
 
 VoxelGrid (const VoxelGrid &voxel_grid)=delete
 
 VoxelGrid (VoxelGrid &&voxel_grid) noexcept
 
 ~VoxelGrid ()
 
VoxelGridoperator= (const VoxelGrid &voxel_grid)=delete
 
VoxelGridoperator= (VoxelGrid &&voxel_grid) noexcept
 
std::size_t GetResolution () const noexcept
 
void BindBeginVoxelizationBuffer (ID3D11DeviceContext &device_context) const noexcept
 
void BindEndVoxelizationBuffer (ID3D11DeviceContext &device_context) const noexcept
 
void BindBeginVoxelizationTexture (ID3D11DeviceContext &device_context) const noexcept
 
void BindEndVoxelizationTexture (ID3D11DeviceContext &device_context) const noexcept
 

Private Member Functions

void SetupVoxelGrid (ID3D11Device &device)
 
void SetupStructuredBuffer (ID3D11Device &device)
 
void SetupTexture (ID3D11Device &device)
 

Private Attributes

std::size_t m_resolution
 
Viewport m_viewport
 
ComPtr< ID3D11ShaderResourceView > m_buffer_srv
 
ComPtr< ID3D11UnorderedAccessView > m_buffer_uav
 
ComPtr< ID3D11ShaderResourceView > m_texture_srv
 
ComPtr< ID3D11UnorderedAccessView > m_texture_uav
 

Constructor & Destructor Documentation

◆ VoxelGrid() [1/3]

mage::rendering::VoxelGrid::VoxelGrid ( ID3D11Device &  device,
std::size_t  resolution 
)
explicit

◆ VoxelGrid() [2/3]

mage::rendering::VoxelGrid::VoxelGrid ( const VoxelGrid voxel_grid)
delete

◆ VoxelGrid() [3/3]

mage::rendering::VoxelGrid::VoxelGrid ( VoxelGrid &&  voxel_grid)
defaultnoexcept

◆ ~VoxelGrid()

mage::rendering::VoxelGrid::~VoxelGrid ( )
default

Member Function Documentation

◆ BindBeginVoxelizationBuffer()

void mage::rendering::VoxelGrid::BindBeginVoxelizationBuffer ( ID3D11DeviceContext &  device_context) const
noexcept

◆ BindBeginVoxelizationTexture()

void mage::rendering::VoxelGrid::BindBeginVoxelizationTexture ( ID3D11DeviceContext &  device_context) const
noexcept

◆ BindEndVoxelizationBuffer()

void mage::rendering::VoxelGrid::BindEndVoxelizationBuffer ( ID3D11DeviceContext &  device_context) const
noexcept

◆ BindEndVoxelizationTexture()

void mage::rendering::VoxelGrid::BindEndVoxelizationTexture ( ID3D11DeviceContext &  device_context) const
noexcept

◆ GetResolution()

std::size_t mage::rendering::VoxelGrid::GetResolution ( ) const
noexcept

◆ operator=() [1/2]

VoxelGrid& mage::rendering::VoxelGrid::operator= ( const VoxelGrid voxel_grid)
delete

◆ operator=() [2/2]

VoxelGrid & mage::rendering::VoxelGrid::operator= ( VoxelGrid &&  voxel_grid)
defaultnoexcept

◆ SetupStructuredBuffer()

void mage::rendering::VoxelGrid::SetupStructuredBuffer ( ID3D11Device &  device)
private

◆ SetupTexture()

void mage::rendering::VoxelGrid::SetupTexture ( ID3D11Device &  device)
private

◆ SetupVoxelGrid()

void mage::rendering::VoxelGrid::SetupVoxelGrid ( ID3D11Device &  device)
private

Member Data Documentation

◆ m_buffer_srv

ComPtr< ID3D11ShaderResourceView > mage::rendering::VoxelGrid::m_buffer_srv
private

◆ m_buffer_uav

ComPtr< ID3D11UnorderedAccessView > mage::rendering::VoxelGrid::m_buffer_uav
private

◆ m_resolution

std::size_t mage::rendering::VoxelGrid::m_resolution
private

◆ m_texture_srv

ComPtr< ID3D11ShaderResourceView > mage::rendering::VoxelGrid::m_texture_srv
private

◆ m_texture_uav

ComPtr< ID3D11UnorderedAccessView > mage::rendering::VoxelGrid::m_texture_uav
private

◆ m_viewport

Viewport mage::rendering::VoxelGrid::m_viewport
private