35#include <wx/chartype.h> 
   57        Draw( 
false, 1.0f, aUseSelectedMaterial, aSelectionColor, 
nullptr, 
nullptr );
 
 
   66        Draw( 
true, aOpacity, aUseSelectedMaterial, aSelectionColor, 
nullptr, 
nullptr );
 
 
   74    void Draw( 
bool aTransparent, 
float aOpacity, 
bool aUseSelectedMaterial,
 
   76               const glm::mat4 *aModelWorldMatrix,
 
   77               const SFVEC3F *aCameraWorldPos ) 
const;
 
  174                          GLuint* aIdxOut, 
const glm::vec4& aColor );
 
 
declared enumerations and flags
 
MATERIAL_MODE
Render 3d model shape materials mode.
 
Bounding Box class definition.
 
define an internal structure to be used by the 3D renders
 
void DrawBbox() const
Draw main bounding box of the model.
 
bool m_have_opaque_meshes
 
static void EndDrawMulti()
Cleanup render states after drawing multiple models.
 
GLenum m_index_buffer_type
 
MODEL_3D(const S3DMODEL &a3DModel, MATERIAL_MODE aMaterialMode)
Load a 3D model.
 
std::vector< MATERIAL > m_materials
 
static void MakeBbox(const BBOX_3D &aBox, unsigned int aIdxOffset, VERTEX *aVtxOut, GLuint *aIdxOut, const glm::vec4 &aColor)
 
bool HasTransparentMeshes() const
Return true if have transparent mesh's to render.
 
void Draw(bool aTransparent, float aOpacity, bool aUseSelectedMaterial, const SFVEC3F &aSelectionColor, const glm::mat4 *aModelWorldMatrix, const SFVEC3F *aCameraWorldPos) const
Render the model into the current context.
 
static void BeginDrawMulti(bool aUseColorInformation)
Set some basic render states before drawing multiple models.
 
GLuint m_bbox_index_buffer
 
static constexpr unsigned int bbox_idx_count
 
MATERIAL_MODE m_materialMode
 
void DrawBboxes() const
Draw individual bounding boxes of each mesh.
 
static const wxChar * m_logTrace
 
bool m_have_transparent_meshes
 
std::vector< BBOX_3D > m_meshes_bbox
individual bbox for each mesh
 
GLenum m_bbox_index_buffer_type
 
static constexpr unsigned int bbox_vtx_count
 
BBOX_3D m_model_bbox
global bounding box for this model
 
GLuint m_bbox_vertex_buffer
 
bool HasOpaqueMeshes() const
Return true if have opaque meshes to render.
 
void DrawTransparent(float aOpacity, bool aUseSelectedMaterial, SFVEC3F aSelectionColor=SFVEC3F(0.0f)) const
Render the model into the current context.
 
void DrawOpaque(bool aUseSelectedMaterial, SFVEC3F aSelectionColor=SFVEC3F(0.0f)) const
Render the model into the current context.
 
const BBOX_3D & GetBBox() const
Get the main bounding box.
 
includes in a proper way the openGL related includes
 
Manage a bounding box defined by two SFVEC3F min max points.
 
MATERIAL(const SMATERIAL &aOther)
 
bool IsTransparent() const
 
unsigned int m_render_idx_count
 
BBOX_3D m_bbox
bounding box for this material group, used for transparent material ordering.
 
unsigned int m_render_idx_buffer_offset
 
Store the a model based on meshes and materials.
 
float m_Transparency
1.0 is completely transparent, 0.0 completely opaque