Fraxinus  17.12
An IGT application
cx::GPUImageLutBufferImpl Class Reference
Inheritance diagram for cx::GPUImageLutBufferImpl:
cx::GPUImageLutBuffer

Public Member Functions

 GPUImageLutBufferImpl ()
 
virtual ~GPUImageLutBufferImpl ()
 
virtual int getMemorySize ()
 
virtual void SetColorMap (vtkUnsignedCharArrayPtr table)
 
virtual void allocate ()
 
virtual void updateTexture ()
 
void sendDataToGL ()
 
virtual void bind (int textureUnitIndex)
 
void bindDataToGL ()
 
int getLutSize () const
 
virtual void release ()
 
int getGLTextureForLut (int textureUnitIndex)
 
- Public Member Functions inherited from cx::GPUImageLutBuffer
virtual ~GPUImageLutBuffer ()
 

Public Attributes

GLuint lutBuffer
 
GLuint textureId
 
bool mAllocated
 
vtkUnsignedCharArrayPtr mTable
 
uint64_t mMTime
 

Detailed Description

Helper class for sharing volume and lut buffers over several renderings

Definition at line 253 of file cxGPUImageBuffer.cpp.

Constructor & Destructor Documentation

cx::GPUImageLutBufferImpl::GPUImageLutBufferImpl ( )
inline

Definition at line 262 of file cxGPUImageBuffer.cpp.

virtual cx::GPUImageLutBufferImpl::~GPUImageLutBufferImpl ( )
inlinevirtual

Definition at line 269 of file cxGPUImageBuffer.cpp.

Member Function Documentation

virtual void cx::GPUImageLutBufferImpl::allocate ( )
inlinevirtual

Allocate resources for the lookup table and the volume on the GPU. Prerequisite: SetImage and SetcolorTable has been called.

Call this from inside a PrepareForRendering() methods in vtk.

Implements cx::GPUImageLutBuffer.

Definition at line 293 of file cxGPUImageBuffer.cpp.

virtual void cx::GPUImageLutBufferImpl::bind ( int  textureUnitIndex)
inlinevirtual

If data is changed, send data to GPU.Activate and bind the volume and lut buffers inside the texture units GL_TEXTURE<2X> and GL_TEXTURE<2X+1>. Use during RenderInternal()

Implements cx::GPUImageLutBuffer.

Definition at line 349 of file cxGPUImageBuffer.cpp.

void cx::GPUImageLutBufferImpl::bindDataToGL ( )
inline

Definition at line 362 of file cxGPUImageBuffer.cpp.

int cx::GPUImageLutBufferImpl::getGLTextureForLut ( int  textureUnitIndex)
inline

Definition at line 380 of file cxGPUImageBuffer.cpp.

int cx::GPUImageLutBufferImpl::getLutSize ( ) const
inlinevirtual

Size of lut. Used by fragment shader.

Implements cx::GPUImageLutBuffer.

Definition at line 367 of file cxGPUImageBuffer.cpp.

virtual int cx::GPUImageLutBufferImpl::getMemorySize ( )
inlinevirtual

Definition at line 274 of file cxGPUImageBuffer.cpp.

virtual void cx::GPUImageLutBufferImpl::release ( )
inlinevirtual

Definition at line 372 of file cxGPUImageBuffer.cpp.

void cx::GPUImageLutBufferImpl::sendDataToGL ( )
inline

Definition at line 323 of file cxGPUImageBuffer.cpp.

virtual void cx::GPUImageLutBufferImpl::SetColorMap ( vtkUnsignedCharArrayPtr  table)
inlinevirtual

Definition at line 283 of file cxGPUImageBuffer.cpp.

virtual void cx::GPUImageLutBufferImpl::updateTexture ( )
inlinevirtual

Definition at line 310 of file cxGPUImageBuffer.cpp.

Member Data Documentation

GLuint cx::GPUImageLutBufferImpl::lutBuffer

Definition at line 256 of file cxGPUImageBuffer.cpp.

bool cx::GPUImageLutBufferImpl::mAllocated

Definition at line 258 of file cxGPUImageBuffer.cpp.

uint64_t cx::GPUImageLutBufferImpl::mMTime

Definition at line 260 of file cxGPUImageBuffer.cpp.

vtkUnsignedCharArrayPtr cx::GPUImageLutBufferImpl::mTable

Definition at line 259 of file cxGPUImageBuffer.cpp.

GLuint cx::GPUImageLutBufferImpl::textureId

Definition at line 257 of file cxGPUImageBuffer.cpp.


The documentation for this class was generated from the following file: