31 #include "vtkObject.h"
32 #include "vtkWeakPointer.h"
41 class vtkUnsignedCharArray;
42 class vtkOpenGLExtensionManager;
43 class vtkRenderWindow;
51 void PrintSelf(ostream& os, vtkIndent indent)
override;
59 void SetContext(vtkRenderWindow* context);
60 vtkRenderWindow* GetContext();
95 vtkGetMacro(Usage,
int);
96 vtkSetMacro(Usage,
int);
98 int GetAttributeIndex();
99 void SetUserDefinedAttribute(
int index,
bool normalized=
false,
int stride=0);
100 void ResetUserDefinedAttribute();
102 void SetAttributeNormalized(
bool normalized);
106 bool Upload(vtkPoints *points);
110 bool Upload(vtkCellArray *verts);
114 bool Upload(
unsigned int *indices,
unsigned int count);
118 bool Upload(vtkUnsignedCharArray *colors);
122 bool Upload(vtkDataArray *array);
123 bool Upload(vtkDataArray *array,
int attributeType,
int arrayType);
124 bool UploadNormals(vtkDataArray *normals);
125 bool UploadColors(vtkDataArray *colors);
131 vtkGetMacro(Size,
unsigned int);
136 vtkGetMacro(Count,
unsigned int);
140 vtkGetMacro(Handle,
unsigned int);
158 void ReleaseMemory();
162 static bool IsSupported(vtkRenderWindow* renWin);
173 bool LoadRequiredExtensions(vtkOpenGLExtensionManager* mgr);
181 void DestroyBuffer();
185 bool Upload(GLvoid* data);
189 vtkGetMacro(ArrayType,
unsigned int);
212 int GetDataTypeSize(
int type);