Maria GDK 5.0.0.738
Documentation of native code in develop branch
Loading...
Searching...
No Matches
STK::VertexBuffer Class Referenceabstract

#include <StkVertexBuffer.h>

Inheritance diagram for STK::VertexBuffer:
STK::VertexBufferP STK::VertexBufferPC STK::VertexBufferPN STK::VertexBufferPNT STK::VertexBufferPNTWI STK::VertexBufferPNWI STK::VertexBufferPT

Public Member Functions

 VertexBuffer (GLenum usage=GL_STATIC_DRAW)
 
void setUsage (GLenum usage)
 
GLenum getUsage () const
 
virtual void setVertex (int idx, const STK::Vector3f &position, const STK::Vector3f &normal, const STK::Vector2f &texcoord, const STK::RGBA &color, const STK::Vector4f &boneWeights, const unsigned char *boneIndices)=0
 
void setVertex (int idx, const STK::Vector3f &position, const STK::Vector3f &normal, const STK::Vector2f &texcoord)
 
void setVertex (int idx, const STK::Vector3f &position)
 
void setVertex (int idx, const STK::Vector3f &position, const STK::RGBA &color)
 
void setNormal (int idx, const STK::Vector3f &normal)
 
void setTexCoord (int idx, const STK::Vector2f &texcoord)
 
void setVertex (int idx, const STK::Vector3f &position, const STK::Vector3f &normal, const STK::Vector2f &texcoord, const STK::Vector4f &boneWeights, const unsigned char *boneIndices)
 
void addVertex (const STK::Vector3f &position)
 
void addVertex (const STK::Vector3f &position, const STK::Vector3f &normal)
 
void addVertex (const STK::Vector3f &position, const STK::Vector3f &normal, const STK::Vector2f &texcoord, const STK::RGBA &color, const STK::Vector4f &boneWeights, const unsigned char *boneIndices)
 
virtual STK::Vector3f getPosition (int idx) const =0
 
virtual STK::Vector3f getNormal (int) const
 
virtual STK::RGBA getColor (int) const
 
virtual STK::Vector2f getTexCoord (int) const
 
virtual STK::Vector4f getBoneWeights (int) const
 
virtual const unsigned char * getBoneIndices (int) const
 
virtual void initBuffer ()=0
 
virtual void applyVertexAttribs (ShaderProgram &program)=0
 
virtual void disableVertexAttribs (ShaderProgram &program)=0
 
virtual int getSize () const =0
 
virtual void setSize (int size)=0
 
void deleteBuffer ()
 
void setDirty (bool dirty)
 
bool isDirty () const
 
virtual char * data ()=0
 
virtual const char * data () const =0
 

Protected Attributes

GLuint vbo_id_ = 0
 
GLuint vao_id_ = 0
 
GLenum usage_ = 0
 
bool dirty_ = false
 

Detailed Description

VertexBuffer - Base class for OpenGL vertex data buffers. These vertex buffer objects will store the vertex data in system memory and initialize or update the OpenGL buffer objects as required. For arrays that are changed frequently, you should set the usage to GL_STREAM_DRAW.


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