Go to the documentation of this file.
60 #ifndef vtkOpenGLVertexBufferObjectGroup_h
61 #define vtkOpenGLVertexBufferObjectGroup_h
63 #include "vtkRenderingOpenGL2Module.h"
181 std::map<std::string, vtkOpenGLVertexBufferObject*>
UsedVBOs;
int GetNumberOfComponents(const char *attribute)
Returns the number of components for this attribute zero if the attribute does not exist.
void CacheDataArray(const char *attribute, vtkDataArray *da, vtkViewport *vp, int destType)
int GetNumberOfTuples(const char *attribute)
Returns the number of tuples for this attribute zero if the attribute does not exist.
std::map< std::string, std::vector< vtkDataArray * > > UsedDataArrays
vtkOpenGLVertexBufferObjectGroup()
abstract base class for most VTK objects
void BuildAllVBOs(vtkOpenGLVertexBufferObjectCache *)
using the data arrays in this group build all the VBOs, once this has been called the reference to th...
abstract superclass for arrays of numeric data
~vtkOpenGLVertexBufferObjectGroup() override
void BuildAllVBOs(vtkViewport *)
vtkOpenGLVertexBufferObject * GetVBO(const char *attribute)
Returns the VBO for an attribute, NULL if it is not present.
void RemoveAttribute(const char *attribute)
used to remove a no longer needed attribute Calling CacheDataArray with a nullptr attribute will also...
window superclass for vtkRenderWindow
void CacheDataArray(const char *attribute, vtkDataArray *da, vtkOpenGLVertexBufferObjectCache *cache, int destType)
Set the data array for an attribute in the VBO Group registers the data array until build is called o...
void AddAllAttributesToVAO(vtkShaderProgram *program, vtkOpenGLVertexArrayObject *vao)
Attach all VBOs to their attributes.
void ReleaseGraphicsResources(vtkWindow *)
Release any graphics resources that are being consumed by this mapper.
vtkMTimeType GetMTime() override
Get the mtime of this groups VBOs.
manage vertex buffer objects shared within a mapper
The ShaderProgram uses one or more Shader objects.
a simple class to control print indentation
static vtkOpenGLVertexBufferObjectGroup * New()
bool ArrayExists(const char *attribute, vtkDataArray *da, vtkIdType &offset, vtkIdType &totalOffset)
Check if the array already exists.
std::map< std::string, vtkOpenGLVertexBufferObject * > UsedVBOs
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
abstract specification for Viewports
std::map< std::string, std::map< vtkDataArray *, vtkIdType > > UsedDataArrayMaps
std::map< std::string, vtkIdType > UsedDataArraySizes
manage vertex buffer objects shared within a context
void ClearAllDataArrays()
Clear all the data arrays.
void AppendDataArray(const char *attribute, vtkDataArray *da, int destType)
Append a data array for an attribute in the VBO Group registers the data array until build is called.
The VertexArrayObject class uses, or emulates, vertex array objects.
void ClearAllVBOs()
Force all the VBOs to be freed from this group.
vtkTypeUInt32 vtkMTimeType