31#ifndef vtkDataTransferHelper_h
32#define vtkDataTransferHelper_h
35#include "vtkRenderingOpenGL2Module.h"
74 vtkSetVector6Macro(CPUExtent,
int);
75 vtkGetVector6Macro(CPUExtent,
int);
86 vtkSetVector6Macro(GPUExtent,
int);
87 vtkGetVector6Macro(GPUExtent,
int);
98 vtkSetVector6Macro(TextureExtent,
int);
99 vtkGetVector6Macro(TextureExtent,
int);
138 vtkSetMacro(MinTextureDimension,
int);
139 vtkGetMacro(MinTextureDimension,
int);
183 bool Upload(
int components = 0,
int* componentList =
nullptr);
237 int TextureExtent[6];
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.
static vtkDataTransferHelper * New()
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.
vtkRenderWindow * GetContext()
Get/Set the context.
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 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.
vtkPixelBufferObject * GetPBO()
bool ShaderSupportsTextureInt
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
Hold a reference to a vtkObjectBase instance.
abstracts an OpenGL texture object.
a weak reference to a vtkObject.