Developer Documentation
ACG::DrawMeshBase Class Reference

#include <OpenFlipper/libs_required/ACG/GL/DrawMesh.hh>

Inheritance diagram for ACG::DrawMeshBase:
ACG::DrawMeshT< Mesh > ACG::DrawMeshT< MeshT > ACG::DrawMeshT< OpenMesh::TriMesh_ArrayKernelT > ACG::DrawMeshT< PolyMesh > ACG::DrawMeshT< TriMesh >

Public Member Functions

size_t getNumTris () const
 
size_t getNumVerts () const
 
MeshCompilergetMeshCompiler ()
 get mesh compiler used to create the draw mesh
 
unsigned int getNumSubsets () const
 
GLenum getIndexType () const
 get index type of index buffer
 
GLuint pickVertexIBO_opt ()
 get an index buffer mapping from openmesh vertices to drawmesh vbo vertices More...
 

Protected Member Functions

void deleteIbo ()
 
void bindVbo ()
 
void bindIbo ()
 
void bindLineIbo ()
 
void bindHEVbo ()
 
void unbindHEVbo ()
 
void bindPickVertexIbo ()
 
void createIndexBuffer ()
 
void fillLineBuffer (size_t n_edges, void *data)
 
void fillHEVBO (size_t numberOfElements_, size_t sizeOfElements_, void *data_)
 
void fillVertexBuffer ()
 
void fillInvVertexMap (size_t n_vertices, void *data)
 

Protected Attributes

GLuint vbo_
 
GLuint ibo_
 
size_t numTris_
 
size_t numVerts_
 
MeshCompilermeshComp_
 
GLuint lineIBO_
 index buffer used in Wireframe / Hiddenline mode
 
GLuint heVBO_
 vbo for halfedge rendering, as they are offset
 
GLint prevVBO_
 
GLenum indexType_
 support for 2 and 4 byte unsigned integers
 
std::vector< char > vertices_
 
VertexDeclarationvertexDecl_
 vertex buffer layout declaration with per vertex colors
 
VertexDeclarationvertexDeclEdgeCol_
 vertex buffer layout declaration with per edge colors
 
VertexDeclarationvertexDeclHalfedgeCol_
 vertex buffer layout declaration with per halfedge colors
 
VertexDeclarationvertexDeclHalfedgePos_
 vertex buffer layout declaration with halfedge positions only
 
GLuint pickVertexIBO_
 map from openmesh vertex to vbo vertex id
 

Detailed Description

This class holds non-templated code and is intended to be inherited by the templated DrawMeshT class.

Definition at line 85 of file DrawMesh.hh.

Member Function Documentation

◆ pickVertexIBO_opt()

GLuint ACG::DrawMeshBase::pickVertexIBO_opt ( )
inline

get an index buffer mapping from openmesh vertices to drawmesh vbo vertices

Returns
index buffer object (UNSIGNED_INT), might be 0 if the openmesh object is a point cloud

Definition at line 121 of file DrawMesh.hh.

Member Data Documentation

◆ vertices_

std::vector<char> ACG::DrawMeshBase::vertices_
protected

final vertex buffer used for rendering raw byte array, use write__() functions for access

Definition at line 143 of file DrawMesh.hh.


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