15 #ifndef vtkTransformFeedback_h
16 #define vtkTransformFeedback_h
19 #include "vtkRenderingOpenGL2Module.h"
24 VTK_ABI_NAMESPACE_BEGIN
71 const std::vector<VaryingMetaData>&
GetVaryings()
const {
return this->Varyings; }
76 static size_t GetBytesPerVertex(VaryingRole role);
81 size_t GetBytesPerVertex()
const;
94 vtkSetMacro(NumberOfVertices,
size_t);
95 void SetNumberOfVertices(
int drawMode,
size_t inputVerts);
96 vtkGetMacro(NumberOfVertices,
size_t);
103 size_t GetBufferSize()
const;
128 int GetBufferHandle(
int index = 0);
136 vtkSetMacro(PrimitiveMode,
int);
137 vtkGetMacro(PrimitiveMode,
int);
147 void Allocate(
int nbBuffers,
size_t size,
unsigned int hint);
155 void BindBuffer(
bool allocateOneBuffer =
true);
163 void ReadBuffer(
int index = 0);
170 vtkGetMacro(BufferData,
void*);
176 void ReleaseGraphicsResources();
183 void ReleaseBufferData(
bool freeBuffer =
true);
195 std::vector<VaryingMetaData> Varyings;
196 size_t NumberOfVertices;
199 std::vector<vtkOpenGLBufferObject*> Buffers;
202 unsigned char* BufferData;
211 return 4 *
sizeof(float);
213 return 4 *
sizeof(float);
215 return 3 *
sizeof(float);
220 vtkGenericWarningMacro(
"Unknown role enum value: " << role);
224 VTK_ABI_NAMESPACE_END
225 #endif // vtkTransformFeedback_h
abstract base class for most VTK objects
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
window superclass for vtkRenderWindow
a simple class to control print indentation
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
The ShaderProgram uses one or more Shader objects.