MAGE  v0.171.0
Matthias Advanced Game Engine
mage::rendering::ModelOutput< VertexT, IndexT > Struct Template Reference

#include <model_output.hpp>

Public Member Functions

void XM_CALLCONV AddModelPart (ModelPart model_part)
 
void ComputeBoundingVolumes () noexcept
 
void NormalizeModelParts () noexcept
 

Public Attributes

std::vector< VertexT > m_vertex_buffer
 
std::vector< IndexT > m_index_buffer
 
std::vector< Materialm_material_buffer
 
AlignedVector< ModelPartm_model_parts
 

Private Member Functions

void NormalizeInWorldSpace () noexcept
 
void NormalizeInObjectSpace () noexcept
 

Detailed Description

template<typename VertexT, typename IndexT>
struct mage::rendering::ModelOutput< VertexT, IndexT >

A struct of model outputs.

Template Parameters
VertexTThe vertex type.
IndexTThe index type.

Member Function Documentation

◆ AddModelPart()

template<typename VertexT , typename IndexT >
void XM_CALLCONV mage::rendering::ModelOutput< VertexT, IndexT >::AddModelPart ( ModelPart  model_part)

Adds a model part to this model output.

Parameters
[in]model_partThe model part to add.

◆ ComputeBoundingVolumes()

template<typename VertexT , typename IndexT >
void mage::rendering::ModelOutput< VertexT, IndexT >::ComputeBoundingVolumes ( )
noexcept

Computes the bounding volumes of the model parts of this model output.

◆ NormalizeInObjectSpace()

template<typename VertexT , typename IndexT >
void mage::rendering::ModelOutput< VertexT, IndexT >::NormalizeInObjectSpace ( )
privatenoexcept

Normalizes the vertices in object space of this model output.

◆ NormalizeInWorldSpace()

template<typename VertexT , typename IndexT >
void mage::rendering::ModelOutput< VertexT, IndexT >::NormalizeInWorldSpace ( )
privatenoexcept

Normalizes the vertices in world space of this model output.

◆ NormalizeModelParts()

template<typename VertexT , typename IndexT >
void mage::rendering::ModelOutput< VertexT, IndexT >::NormalizeModelParts ( )
noexcept

Normalizes the model parts of this model output.

Member Data Documentation

◆ m_index_buffer

template<typename VertexT , typename IndexT >
std::vector< IndexT > mage::rendering::ModelOutput< VertexT, IndexT >::m_index_buffer

A vector containing the indices of this model output.

◆ m_material_buffer

template<typename VertexT , typename IndexT >
std::vector< Material > mage::rendering::ModelOutput< VertexT, IndexT >::m_material_buffer

A vector containing the materials of this model output.

◆ m_model_parts

template<typename VertexT , typename IndexT >
AlignedVector< ModelPart > mage::rendering::ModelOutput< VertexT, IndexT >::m_model_parts

A vector containing the model parts of this model output.

◆ m_vertex_buffer

template<typename VertexT , typename IndexT >
std::vector< VertexT > mage::rendering::ModelOutput< VertexT, IndexT >::m_vertex_buffer

A vector containing the vertices of this model output.