Equalizer 1.0

eqPly::Channel Class Reference

The rendering entity, updating a part of a Window. More...

#include <channel.h>

Inheritance diagram for eqPly::Channel:
Collaboration diagram for eqPly::Channel:

List of all members.

Classes

struct  Accum

Public Member Functions

 Channel (eq::Window *parent)
 Construct a new channel.
bool stopRendering () const

Protected Member Functions

virtual ~Channel ()
 Destruct the channel.
virtual bool configInit (const eq::uint128_t &initID)
 Initialize this channel.
virtual bool configExit ()
 Exit this channel.
virtual void frameClear (const eq::uint128_t &frameID)
 Clear the frame buffer.
virtual void frameDraw (const eq::uint128_t &frameID)
 Draw the scene.
virtual void frameAssemble (const eq::uint128_t &frameID)
 Assemble all input frames.
virtual void frameReadback (const eq::uint128_t &frameID)
 Read back the rendered frame buffer into all output frames.
virtual void frameStart (const eq::uint128_t &frameID, const uint32_t frameNumber)
 Start rendering a frame.
virtual void frameFinish (const eq::uint128_t &frameID, const uint32_t frameNumber)
 Finish rendering a frame.
virtual void frameViewStart (const eq::uint128_t &frameID)
 Start updating a destination channel.
virtual void frameViewFinish (const eq::uint128_t &frameID)
 Finish updating a destination channel.
virtual bool useOrtho () const
 Select perspective or orthographic rendering.
virtual eq::Vector2f getJitter () const
virtual void notifyStopFrame (const uint32_t lastFrameNumber)
 Notify interruption of the rendering.

Detailed Description

The rendering entity, updating a part of a Window.

Definition at line 48 of file share/Equalizer/examples/eqPly/channel.h.


Constructor & Destructor Documentation

eqPly::Channel::Channel ( eq::Window parent)

Construct a new channel.

Version:
1.0

Reimplemented from eq::Channel.

Definition at line 61 of file eqPly/channel.cpp.

virtual eqPly::Channel::~Channel ( ) [inline, protected, virtual]

Destruct the channel.

Version:
1.0

Reimplemented from eq::Channel.

Definition at line 56 of file share/Equalizer/examples/eqPly/channel.h.


Member Function Documentation

bool eqPly::Channel::configExit ( ) [protected, virtual]

Exit this channel.

Version:
1.0

Reimplemented from eq::Channel.

Definition at line 80 of file eqPly/channel.cpp.

bool eqPly::Channel::configInit ( const eq::uint128_t initID) [protected, virtual]

Initialize this channel.

Parameters:
initIDthe init identifier.
Version:
1.0

Reimplemented from eq::Channel.

Definition at line 69 of file eqPly/channel.cpp.

References eq::Channel::configInit(), eq::fabric::Channel< Window, Channel >::setNearFar(), and co::base::UUID::ZERO.

Here is the call graph for this function:

void eqPly::Channel::frameAssemble ( const eq::uint128_t frameID) [protected, virtual]
void eqPly::Channel::frameClear ( const eq::uint128_t frameID) [protected, virtual]

Clear the frame buffer.

Called 0 to n times during one frame.

Parameters:
frameIDthe per-frame identifier.
Version:
1.0

Reimplemented from eq::Channel.

Definition at line 91 of file eqPly/channel.cpp.

References eq::Channel::applyBuffer(), eq::Channel::applyViewport(), eq::fabric::Channel< Window, Channel >::getEye(), co::Object::getID(), co::base::getIndexOfLastBit(), eq::Channel::getUniqueColor(), and eq::Channel::getView().

Here is the call graph for this function:

void eqPly::Channel::frameDraw ( const eq::uint128_t frameID) [protected, virtual]

Draw the scene.

Called 0 to n times during one frame.

Parameters:
frameIDthe per-frame identifier.
Version:
1.0

Reimplemented from eq::Channel.

Definition at line 123 of file eqPly/channel.cpp.

References eqPly::COLOR_DEMO, eq::fabric::Channel< Window, Channel >::getEye(), co::base::getIndexOfLastBit(), eq::fabric::Channel< Window, Channel >::getPeriod(), eq::fabric::Channel< Window, Channel >::getSubPixel(), and eq::Channel::getUniqueColor().

Here is the call graph for this function:

void eqPly::Channel::frameFinish ( const eq::uint128_t frameID,
const uint32_t  frameNumber 
) [protected, virtual]

Finish rendering a frame.

Called once at the end of each frame, to do per-frame updates of channel-specific data. This method has to call releaseFrame().

Parameters:
frameIDthe per-frame identifier.
frameNumberthe frame to finish.
Version:
1.0

Reimplemented from eq::Channel.

Definition at line 285 of file eqPly/channel.cpp.

void eqPly::Channel::frameReadback ( const eq::uint128_t frameID) [protected, virtual]

Read back the rendered frame buffer into all output frames.

Called 0 to n times during one frame.

Parameters:
frameIDthe per-frame identifier.
See also:
getOutputFrames()
Version:
1.0

Reimplemented from eq::Channel.

Definition at line 238 of file eqPly/channel.cpp.

References eq::Frame::BUFFER_COLOR, eq::Channel::getOutputFrames(), eq::Frame::setAlphaUsage(), and eq::Frame::setQuality().

Here is the call graph for this function:

void eqPly::Channel::frameStart ( const eq::uint128_t frameID,
const uint32_t  frameNumber 
) [protected, virtual]

Start rendering a frame.

Called once at the beginning of each frame, to do per-frame updates of channel-specific data. This method has to call startFrame().

Parameters:
frameIDthe per-frame identifier.
frameNumberthe frame to start.
See also:
Config::startFrame()
Version:
1.0

Reimplemented from eq::Channel.

Definition at line 263 of file eqPly/channel.cpp.

void eqPly::Channel::frameViewFinish ( const eq::uint128_t frameID) [protected, virtual]

Finish updating a destination channel.

Called once on each destination channel, e.g., channels which are defined by a view/segment intersection, before frameFinish to update a part of a view.

This is typically used to do operations on the output channel after it has been fully updated, e.g., to draw a 2D overlay.

Parameters:
frameIDthe per-frame identifier.
Version:
1.0

Reimplemented from eq::Channel.

Definition at line 306 of file eqPly/channel.cpp.

References eq::Channel::applyBuffer(), eq::Channel::applyViewport(), eq::ConfigEvent::data, eq::Channel::drawStatistics(), eq::Channel::getConfig(), eq::fabric::Channel< Window, Channel >::getEye(), co::Object::getID(), co::base::getIndexOfLastBit(), eq::fabric::Channel< Window, Channel >::getPixelViewport(), eq::Channel::getView(), eq::Channel::resetAssemblyState(), eq::Config::sendEvent(), and eq::Channel::setupAssemblyState().

Here is the call graph for this function:

void eqPly::Channel::frameViewStart ( const eq::uint128_t frameID) [protected, virtual]

Start updating a destination channel.

Called once on each destination channel, e.g., channels which are defined by a view/segment intersection, after frameStart to update a part of a display.

Parameters:
frameIDthe per-frame identifier.
Version:
1.0

Reimplemented from eq::Channel.

Definition at line 275 of file eqPly/channel.cpp.

References eq::fabric::Channel< Window, Channel >::getPixelViewport().

Here is the call graph for this function:

eq::Vector2f eqPly::Channel::getJitter ( ) const [protected, virtual]
virtual void eqPly::Channel::notifyStopFrame ( const uint32_t  lastFrameNumber) [inline, protected, virtual]

Notify interruption of the rendering.

This method is called from the Client command thread, as opposed to the rendering thread. Its purpose is to cause the rendering thread to stop its operations as soon as possible. Normal rendering shall recommence after the given frame.

Parameters:
lastFrameNumberstop rendering until this frame has been processed.
Version:
1.0

Reimplemented from eq::Channel.

Definition at line 74 of file share/Equalizer/examples/eqPly/channel.h.

bool eqPly::Channel::useOrtho ( ) const [protected, virtual]

Select perspective or orthographic rendering.

Influences the behaviour of getFrustum, getHeadTransform and the corresponding apply methods in eq::Channel. Intended to be overwritten by the implementation to select orthographic rendering.

Version:
1.0

Reimplemented from eq::fabric::Channel< Window, Channel >.

Definition at line 374 of file eqPly/channel.cpp.


The documentation for this class was generated from the following files:
Generated on Sun May 8 2011 19:11:10 for Equalizer 1.0 by  doxygen 1.7.3