27 #ifndef vtkTransformFeedback_h
28 #define vtkTransformFeedback_h
30 #include "vtkRenderingOpenGL2Module.h"
61 : Role(role), Identifier(id) {}
81 return this->Varyings;
87 static size_t GetBytesPerVertex(VaryingRole role);
92 size_t GetBytesPerVertex()
const;
105 vtkSetMacro(NumberOfVertices,
size_t)
106 void SetNumberOfVertices(
int drawMode,
size_t inputVerts);
107 vtkGetMacro(NumberOfVertices,
size_t)
114 size_t GetBufferSize()
const;
139 int GetBufferHandle(
int index = 0);
147 vtkSetMacro(PrimitiveMode,
int)
148 vtkGetMacro(PrimitiveMode,
int)
158 void Allocate(
int nbBuffers,
size_t size,
unsigned int hint);
166 void BindBuffer(
bool allocateOneBuffer =
true);
174 void ReadBuffer(
int index = 0);
181 vtkGetMacro(BufferData,
void*)
187 void ReleaseGraphicsResources();
194 void ReleaseBufferData(
bool freeBuffer =
true);
206 std::vector<VaryingMetaData> Varyings;
207 size_t NumberOfVertices;
210 std::vector<vtkOpenGLBufferObject*> Buffers;
213 unsigned char *BufferData;
223 return 4 *
sizeof(
float);
225 return 4 *
sizeof(
float);
227 return 3 *
sizeof(
float);
232 vtkGenericWarningMacro(
"Unknown role enum value: " << role);
236 #endif // vtkTransformFeedback_h