13 #ifndef CXGPUIMAGEBUFFER_H_ 14 #define CXGPUIMAGEBUFFER_H_ 16 #include "cxResourceExport.h" 19 #include <boost/shared_ptr.hpp> 20 #include <boost/weak_ptr.hpp> 47 virtual void allocate(
int textureUnitIndex) = 0;
56 virtual void bind(
int textureUnitIndex) = 0;
57 virtual int getMemorySize() = 0;
64 virtual unsigned int getTextureUid()
const = 0;
87 virtual void allocate() = 0;
95 virtual void bind(
int textureUnitIndex) = 0;
98 virtual int getLutSize()
const = 0;
116 static void shutdown();
120 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).
GPUImageBufferRepository * getGPUImageBufferRepository()
Namespace for all CustusX production code.