|
Equalizer
1.8.0
Parallel Rendering Framework
|
Inheritance diagram for eVolve::Channel:
Collaboration diagram for eVolve::Channel:Public Member Functions | |
| Channel (eq::Window *parent) | |
Public Member Functions inherited from eq::Channel | |
| EQ_API | Channel (Window *parent) |
| Construct a new channel. More... | |
| virtual EQ_API void | drawStatistics () |
| Draw a statistics overlay. More... | |
| virtual EQ_API void | outlineViewport () |
| Outline the current pixel viewport. More... | |
| void | changeLatency (const uint32_t latency) |
| EQ_API co::CommandQueue * | getPipeThreadQueue () |
| EQ_API co::CommandQueue * | getCommandThreadQueue () |
| EQ_API uint32_t | getCurrentFrame () const |
| void | waitFrameFinished (const uint32_t frame) const |
| EQ_API bool | isStopped () const |
| EQ_API Pipe * | getPipe () |
| EQ_API const Pipe * | getPipe () const |
| EQ_API Node * | getNode () |
| EQ_API const Node * | getNode () const |
| EQ_API Config * | getConfig () |
| EQ_API const Config * | getConfig () const |
| EQ_API ServerPtr | getServer () |
| EQ_API const GLEWContext * | glewGetContext () const |
| Get the GLEW context for this channel. More... | |
| EQ_API util::ObjectManager & | getObjectManager () |
| EQ_API const DrawableConfig & | getDrawableConfig () const |
| EQ_API View * | getNativeView () |
| Get the channel's native view. More... | |
| EQ_API const View * | getNativeView () const |
| const-version of getNativeView() More... | |
| EQ_API util::FrameBufferObject * | getFrameBufferObject () |
| EQ_API const Vector3ub & | getUniqueColor () const |
| EQ_API void | addStatistic (Event &event) |
| virtual EQ_API Vector2f | getJitter () const |
| EQ_API View * | getView () |
| Get the channel's current View. More... | |
| EQ_API const View * | getView () const |
| Const version of getView(). More... | |
| EQ_API Frustumf | getScreenFrustum () const |
| Returns an orthographic frustum for 2D operations on the view. More... | |
| virtual EQ_API void | applyBuffer () |
| Apply the current rendering buffer, including the color mask. More... | |
| virtual EQ_API void | applyColorMask () const |
| Apply the current color mask. More... | |
| virtual EQ_API void | applyViewport () const |
| Apply the OpenGL viewport for the current rendering task. More... | |
| virtual EQ_API void | applyFrustum () const |
| Apply the frustum matrix for the current rendering task. More... | |
| virtual EQ_API void | applyPerspective () const |
| Apply the perspective frustum matrix for the current rendering task. More... | |
| virtual EQ_API void | applyOrtho () const |
| Apply the orthographic frustum matrix for the current rendering task. More... | |
| EQ_API void | applyScreenFrustum () const |
| Apply an orthographic frustum for pixel-based 2D operations. More... | |
| virtual EQ_API void | applyHeadTransform () const |
| Apply the transformation to position the view frustum. More... | |
| virtual EQ_API void | applyPerspectiveTransform () const |
| Apply the transformation to position the perspective view frustum. More... | |
| virtual EQ_API void | applyOrthoTransform () const |
| Apply the transformation to position the orthographic view frustum. More... | |
| virtual EQ_API void | applyFrameBufferObject () |
| Apply the current alternate frame buffer. More... | |
| EQ_API void | bindFrameBuffer () |
| Rebind the current alternate FBO of the channel or window. More... | |
| virtual EQ_API void | resetRegions () |
| Reset the declared regions of interest. More... | |
| virtual EQ_API void | declareRegion (const eq::PixelViewport ®ion) |
| Declare a region covered by the current draw or assemble operation. More... | |
| EQ_API void | declareRegion (const eq::Viewport &vp) |
| Convenience method to declare a region in relative coordinates. More... | |
| EQ_API PixelViewport | getRegion () const |
| EQ_API const PixelViewports & | getRegions () const |
| Get the current regions of interest. More... | |
| EQ_API EventOCommand | sendError (const uint32_t error) |
| Send a channel error event to the application node. More... | |
| virtual EQ_API bool | processEvent (const Event &event) |
| Process a received event. 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 |
| EQFABRIC_INL const std::string & | getSAttribute (const SAttribute attr) const |
Public Member Functions inherited from eq::fabric::Object | |
| virtual EQFABRIC_API bool | isDirty () const |
| virtual EQFABRIC_API uint128_t | commit (const uint32_t incarnation=CO_COMMIT_NEXT) |
| virtual EQFABRIC_API void | setName (const std::string &name) |
| Set the name of the object. More... | |
| EQFABRIC_API const std::string & | getName () const |
| EQFABRIC_API void | setUserData (co::Object *userData) |
| Set user-specific data. More... | |
| EQFABRIC_API co::Object * | getUserData () |
| EQFABRIC_API const co::Object * | getUserData () const |
| EQFABRIC_API uint32_t | getTasks () const |
| Return the set of tasks this channel might execute in the worst case. More... | |
| EQFABRIC_API uint32_t | getSerial () const |
Protected Member Functions | |
| virtual | ~Channel () |
| Destruct the channel. More... | |
| bool | configInit (const eq::uint128_t &initID) override |
| Initialize this channel. More... | |
| bool | configExit () override |
| Exit this channel. More... | |
| void | frameStart (const eq::uint128_t &frameID, const uint32_t frameNumber) override |
| Start rendering a frame. More... | |
| void | frameDraw (const eq::uint128_t &frameID) override |
| Draw the scene. More... | |
| void | frameAssemble (const eq::uint128_t &, const eq::Frames &) override |
| Assemble all input frames. More... | |
| void | frameReadback (const eq::uint128_t &, const eq::Frames &) override |
| Read back the rendered frame buffer into the output frames. More... | |
| void | frameViewFinish (const eq::uint128_t &frameID) override |
| Finish updating a destination channel. More... | |
| void | frameClear (const eq::uint128_t &frameID) override |
| Clear the frame buffer. More... | |
| bool | useOrtho () const override |
| Select perspective or orthographic rendering. More... | |
| void | clearViewport (const eq::PixelViewport &pvp) |
Protected Member Functions inherited from eq::Channel | |
| EQ_API void | attach (const uint128_t &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 EQ_API void | notifyViewportChanged () |
| Notification that parameters influencing the vp/pvp have changed. More... | |
| virtual EQ_API void | notifyStopFrame (const uint32_t lastFrameNumber) |
| Notify interruption of the rendering. More... | |
| EQ_API void | startFrame (const uint32_t frameNumber) |
| Start a frame by unlocking all child resources. More... | |
| EQ_API void | releaseFrame (const uint32_t frameNumber) |
| Signal the completion of a frame to the parent. More... | |
| EQ_API void | releaseFrameLocal (const uint32_t frameNumber) |
| Release the local synchronization of the parent for a frame. More... | |
| virtual EQ_API void | setupAssemblyState () |
| Setup the OpenGL state for a readback or assemble operation. More... | |
| virtual EQ_API void | resetAssemblyState () |
| Reset the OpenGL state after an assembly operation. More... | |
| virtual EQ_API void | frameFinish (const uint128_t &frameID, const uint32_t frameNumber) |
| Finish rendering a frame. More... | |
| virtual EQ_API void | frameDrawFinish (const uint128_t &frameID, const uint32_t frameNumber) |
| Finish drawing. More... | |
| virtual EQ_API void | frameViewStart (const uint128_t &frameID) |
| Start updating a destination channel. 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) |
| void | setSAttribute (const SAttribute attr, const std::string &value) |
| virtual ChangeType | getChangeType () const |
| virtual uint64_t | getRedistributableBits () const |
| virtual void | updateCapabilities () |
| void | overrideContext (RenderContext &context) |
| void | resetContext () |
| const RenderContext & | getContext () const |
| const RenderContext & | getNativeContext () const |
Protected Member Functions inherited from eq::fabric::Object | |
| EQFABRIC_API | Object () |
| Construct a new Object. More... | |
| EQFABRIC_API | Object (const Object &) |
| Construct an unmapped, unregistered copy of an object. More... | |
| virtual EQFABRIC_API | ~Object () |
| Destruct the object. More... | |
| EQFABRIC_API Object & | operator= (const Object &from) |
| NOP assignment operator. More... | |
| virtual bool | hasMasterUserData () |
| virtual uint32_t | getUserDataLatency () const |
| EQFABRIC_API void | setTasks (const uint32_t tasks) |
| virtual EQFABRIC_API void | notifyDetach () |
| EQFABRIC_API void | postRemove (Object *child) |
| virtual void | removeChild (const uint128_t &) |
| 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) |
| EQFABRIC_API 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... | |
| enum | SAttribute |
| String attributes. More... | |
Public Types inherited from eq::fabric::Object | |
| enum | DirtyBits { DIRTY_NAME = Serializable::DIRTY_CUSTOM << 0, DIRTY_USERDATA = Serializable::DIRTY_CUSTOM << 1, DIRTY_TASKS = Serializable::DIRTY_CUSTOM << 2, DIRTY_REMOVED = Serializable::DIRTY_CUSTOM << 3, DIRTY_SERIAL = Serializable::DIRTY_CUSTOM << 4, DIRTY_CUSTOM = Serializable::DIRTY_CUSTOM << 6, DIRTY_OBJECT_BITS = DIRTY_NAME | DIRTY_USERDATA } |
| 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) |
| static EQFABRIC_INL const std::string & | getSAttributeString (const SAttribute attr) |
Protected Types inherited from eq::fabric::Channel< Window, Channel > | |
| enum | DirtyBits |
Definition at line 42 of file share/Equalizer/examples/eVolve/channel.h.
|
inlineprotectedvirtual |
Destruct the channel.
Reimplemented from eq::Channel.
Definition at line 48 of file share/Equalizer/examples/eVolve/channel.h.
|
overrideprotectedvirtual |
Exit this channel.
Reimplemented from eq::Channel.
Definition at line 70 of file eVolve/channel.cpp.
References eq::Channel::configExit(), and eq::Frame::getFrameData().
Here is the call graph for this function:
|
overrideprotectedvirtual |
Initialize this channel.
| initID | the init identifier. |
Reimplemented from eq::Channel.
Definition at line 61 of file eVolve/channel.cpp.
References eq::Channel::configInit(), and eq::fabric::Channel< Window, Channel >::setNearFar().
Here is the call graph for this function:
|
overrideprotectedvirtual |
Assemble all input frames.
Called 0 to n times during one frame.
| frameID | the per-frame identifier. |
| frames | the input frames. |
Reimplemented from eq::Channel.
Definition at line 280 of file eVolve/channel.cpp.
References eq::Compositor::assembleFrame(), eq::Compositor::assembleFramesSorted(), eq::Channel::getDrawableConfig(), eq::Frame::getFrameData(), eq::Frame::getImages(), eq::Channel::getObjectManager(), eq::fabric::Frame::getOffset(), eq::fabric::Channel< Window, Channel >::getPixelViewport(), eq::Frame::getRange(), eq::Channel::getRegions(), eq::fabric::Frame::getZoom(), eq::Frame::readback(), eq::Channel::resetAssemblyState(), eq::fabric::Frame::setOffset(), eq::fabric::Frame::setZoom(), and eq::Frame::waitReady().
|
overrideprotectedvirtual |
Clear the frame buffer.
Called 0 to n times during one frame.
| frameID | the per-frame identifier. |
Reimplemented from eq::Channel.
Definition at line 95 of file eVolve/channel.cpp.
References eq::Channel::applyBuffer(), eq::Channel::applyViewport(), and eq::fabric::Channel< Window, Channel >::getRange().
Here is the call graph for this function:
|
overrideprotectedvirtual |
Draw the scene.
Called 0 to n times during one frame.
| frameID | the per-frame identifier. |
Reimplemented from eq::Channel.
Definition at line 146 of file eVolve/channel.cpp.
References eq::Channel::applyBuffer(), eq::Channel::applyFrustum(), eq::Channel::applyHeadTransform(), eq::Channel::applyViewport(), eq::Channel::getPipe(), eq::fabric::Channel< Window, Channel >::getRange(), eq::Channel::getUniqueColor(), and eq::Channel::outlineViewport().
Here is the call graph for this function:
|
overrideprotectedvirtual |
Read back the rendered frame buffer into the output frames.
Called 0 to n times during one frame.
| frameID | the per-frame identifier. |
| frames | the output frames. |
Reimplemented from eq::Channel.
Definition at line 380 of file eVolve/channel.cpp.
References eq::fabric::Frame::BUFFER_COLOR, eq::fabric::Frame::BUFFER_DEPTH, eq::Frame::disableBuffer(), eq::Channel::frameReadback(), eq::Frame::getFrameData(), and eq::Frame::setQuality().
Here is the call graph for this function:
|
overrideprotectedvirtual |
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 78 of file eVolve/channel.cpp.
References eVolve::BG_COLOR, eVolve::BG_WHITE, eq::Channel::frameStart(), and eq::Channel::getUniqueColor().
Here is the call graph for this function:
|
overrideprotectedvirtual |
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 396 of file eVolve/channel.cpp.
References eq::Channel::frameViewFinish().
Here is the call graph for this function:
|
overrideprotectedvirtual |
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 197 of file eVolve/channel.cpp.