VTK
|
The VertexArrayObject class uses, or emulates, vertex array objects. More...
#include <vtkOpenGLVertexArrayObject.h>
Public Types | |
typedef vtkObject | Superclass |
Public Types inherited from vtkObject | |
typedef vtkObjectBase | Superclass |
Public Member Functions | |
virtual int | IsA (const char *type) |
vtkOpenGLVertexArrayObject * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) |
void | Bind () |
void | Release () |
void | ReleaseGraphicsResources () |
void | ShaderProgramChanged () |
bool | AddAttributeArray (vtkShaderProgram *program, vtkOpenGLBufferObject *buffer, const std::string &name, int offset, size_t stride, int elementType, int elementTupleSize, bool normalize) |
bool | AddAttributeArrayWithDivisor (vtkShaderProgram *program, vtkOpenGLBufferObject *buffer, const std::string &name, int offset, size_t stride, int elementType, int elementTupleSize, bool normalize, int divisor, bool isMatrix) |
bool | AddAttributeMatrixWithDivisor (vtkShaderProgram *program, vtkOpenGLBufferObject *buffer, const std::string &name, int offset, size_t stride, int elementType, int elementTupleSize, bool normalize, int divisor) |
bool | RemoveAttributeArray (const std::string &name) |
void | SetForceEmulation (bool val) |
Public Member Functions inherited from vtkObject | |
vtkObject * | NewInstance () const |
virtual void | DebugOn () |
virtual void | DebugOff () |
bool | GetDebug () |
void | SetDebug (bool debugFlag) |
virtual void | Modified () |
virtual unsigned long | GetMTime () |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
int | HasObserver (unsigned long event) |
int | HasObserver (const char *event) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
Public Member Functions inherited from vtkObjectBase | |
const char * | GetClassName () const |
virtual void | Delete () |
virtual void | FastDelete () |
void | Print (ostream &os) |
virtual void | Register (vtkObjectBase *o) |
virtual void | UnRegister (vtkObjectBase *o) |
void | SetReferenceCount (int) |
void | PrintRevisions (ostream &) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
Static Public Member Functions | |
static vtkOpenGLVertexArrayObject * | New () |
static int | IsTypeOf (const char *type) |
static vtkOpenGLVertexArrayObject * | SafeDownCast (vtkObjectBase *o) |
Static Public Member Functions inherited from vtkObject | |
static int | IsTypeOf (const char *type) |
static vtkObject * | SafeDownCast (vtkObjectBase *o) |
static vtkObject * | New () |
static void | BreakOnError () |
static void | SetGlobalWarningDisplay (int val) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
Static Public Member Functions inherited from vtkObjectBase | |
static int | IsTypeOf (const char *name) |
static vtkObjectBase * | New () |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkOpenGLVertexArrayObject () | |
~vtkOpenGLVertexArrayObject () | |
Protected Member Functions inherited from vtkObject | |
vtkObject () | |
virtual | ~vtkObject () |
virtual void | RegisterInternal (vtkObjectBase *, int check) |
virtual void | UnRegisterInternal (vtkObjectBase *, int check) |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
void | InternalReleaseFocus () |
Protected Member Functions inherited from vtkObjectBase | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | CollectRevisions (ostream &) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Additional Inherited Members | |
Protected Attributes inherited from vtkObject | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
Protected Attributes inherited from vtkObjectBase | |
vtkAtomicInt32 | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
The VertexArrayObject class uses, or emulates, vertex array objects.
These are extremely useful for setup/tear down of vertex attributes, and can offer significant performance benefits when the hardware supports them.
It should be noted that this object is very lightweight, and it assumes the objects being used are correctly set up. Even without support for VAOs this class caches the array locations, types, etc and avoids repeated look ups. It it bound to a single ShaderProgram object.
Definition at line 35 of file vtkOpenGLVertexArrayObject.h.
Definition at line 39 of file vtkOpenGLVertexArrayObject.h.
|
protected |
|
protected |
|
static |
|
static |
|
virtual |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkObject.
|
static |
|
protectedvirtual |
Reimplemented from vtkObject.
vtkOpenGLVertexArrayObject* vtkOpenGLVertexArrayObject::NewInstance | ( | ) | const |
|
virtual |
void vtkOpenGLVertexArrayObject::Bind | ( | ) |
void vtkOpenGLVertexArrayObject::Release | ( | ) |
void vtkOpenGLVertexArrayObject::ReleaseGraphicsResources | ( | ) |
void vtkOpenGLVertexArrayObject::ShaderProgramChanged | ( | ) |
|
inline |
Definition at line 50 of file vtkOpenGLVertexArrayObject.h.
bool vtkOpenGLVertexArrayObject::AddAttributeArrayWithDivisor | ( | vtkShaderProgram * | program, |
vtkOpenGLBufferObject * | buffer, | ||
const std::string & | name, | ||
int | offset, | ||
size_t | stride, | ||
int | elementType, | ||
int | elementTupleSize, | ||
bool | normalize, | ||
int | divisor, | ||
bool | isMatrix | ||
) |
bool vtkOpenGLVertexArrayObject::AddAttributeMatrixWithDivisor | ( | vtkShaderProgram * | program, |
vtkOpenGLBufferObject * | buffer, | ||
const std::string & | name, | ||
int | offset, | ||
size_t | stride, | ||
int | elementType, | ||
int | elementTupleSize, | ||
bool | normalize, | ||
int | divisor | ||
) |
bool vtkOpenGLVertexArrayObject::RemoveAttributeArray | ( | const std::string & | name | ) |
void vtkOpenGLVertexArrayObject::SetForceEmulation | ( | bool | val | ) |