31 #ifndef vtkDataTransferHelper_h
32 #define vtkDataTransferHelper_h
35 #include "vtkRenderingOpenGL2Module.h"
39 VTK_ABI_NAMESPACE_BEGIN
75 vtkSetVector6Macro(CPUExtent,
int);
76 vtkGetVector6Macro(CPUExtent,
int);
87 vtkSetVector6Macro(GPUExtent,
int);
88 vtkGetVector6Macro(GPUExtent,
int);
99 vtkSetVector6Macro(TextureExtent,
int);
100 vtkGetVector6Macro(TextureExtent,
int);
139 vtkSetMacro(MinTextureDimension,
int);
140 vtkGetMacro(MinTextureDimension,
int);
184 bool Upload(
int components = 0,
int* componentList =
nullptr);
238 int TextureExtent[6];
258 VTK_ABI_NAMESPACE_END
abstract superclass for arrays of numeric data
is a helper class that aids in transferring data between CPU memory and GPU memory.
vtkWeakPointer< vtkRenderWindow > Context
bool GetTextureExtentIsValid()
Tells if TextureExtent is valid.
bool GetGPUExtentIsValid()
Tells if GPUExtent is valid.
vtkTextureObject * Texture
void SetContext(vtkRenderWindow *context)
Get/Set the context.
bool Upload(int components=0, int *componentList=nullptr)
Old comment.
vtkSmartPointer< vtkPixelBufferObject > PBO
bool Download()
old comment: Download Extent from GPU data buffer to CPU.
vtkPixelBufferObject * GetPBO()
vtkSmartPointer< vtkPixelBufferObject > AsyncDownloadPBO
bool GetExtentIsValid(int *extent)
Tells if the given extent (6 int) is valid.
bool GetCPUExtentIsValid()
Tells if CPUExtent is valid.
bool DownloadAsync1()
Splits the download in two operations.
bool GetShaderSupportsTextureInt()
static vtkDataTransferHelper * New()
static bool IsSupported(vtkRenderWindow *renWin)
Returns if the context supports the required extensions.
~vtkDataTransferHelper() override
bool DownloadAsync2()
Splits the download in two operations.
void SetTexture(vtkTextureObject *texture)
Get/Set the GPU data buffer.
void SetArray(vtkDataArray *array)
Get/Set the CPU data buffer.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
bool ShaderSupportsTextureInt
vtkRenderWindow * GetContext()
Get/Set the context.
void SetShaderSupportsTextureInt(bool value)
a simple class to control print indentation
abstract base class for most VTK objects
abstracts an OpenGL pixel buffer object.
create a window for renderers to draw into
abstracts an OpenGL texture object.