![]() |
Radium Engine
1.5.20
|
#include <Engine/Data/Mesh.hpp>
Protected Member Functions | |
void | autoVertexAttribPointer (const ShaderProgram *prog) |
assume m_vao is bound. | |
![]() | |
void | updatePickingRenderMode () |
Update the picking render mode according to the object render mode. | |
Protected Attributes | |
IndexContainerType | m_cpu_indices |
AttribManager | m_attribManager |
![]() | |
std::unique_ptr< globjects::VertexArray > | m_vao |
MeshRenderMode | m_renderMode { MeshRenderMode::RM_TRIANGLES } |
std::vector< std::unique_ptr< globjects::Buffer > > | m_vbos |
std::vector< bool > | m_dataDirty |
std::map< std::string, unsigned int > | m_handleToBuffer |
bool | m_isDirty { false } |
General dirty bit of the mesh. | |
![]() | |
PickingRenderMode | m_pickingRenderMode { NO_PICKING } |
![]() | |
std::unique_ptr< globjects::Buffer > | m_indices { nullptr } |
bool | m_indicesDirty { true } |
size_t | m_numElements { 0 } |
Additional Inherited Members | |
![]() | |
enum | MeshRenderMode : uint { RM_POINTS = 0x0000 , RM_LINES = 0x0001 , RM_LINE_LOOP = 0x0002 , RM_LINE_STRIP = 0x0003 , RM_TRIANGLES = 0x0004 , RM_TRIANGLE_STRIP = 0x0005 , RM_TRIANGLE_FAN = 0x0006 , RM_QUADS = 0x0007 , RM_QUAD_STRIP = 0x0008 , RM_POLYGON = 0x0009 , RM_LINES_ADJACENCY = 0x000A , RM_LINE_STRIP_ADJACENCY = 0x000B , RM_TRIANGLES_ADJACENCY = 0x000C , RM_TRIANGLE_STRIP_ADJACENCY = 0x000D , RM_PATCHES = 0x000E } |
![]() | |
enum | PickingRenderMode { PKM_POINTS = 0 , PKM_LINES = 1 , PKM_LINE_ADJ = 2 , PKM_TRI = 3 , NO_PICKING } |
![]() | |
AttribArrayDisplayable (const std::string &name, MeshRenderMode renderMode=RM_TRIANGLES) | |
AttribArrayDisplayable (const AttribArrayDisplayable &rhs)=delete | |
void | operator= (const AttribArrayDisplayable &rhs)=delete |
void | setRenderMode (MeshRenderMode mode) |
Set the render mode. | |
MeshRenderMode | getRenderMode () const |
Get the render mode. | |
Ra::Core::Utils::optional< gl::GLuint > | getVboHandle (const std::string &name) |
Get opengl's vbo handle (uint) corresponding to attrib name. | |
Ra::Core::Utils::optional< gl::GLuint > | getVaoHandle () |
Get opengl's vao handle (uint). | |
const std::string & | getName () const |
Returns the name of the mesh. | |
void | setDirty (const Core::Geometry::MeshAttrib &type) |
void | setDirty (const std::string &name) |
void | setDirty (unsigned int index) |
virtual const Core::Geometry::AttribArrayGeometry & | getAttribArrayGeometry () const =0 |
virtual Core::Geometry::AttribArrayGeometry & | getAttribArrayGeometry ()=0 |
![]() | |
Displayable (const std::string &name) | |
Displayable (const Displayable &rhs)=delete | |
void | operator= (const Displayable &rhs)=delete |
PickingRenderMode | pickingRenderMode () const |
Returns the picking rendermode advised by the object (default PickingRenderMode::NO_PICKING) | |
const std::string & | getName () const |
Returns the name of the mesh. | |
virtual const Core::Geometry::AbstractGeometry & | getAbstractGeometry () const =0 |
virtual Core::Geometry::AbstractGeometry & | getAbstractGeometry ()=0 |
virtual size_t | getNumFaces () const |
virtual size_t | getNumVertices () const |
![]() | |
void | setIndicesDirty () |
Tag the indices as dirty, asking for a update to gpu. | |
This class handles an attrib array displayable on gpu only, without core geometry. Use only when you don't need to access the cpu geometry again, or when you need to specify special indices.
|
inlineprotected |
|
protected |
|
protected |