Equalizer
1.8.0
Parallel Rendering Framework
|
A holder for a frame data and related parameters. More...
#include <frame.h>
Public Member Functions | |
EQ_API | Frame () |
Construct a new frame. More... | |
virtual EQ_API | ~Frame () |
Destruct the frame. More... | |
Data Access | |
EQ_API const std::string & | getName () const |
EQ_API const Range & | getRange () const |
EQ_API const Pixel & | getPixel () const |
EQ_API const SubPixel & | getSubPixel () const |
EQ_API uint32_t | getPeriod () const |
EQ_API uint32_t | getPhase () const |
EQ_API void | setZoomFilter (const ZoomFilter zoomFilter) |
Set the filter applied to zoomed assemble operations. More... | |
EQ_API ZoomFilter | getZoomFilter () const |
EQ_API const Images & | getImages () const |
EQ_API void | setFrameData (FrameDataPtr data) |
Set the data for this frame. More... | |
EQ_API FrameDataPtr | getFrameData () |
EQ_API ConstFrameDataPtr | getFrameData () const |
EQ_API uint32_t | getBuffers () const |
EQ_API void | disableBuffer (const Buffer buffer) |
Disable the usage of a frame buffer attachment for all images. More... | |
EQ_API void | setAlphaUsage (const bool useAlpha) |
Set alpha usage for newly allocated images. More... | |
EQ_API void | setQuality (const Frame::Buffer buffer, const float quality) |
Set the minimum quality after compression. More... | |
EQ_API void | useCompressor (const Frame::Buffer buffer, const uint32_t name) |
Sets a compressor for compression for following transmissions. More... | |
Operations | |
EQ_API void | clear () |
void | deleteGLObjects (util::ObjectManager &om) |
EQ_API void | readback (util::ObjectManager &glObjects, const DrawableConfig &config) |
Read back an image. More... | |
EQ_API void | readback (util::ObjectManager &glObjects, const DrawableConfig &config, const PixelViewports ®ions) |
Read back a set of images. More... | |
EQ_API Images | startReadback (util::ObjectManager &glObjects, const DrawableConfig &config, const PixelViewports ®ions) |
Start reading back a set of images for this frame. More... | |
void | setReady () |
Set the frame ready. More... | |
EQ_API bool | isReady () const |
Test the readiness of the frame. More... | |
EQ_API void | waitReady (const uint32_t timeout=LB_TIMEOUT_INDEFINITE) const |
Wait for the frame to become available. More... | |
void | addListener (lunchbox::Monitor< uint32_t > &listener) |
Add a listener which will be incremented when the frame is ready. More... | |
void | removeListener (lunchbox::Monitor< uint32_t > &listener) |
Remove a frame listener. More... | |
Public Member Functions inherited from eq::fabric::Frame | |
EQFABRIC_API | Frame () |
Construct a new frame. More... | |
EQFABRIC_API const std::vector < uint128_t > & | getInputNodes (const Eye eye) const |
EQFABRIC_API const co::NodeIDs & | getInputNetNodes (const Eye eye) const |
EQFABRIC_API void | setName (const std::string &name) |
Set the name of the frame. More... | |
EQFABRIC_API const std::string & | getName () const |
EQFABRIC_API const Vector2i & | getOffset () const |
EQFABRIC_API void | setOffset (const Vector2i &offset) |
Set the position of the frame wrt the channel. More... | |
EQFABRIC_API void | setZoom (const Zoom &zoom) |
Set the zoom for this frame holder. More... | |
EQFABRIC_API const Zoom & | getZoom () const |
EQFABRIC_API const co::ObjectVersion & | getDataVersion (const Eye) const |
Additional Inherited Members | |
Public Types inherited from eq::fabric::Frame | |
enum | Buffer { BUFFER_NONE = LB_BIT_NONE, BUFFER_UNDEFINED = LB_BIT1, BUFFER_COLOR = LB_BIT5, BUFFER_DEPTH = LB_BIT9, BUFFER_ALL = LB_BIT_ALL_32 } |
The buffer format defines which components of the frame are to be used during readback and assembly. More... | |
enum | Type { TYPE_MEMORY, TYPE_TEXTURE } |
The storage type for pixel data. More... | |
Protected Member Functions inherited from eq::fabric::Frame | |
virtual ChangeType | getChangeType () const |
virtual EQFABRIC_API void | getInstanceData (co::DataOStream &os) |
virtual EQFABRIC_API void | applyInstanceData (co::DataIStream &is) |
EQFABRIC_API void | _setDataVersion (const unsigned i, const co::ObjectVersion &ov) |
EQFABRIC_API std::vector < uint128_t > & | _getInputNodes (const unsigned i) |
EQFABRIC_API co::NodeIDs & | _getInputNetNodes (const unsigned i) |
A holder for a frame data and related parameters.
A Frame has to be set up with a FrameData which ultimately holds the pixel data using images. Input and output frames provided by the eq::Channel are set up correctly with FrameData to connect one output frame to one ore more input frames. Some Frame parameters are (input-)frame-specific, while others are set by the output frame on its data and therefore shared between all input frames.
Definition at line 42 of file client/frame.h.
EQ_API eq::Frame::Frame | ( | ) |
Construct a new frame.
|
virtual |
void eq::Frame::addListener | ( | lunchbox::Monitor< uint32_t > & | listener | ) |
Add a listener which will be incremented when the frame is ready.
listener | the listener. |
EQ_API void eq::Frame::disableBuffer | ( | const Buffer | buffer | ) |
Disable the usage of a frame buffer attachment for all images.
buffer | the buffer to disable. |
Referenced by eVolve::Channel::frameReadback().
EQ_API uint32_t eq::Frame::getBuffers | ( | ) | const |
EQ_API FrameDataPtr eq::Frame::getFrameData | ( | ) |
Referenced by eqPixelBench::Channel::configExit(), eVolve::Channel::configExit(), eVolve::Channel::frameAssemble(), and eVolve::Channel::frameReadback().
EQ_API ConstFrameDataPtr eq::Frame::getFrameData | ( | ) | const |
EQ_API const Images& eq::Frame::getImages | ( | ) | const |
Referenced by eVolve::Channel::frameAssemble().
EQ_API const std::string& eq::Frame::getName | ( | ) | const |
EQ_API uint32_t eq::Frame::getPeriod | ( | ) | const |
Referenced by eqPly::Channel::frameAssemble().
EQ_API uint32_t eq::Frame::getPhase | ( | ) | const |
EQ_API const Pixel& eq::Frame::getPixel | ( | ) | const |
EQ_API const Range& eq::Frame::getRange | ( | ) | const |
Referenced by eVolve::Channel::frameAssemble().
EQ_API const SubPixel& eq::Frame::getSubPixel | ( | ) | const |
Referenced by eqPly::Channel::frameAssemble().
EQ_API ZoomFilter eq::Frame::getZoomFilter | ( | ) | const |
EQ_API bool eq::Frame::isReady | ( | ) | const |
Test the readiness of the frame.
EQ_API void eq::Frame::readback | ( | util::ObjectManager & | glObjects, |
const DrawableConfig & | config | ||
) |
Read back an image.
The image is added to the data, existing images are retained.
glObjects | the GL object manager for the current GL context. |
config | the configuration of the source frame buffer. |
Referenced by eVolve::Channel::frameAssemble().
EQ_API void eq::Frame::readback | ( | util::ObjectManager & | glObjects, |
const DrawableConfig & | config, | ||
const PixelViewports & | regions | ||
) |
Read back a set of images.
The images are added to the data, existing images are retained.
glObjects | the GL object manager for the current GL context. |
config | the configuration of the source frame buffer. |
regions | the areas to read back. |
void eq::Frame::removeListener | ( | lunchbox::Monitor< uint32_t > & | listener | ) |
Remove a frame listener.
listener | the listener. |
EQ_API void eq::Frame::setAlphaUsage | ( | const bool | useAlpha | ) |
Set alpha usage for newly allocated images.
Referenced by eqPly::Channel::frameReadback().
EQ_API void eq::Frame::setFrameData | ( | FrameDataPtr | data | ) |
Set the data for this frame.
EQ_API void eq::Frame::setQuality | ( | const Frame::Buffer | buffer, |
const float | quality | ||
) |
Set the minimum quality after compression.
Referenced by eVolve::Channel::frameReadback(), and eqPly::Channel::frameReadback().
void eq::Frame::setReady | ( | ) |
Set the frame ready.
Equalizer sets the frame automatically ready after readback and after network transmission.
EQ_API void eq::Frame::setZoomFilter | ( | const ZoomFilter | zoomFilter | ) |
Set the filter applied to zoomed assemble operations.
EQ_API Images eq::Frame::startReadback | ( | util::ObjectManager & | glObjects, |
const DrawableConfig & | config, | ||
const PixelViewports & | regions | ||
) |
Start reading back a set of images for this frame.
The newly read images are added to the data, existing images are retained. The finish for the new images has to be done by the caller. The regions are relative to the current OpenGL viewport.
glObjects | the GL object manager for the current GL context. |
config | the configuration of the source frame buffer. |
regions | the areas to read back. |
EQ_API void eq::Frame::useCompressor | ( | const Frame::Buffer | buffer, |
const uint32_t | name | ||
) |
Sets a compressor for compression for following transmissions.
Referenced by eqPly::Channel::frameReadback().
EQ_API void eq::Frame::waitReady | ( | const uint32_t | timeout = LB_TIMEOUT_INDEFINITE | ) | const |
Wait for the frame to become available.
Referenced by eVolve::Channel::frameAssemble().