34 #ifndef CXGPUIMAGEBUFFER_H_
35 #define CXGPUIMAGEBUFFER_H_
37 #include "cxResourceExport.h"
40 #include <boost/shared_ptr.hpp>
41 #include <boost/weak_ptr.hpp>
68 virtual void allocate() = 0;
77 virtual void bind(
int textureUnitIndex) = 0;
78 virtual int getMemorySize() = 0;
85 virtual unsigned int getTextureUid()
const = 0;
108 virtual void allocate() = 0;
116 virtual void bind(
int textureUnitIndex) = 0;
119 virtual int getLutSize()
const = 0;
137 static void shutdown();
141 int getMemoryUsage(
int *textures);
Helper class for sharing GPU memory over several Views (GL contexts).
GPUImageDataBufferPtr createGPUImageDataBuffer(vtkImageDataPtr volume)
virtual ~GPUImageLutBuffer()
Repository for GPU buffers.
vtkSmartPointer< class vtkUnsignedCharArray > vtkUnsignedCharArrayPtr
boost::weak_ptr< class GPUImageDataBuffer > GPUImageDataBufferWeakPtr
boost::weak_ptr< class GPUImageLutBuffer > GPUImageLutBufferWeakPtr
GPUImageLutBufferPtr createGPUImageLutBuffer(vtkUnsignedCharArrayPtr lut)
boost::shared_ptr< class GPUImageDataBuffer > GPUImageDataBufferPtr
boost::shared_ptr< class GPUImageLutBuffer > GPUImageLutBufferPtr
virtual ~GPUImageDataBuffer()
Helper class for sharing GPU memory over several Views (GL contexts).