Equalizer
1.6.1
|
The rendering entity, updating a part of a Window. More...
#include <channel.h>
Public Member Functions | |
Channel (eq::Window *parent) | |
bool | stopRendering () const |
Public Member Functions inherited from eq::Channel | |
Channel (Window *parent) | |
Construct a new channel. More... | |
virtual bool | processEvent (const Event &event) |
Process a received event. More... | |
virtual void | drawStatistics () |
Draw a statistics overlay. More... | |
virtual void | outlineViewport () |
Outline the current pixel viewport. More... | |
void | changeLatency (const uint32_t latency) |
co::CommandQueue * | getPipeThreadQueue () |
co::CommandQueue * | getCommandThreadQueue () |
uint32_t | getCurrentFrame () const |
void | waitFrameFinished (const uint32_t frame) const |
bool | isStopped () const |
Pipe * | getPipe () |
const Pipe * | getPipe () const |
Node * | getNode () |
const Node * | getNode () const |
Config * | getConfig () |
const Config * | getConfig () const |
ServerPtr | getServer () |
const GLEWContext * | glewGetContext () const |
Get the GLEW context for this channel. More... | |
ObjectManager * | getObjectManager () |
const DrawableConfig & | getDrawableConfig () const |
View * | getNativeView () |
Get the channel's native view. More... | |
const View * | getNativeView () const |
const-version of getNativeView() More... | |
util::FrameBufferObject * | getFrameBufferObject () |
const Vector3ub & | getUniqueColor () const |
void | addStatistic (Event &event) |
const Frames & | getInputFrames () |
const Frames & | getOutputFrames () |
View * | getView () |
Get the channel's current View. More... | |
const View * | getView () const |
Const version of getView(). More... | |
Frustumf | getScreenFrustum () const |
Returns an orthographic frustum for 2D operations on the view. More... | |
virtual void | applyBuffer () |
Apply the current rendering buffer, including the color mask. More... | |
virtual void | applyColorMask () const |
Apply the current color mask. More... | |
virtual void | applyViewport () const |
Apply the OpenGL viewport for the current rendering task. More... | |
virtual void | applyFrustum () const |
Apply the frustum matrix for the current rendering task. More... | |
virtual void | applyPerspective () const |
Apply the perspective frustum matrix for the current rendering task. More... | |
virtual void | applyOrtho () const |
Apply the orthographic frustum matrix for the current rendering task. More... | |
void | applyScreenFrustum () const |
Apply an orthographic frustum for pixel-based 2D operations. More... | |
virtual void | applyHeadTransform () const |
Apply the transformation to position the view frustum. More... | |
virtual void | applyPerspectiveTransform () const |
Apply the transformation to position the perspective view frustum. More... | |
virtual void | applyOrthoTransform () const |
Apply the transformation to position the orthographic view frustum. More... | |
virtual void | applyFrameBufferObject () |
Apply the current alternate frame buffer. More... | |
void | bindFrameBuffer () |
Rebind the current alternate FBO of the channel or window. More... | |
virtual void | resetRegions () |
Reset the declared regions of interest. More... | |
virtual void | declareRegion (const eq::PixelViewport ®ion) |
Declare a region covered by the current draw or assemble operation. More... | |
void | declareRegion (const eq::Viewport &vp) |
Convenience method to declare a region in relative coordinates. More... | |
PixelViewport | getRegion () const |
const PixelViewports & | getRegions () const |
Get the current regions of interest. More... | |
Public Member Functions inherited from eq::fabric::Channel< Window, Channel > | |
virtual bool | omitOutput () const |
virtual void | output (std::ostream &) const |
void | init () |
Window * | getWindow () |
const Window * | getWindow () const |
bool | isDestination () const |
void | setViewVersion (const co::ObjectVersion &view) |
const co::ObjectVersion & | getViewVersion () const |
void | setPixelViewport (const PixelViewport &pvp) |
EQFABRIC_INL void | setViewport (const Viewport &vp) |
const PixelViewport & | getNativePixelViewport () const |
bool | hasFixedViewport () const |
EQFABRIC_INL void | setNearFar (const float nearPlane, const float farPlane) |
Set the near and far planes for this channel. More... | |
uint32_t | getDrawable () const |
EQFABRIC_INL VisitorResult | accept (Visitor &visitor) |
Perform a depth-first traversal of this channel. More... | |
EQFABRIC_INL VisitorResult | accept (Visitor &visitor) const |
Const-version of accept(). More... | |
EQFABRIC_INL void | setCapabilities (const uint64_t bitmask) |
Set the capabilities supported by the channel. More... | |
EQFABRIC_INL uint64_t | getCapabilities () const |
EQFABRIC_INL void | setMaxSize (const Vector2i &size) |
void | setOverdraw (const Vector4i &overdraw) |
const Vector2i & | getMaxSize () const |
EQFABRIC_INL ChannelPath | getPath () const |
virtual EQFABRIC_INL void | backup () |
virtual EQFABRIC_INL void | restore () |
uint32_t | getDrawBuffer () const |
uint32_t | getReadBuffer () const |
const ColorMask & | getDrawBufferMask () const |
const PixelViewport & | getPixelViewport () const |
const Frustumf & | getFrustum () const |
const Frustumf & | getPerspective () const |
const Frustumf & | getOrtho () const |
const Matrix4f & | getHeadTransform () const |
Return the view matrix. More... | |
const Matrix4f & | getPerspectiveTransform () const |
Return the perspective view matrix. More... | |
const Matrix4f & | getOrthoTransform () const |
Return the orthographic view matrix. More... | |
const Viewport & | getViewport () const |
const Range & | getRange () const |
const Pixel & | getPixel () const |
const SubPixel & | getSubPixel () const |
const Zoom & | getZoom () const |
uint32_t | getPeriod () const |
uint32_t | getPhase () const |
const Vector2i & | getPixelOffset () const |
Get the channel's current position wrt the destination channel. More... | |
Eye | getEye () const |
const Vector4i & | getOverdraw () const |
uint32_t | getTaskID () const |
EQFABRIC_INL int32_t | getIAttribute (const IAttribute attr) const |
Public Member Functions inherited from eq::fabric::Object | |
virtual bool | isDirty () const |
virtual uint128_t | commit (const uint32_t incarnation=CO_COMMIT_NEXT) |
void | setName (const std::string &name) |
Set the name of the object. More... | |
const std::string & | getName () const |
void | setUserData (co::Object *userData) |
Set user-specific data. More... | |
co::Object * | getUserData () |
const co::Object * | getUserData () const |
void | setError (const int32_t error) |
Set an error code why the last operation failed. More... | |
eq::fabric::Error | getError () const |
uint32_t | getTasks () const |
Return the set of tasks this channel might execute in the worst case. More... | |
uint32_t | getSerial () const |
Protected Member Functions | |
virtual | ~Channel () |
Destruct the channel. More... | |
virtual bool | configInit (const eq::uint128_t &initID) |
Initialize this channel. More... | |
virtual bool | configExit () |
Exit this channel. More... | |
virtual void | frameClear (const eq::uint128_t &frameID) |
Clear the frame buffer. More... | |
virtual void | frameDraw (const eq::uint128_t &frameID) |
Draw the scene. More... | |
virtual void | frameAssemble (const eq::uint128_t &frameID) |
Assemble all input frames. More... | |
virtual void | frameReadback (const eq::uint128_t &frameID) |
Read back the rendered frame buffer into the output frames. More... | |
virtual void | frameStart (const eq::uint128_t &frameID, const uint32_t frameNumber) |
Start rendering a frame. More... | |
virtual void | frameFinish (const eq::uint128_t &frameID, const uint32_t frameNumber) |
Finish rendering a frame. More... | |
virtual void | frameViewStart (const eq::uint128_t &frameID) |
Start updating a destination channel. More... | |
virtual void | frameViewFinish (const eq::uint128_t &frameID) |
Finish updating a destination channel. More... | |
virtual bool | useOrtho () const |
Select perspective or orthographic rendering. More... | |
virtual eq::Vector2f | getJitter () const |
virtual void | notifyStopFrame (const uint32_t lastFrameNumber) |
Notify interruption of the rendering. More... | |
Protected Member Functions inherited from eq::Channel | |
void | attach (const UUID &id, const uint32_t instanceID) |
virtual void | frameTilesStart (const uint128_t &) |
Start a batch of tile rendering operations. More... | |
virtual void | frameTilesFinish (const uint128_t &) |
Finish a batch of tile rendering operations. More... | |
virtual void | notifyViewportChanged () |
Notification that parameters influencing the vp/pvp have changed. More... | |
void | startFrame (const uint32_t frameNumber) |
Start a frame by unlocking all child resources. More... | |
void | releaseFrame (const uint32_t frameNumber) |
Signal the completion of a frame to the parent. More... | |
void | releaseFrameLocal (const uint32_t frameNumber) |
Release the local synchronization of the parent for a frame. More... | |
virtual void | setupAssemblyState () |
Setup the OpenGL state for a readback or assemble operation. More... | |
virtual void | resetAssemblyState () |
Reset the OpenGL state after an assembly operation. More... | |
virtual void | frameDrawFinish (const uint128_t &frameID, const uint32_t frameNumber) |
Finish drawing. More... | |
Protected Member Functions inherited from eq::fabric::Channel< Window, Channel > | |
EQFABRIC_INL | Channel (Window *parent) |
Construct a new channel. | |
Channel (const Channel &from) | |
Construct a copy of a channel (view/segment dest). | |
virtual EQFABRIC_INL void | serialize (co::DataOStream &os, const uint64_t dirtyBits) |
virtual EQFABRIC_INL void | deserialize (co::DataIStream &is, const uint64_t dirtyBits) |
virtual EQFABRIC_INL void | setDirty (const uint64_t bits) |
void | setDrawable (const uint32_t drawable) |
void | setIAttribute (const IAttribute attr, const int32_t value) |
virtual ChangeType | getChangeType () const |
virtual uint64_t | getRedistributableBits () const |
virtual void | updateCapabilities () |
void | overrideContext (RenderContext &context) |
void | resetRenderContext () |
const RenderContext & | getContext () const |
const RenderContext & | getNativeContext () const |
Protected Member Functions inherited from eq::fabric::Object | |
Object () | |
Construct a new Object. More... | |
virtual | ~Object () |
Destruct the object. More... | |
virtual bool | hasMasterUserData () |
virtual uint32_t | getUserDataLatency () const |
void | setTasks (const uint32_t tasks) |
virtual void | notifyDetach () |
void | postRemove (Object *child) |
virtual void | removeChild (const UUID &) |
template<class C , class S > | |
void | commitChild (C *child, S *sender, uint32_t cmd, const uint32_t incarnation) |
template<class C > | |
void | commitChild (C *child, const uint32_t incarnation) |
template<class C , class S > | |
void | commitChildren (const std::vector< C * > &children, S *sender, uint32_t cmd, const uint32_t incarnation) |
template<class C > | |
void | commitChildren (const std::vector< C * > &children, uint32_t cmd, const uint32_t incarnation) |
template<class C > | |
void | commitChildren (const std::vector< C * > &children, const uint32_t incarnation) |
template<class C > | |
void | syncChildren (const std::vector< C * > &children) |
template<class P , class C > | |
void | releaseChildren (const std::vector< C * > &children) |
bool | _cmdSync (co::ICommand &command) |
Additional Inherited Members | |
Public Types inherited from eq::fabric::Channel< Window, Channel > | |
enum | Drawable |
The drawable format defines the components used as an alternate drawable for this channel. More... | |
typedef LeafVisitor< Channel > | Visitor |
The channel visitor type. | |
typedef Window | Parent |
The parent window type. | |
enum | IAttribute |
Integer attributes for a channel. More... | |
Public Types inherited from eq::fabric::Object | |
enum | DirtyBits { DIRTY_NAME = Serializable::DIRTY_CUSTOM << 0, DIRTY_USERDATA = Serializable::DIRTY_CUSTOM << 1, DIRTY_ERROR = Serializable::DIRTY_CUSTOM << 2, DIRTY_TASKS = Serializable::DIRTY_CUSTOM << 3, DIRTY_REMOVED = Serializable::DIRTY_CUSTOM << 4, DIRTY_SERIAL = Serializable::DIRTY_CUSTOM << 5, DIRTY_CUSTOM = Serializable::DIRTY_CUSTOM << 6, DIRTY_OBJECT_BITS = DIRTY_NAME | DIRTY_USERDATA | DIRTY_ERROR } |
The changed parts of the object since the last pack(). More... | |
Static Public Member Functions inherited from eq::fabric::Channel< Window, Channel > | |
static EQFABRIC_INL const std::string & | getIAttributeString (const IAttribute attr) |
Protected Types inherited from eq::fabric::Channel< Window, Channel > | |
enum | DirtyBits |
The rendering entity, updating a part of a Window.
Definition at line 48 of file share/Equalizer/examples/eqPly/channel.h.
|
inlineprotectedvirtual |
Destruct the channel.
Reimplemented from eq::Channel.
Definition at line 56 of file share/Equalizer/examples/eqPly/channel.h.
|
protectedvirtual |
Exit this channel.
Reimplemented from eq::Channel.
Definition at line 79 of file eqPly/channel.cpp.
References eq::Channel::configExit().
|
protectedvirtual |
Initialize this channel.
initID | the init identifier. |
Reimplemented from eq::Channel.
Definition at line 68 of file eqPly/channel.cpp.
References eq::Channel::configInit(), and eq::fabric::Channel< Window, Channel >::setNearFar().
|
protectedvirtual |
Assemble all input frames.
Called 0 to n times during one frame.
frameID | the per-frame identifier. |
Reimplemented from eq::Channel.
Definition at line 192 of file eqPly/channel.cpp.
References eq::Channel::applyBuffer(), eq::Channel::applyViewport(), eq::Compositor::assembleFrames(), eq::Channel::frameAssemble(), eq::fabric::Channel< Window, Channel >::getEye(), eq::Channel::getInputFrames(), eq::Frame::getPeriod(), eq::fabric::Channel< Window, Channel >::getPixelViewport(), eq::Frame::getSubPixel(), eq::Channel::resetAssemblyState(), and eq::Channel::setupAssemblyState().
|
protectedvirtual |
Clear the frame buffer.
Called 0 to n times during one frame.
frameID | the per-frame identifier. |
Reimplemented from eq::Channel.
Definition at line 90 of file eqPly/channel.cpp.
References eq::Channel::applyBuffer(), eq::Channel::applyViewport(), eq::fabric::Channel< Window, Channel >::getEye(), eq::Channel::getUniqueColor(), eq::Channel::getView(), and eq::Channel::resetRegions().
|
protectedvirtual |
Draw the scene.
Called 0 to n times during one frame.
frameID | the per-frame identifier. |
Reimplemented from eq::Channel.
Definition at line 122 of file eqPly/channel.cpp.
References eqPly::COLOR_DEMO, eq::Channel::frameDraw(), eq::fabric::Channel< Window, Channel >::getEye(), eq::fabric::Channel< Window, Channel >::getPeriod(), eq::fabric::Channel< Window, Channel >::getSubPixel(), eq::Channel::getUniqueColor(), and eq::fabric::Channel< Window, Channel >::getWindow().
|
protectedvirtual |
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().
frameID | the per-frame identifier. |
frameNumber | the frame to finish. |
Reimplemented from eq::Channel.
Definition at line 298 of file eqPly/channel.cpp.
References eq::Channel::frameFinish().
|
protectedvirtual |
Read back the rendered frame buffer into the output frames.
Called 0 to n times during one frame.
frameID | the per-frame identifier. |
Reimplemented from eq::Channel.
Definition at line 249 of file eqPly/channel.cpp.
References eq::fabric::Frame::BUFFER_COLOR, eq::Channel::frameReadback(), eq::Channel::getOutputFrames(), eq::Frame::setAlphaUsage(), eq::Frame::setQuality(), and eq::Frame::useCompressor().
|
protectedvirtual |
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().
frameID | the per-frame identifier. |
frameNumber | the frame to start. |
Reimplemented from eq::Channel.
Definition at line 276 of file eqPly/channel.cpp.
References eq::Channel::frameStart().
|
protectedvirtual |
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.
frameID | the per-frame identifier. |
Reimplemented from eq::Channel.
Definition at line 319 of file eqPly/channel.cpp.
References eq::Channel::applyBuffer(), eq::Channel::applyViewport(), eq::Channel::drawStatistics(), eq::Channel::frameViewFinish(), eq::Channel::getConfig(), eq::fabric::Channel< Window, Channel >::getEye(), eq::fabric::Channel< Window, Channel >::getPixelViewport(), eq::Channel::getView(), eq::Channel::resetAssemblyState(), eq::Config::sendEvent(), and eq::Channel::setupAssemblyState().
|
protectedvirtual |
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.
frameID | the per-frame identifier. |
Reimplemented from eq::Channel.
Definition at line 288 of file eqPly/channel.cpp.
References eq::Channel::frameViewStart(), and eq::fabric::Channel< Window, Channel >::getPixelViewport().
|
protectedvirtual |
Reimplemented from eq::Channel.
Definition at line 496 of file eqPly/channel.cpp.
References eq::fabric::Channel< Window, Channel >::getEye(), eq::fabric::Channel< Window, Channel >::getFrustum(), eq::Channel::getJitter(), eq::fabric::Channel< Window, Channel >::getPixel(), eq::fabric::Channel< Window, Channel >::getPixelViewport(), and eq::Channel::getView().
|
inlineprotectedvirtual |
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.
lastFrameNumber | stop rendering until this frame has been processed. |
Reimplemented from eq::Channel.
Definition at line 74 of file share/Equalizer/examples/eqPly/channel.h.
|
protectedvirtual |
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.
Reimplemented from eq::fabric::Channel< Window, Channel >.
Definition at line 380 of file eqPly/channel.cpp.