Fillwave  10.0.0
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
flw::flc::TVertexBuffer< T > Class Template Referenceabstract

Template for all vertex buffers. More...

#include <TVertexBuffer.h>

Inheritance diagram for flw::flc::TVertexBuffer< T >:
flw::flc::IBuffer

Public Member Functions

 TVertexBuffer (GLuint dataStoreModification=GL_STATIC_DRAW)
 
 TVertexBuffer (const std::vector< T > &vertices, GLuint dataStoreModification=GL_STATIC_DRAW)
 
 TVertexBuffer (flf::Shape< T > &shape, GLuint dataStoreModification=GL_STATIC_DRAW)
 
void load (T element)
 
void initAttributes (GLint programHandle)
 
void attributesSetForVAO ()
 
void attributesEnable ()
 
void reload ()
 
void attributesSetPointer ()
 
T * getDataInternal ()
 
void emptyCPU () override
 
void emptyGPU () override
 
virtual void log () const =0
 
- Public Member Functions inherited from flw::flc::IBuffer
 IBuffer (GLuint target, GLuint drawType=GL_STATIC_DRAW, GLuint index=0, GLsizei howMany=1)
 
void bind (GLuint id=0) const
 
void bind (GLuint externalTarget, GLuint id) const
 
void bindBase (GLuint id=0) const
 
void bindBase (GLuint externalTarget, GLuint id) const
 
void unbind ()
 
void unbindBase (GLuint externalTarget)
 
void unmap () const
 
void send ()
 
void setTarget (GLuint target)
 
void setDrawType (GLuint drawType)
 
bool isLoaded ()
 
void setLoaded (bool loaded)
 
GLuint getElements () const
 
GLuint getSize () const
 
GLvoid * getData () const
 
void reload ()
 
GLvoid * mapRange (GLenum access, GLuint size=0)
 
GLvoid * map (GLenum access) const
 
GLuint getHandle (GLuint id=0)
 

Protected Member Functions

void getAttributes (GLint programHandle)
 
void attributesBind (GLint programHandle)
 
- Protected Member Functions inherited from flw::flc::IBuffer
void setElements (GLuint elements)
 
void setSize (GLuint size)
 

Protected Attributes

std::vector< T > mDataVertices
 
- Protected Attributes inherited from flw::flc::IBuffer
GLsizei mHowMany
 
GLuint mHandles [FILLWAVE_GLOBJECTS_MAX]
 
bool mLoaded
 
GLuint mTarget
 
GLuint mDataStoreType
 
GLuint mIndex
 
GLvoid * mData
 
GLsizeiptr mSize
 
GLuint mTotalElements
 

Detailed Description

template<class T>
class flw::flc::TVertexBuffer< T >

Template for all vertex buffers.


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