Equalizer  2.0.0
Parallel Rendering Framework
eq::plugin::Compressor Class Reference
+ Inheritance diagram for eq::plugin::Compressor:
+ Collaboration diagram for eq::plugin::Compressor:

Classes

struct  Functions
 

Public Types

typedef void(* CompressorGetInfo_t) (EqCompressorInfo *const )
 
typedef void *(* NewCompressor_t) (const unsigned)
 
typedef void(* Decompress_t) (const void *const *, const eq_uint64_t *const, const unsigned, void *const, const eq_uint64_t, const bool)
 
typedef bool(* IsCompatible_t) (const GLEWContext *)
 
typedef lunchbox::Bufferb Result
 
typedef std::vector< Result * > Results
 

Public Member Functions

 Compressor ()
 Construct a new compressor. More...
 
virtual void compress (const void *const inData, const eq_uint64_t nPixels, const bool useAlpha)
 Compress data. More...
 
const Results & getResults () const
 
unsigned getNResults () const
 
virtual void download (const GLEWContext *glewContext, const eq_uint64_t inDims[4], const unsigned source, const eq_uint64_t flags, eq_uint64_t outDims[4], void **out)
 Transfer frame buffer data into main memory. More...
 
virtual void upload (const GLEWContext *glewContext, const void *buffer, const eq_uint64_t inDims[4], const eq_uint64_t flags, const eq_uint64_t outDims[4], const unsigned destination)
 Transfer data from main memory into GPU memory. More...
 
virtual void startDownload (const GLEWContext *glewContext, const eq_uint64_t inDims[4], const unsigned source, const eq_uint64_t flags)
 Start transferring frame buffer data into main memory. More...
 
virtual void finishDownload (const GLEWContext *glewContext, const eq_uint64_t inDims[4], const eq_uint64_t flags, eq_uint64_t outDims[4], void **out)
 Finish transferring frame buffer data into main memory. More...
 

Static Public Member Functions

static void registerEngine (const Functions &)
 

Protected Attributes

Results _results
 The compressed data.
 
unsigned _nResults
 Number of elements used in _results.
 

Detailed Description

Definition at line 35 of file compressor.h.

Constructor & Destructor Documentation

eq::plugin::Compressor::Compressor ( )

Construct a new compressor.

Member Function Documentation

virtual void eq::plugin::Compressor::compress ( const void *const  inData,
const eq_uint64_t  nPixels,
const bool  useAlpha 
)
inlinevirtual

Compress data.

Parameters
inDatadata to compress.
nPixelsnumber data to compress.
useAlphause alpha channel in compression.

Reimplemented in eq::plugin::CompressorReadDrawPixels, and eq::plugin::CompressorYUV.

Definition at line 72 of file compressor.h.

virtual void eq::plugin::Compressor::download ( const GLEWContext *  glewContext,
const eq_uint64_t  inDims[4],
const unsigned  source,
const eq_uint64_t  flags,
eq_uint64_t  outDims[4],
void **  out 
)
inlinevirtual

Transfer frame buffer data into main memory.

Parameters
glewContextthe initialized GLEW context describing corresponding to the current OpenGL context.
inDimsthe dimensions of the input data (x, w, y, h).
sourcetexture name to process.
flagscapability flags for the compression (see description).
outDimsthe dimensions of the output data (see description).
outthe pointer to the output data.

Definition at line 96 of file compressor.h.

virtual void eq::plugin::Compressor::finishDownload ( const GLEWContext *  glewContext,
const eq_uint64_t  inDims[4],
const eq_uint64_t  flags,
eq_uint64_t  outDims[4],
void **  out 
)
inlinevirtual

Finish transferring frame buffer data into main memory.

Parameters
glewContextthe initialized GLEW context describing corresponding to the current OpenGL context.
inDimsthe dimensions of the input data (x, w, y, h).
flagscapability flags for the compression (see description).
outDimsthe dimensions of the output data (see description).
outthe pointer to the output data.
Version
4

Definition at line 150 of file compressor.h.

unsigned eq::plugin::Compressor::getNResults ( ) const
inline
Returns
the number of result items produced.

Definition at line 83 of file compressor.h.

References _nResults.

const Results& eq::plugin::Compressor::getResults ( ) const
inline
Returns
the vector containing the result data.

Definition at line 80 of file compressor.h.

References _results.

virtual void eq::plugin::Compressor::startDownload ( const GLEWContext *  glewContext,
const eq_uint64_t  inDims[4],
const unsigned  source,
const eq_uint64_t  flags 
)
inlinevirtual

Start transferring frame buffer data into main memory.

Parameters
glewContextthe initialized GLEW context describing corresponding to the current OpenGL context.
inDimsthe dimensions of the input data (x, w, y, h).
sourcetexture name, if EQ_COMPRESSOR_USE_TEXTURE_2D or EQ_COMPRESSOR_USE_TEXTURE_RECT is set.
flagscapability flags for the compression (see description).
Version
4

Definition at line 133 of file compressor.h.

virtual void eq::plugin::Compressor::upload ( const GLEWContext *  glewContext,
const void *  buffer,
const eq_uint64_t  inDims[4],
const eq_uint64_t  flags,
const eq_uint64_t  outDims[4],
const unsigned  destination 
)
inlinevirtual

Transfer data from main memory into GPU memory.

Parameters
glewContextthe initialized GLEW context describing corresponding to the current OpenGL context.
bufferthe datas input.
inDimsthe dimension of data in the frame buffer.
flagscapability flags for the compression.
outDimsthe result data size
destinationthe destination texture name.

Definition at line 114 of file compressor.h.


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