Equalizer  1.8.0
Parallel Rendering Framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
eVolve::Channel Class Reference
+ 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 PipegetPipe ()
 
EQ_API const PipegetPipe () const
 
EQ_API NodegetNode ()
 
EQ_API const NodegetNode () const
 
EQ_API ConfiggetConfig ()
 
EQ_API const ConfiggetConfig () const
 
EQ_API ServerPtr getServer ()
 
EQ_API const GLEWContext * glewGetContext () const
 Get the GLEW context for this channel. More...
 
EQ_API util::ObjectManagergetObjectManager ()
 
EQ_API const DrawableConfig & getDrawableConfig () const
 
EQ_API ViewgetNativeView ()
 Get the channel's native view. More...
 
EQ_API const ViewgetNativeView () const
 const-version of getNativeView() More...
 
EQ_API util::FrameBufferObjectgetFrameBufferObject ()
 
EQ_API const Vector3ub & getUniqueColor () const
 
EQ_API void addStatistic (Event &event)
 
virtual EQ_API Vector2f getJitter () const
 
EQ_API ViewgetView ()
 Get the channel's current View. More...
 
EQ_API const ViewgetView () 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 &region)
 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 PixelViewportsgetRegions () 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 ()
 
WindowgetWindow ()
 
const WindowgetWindow () 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 PixelViewportgetNativePixelViewport () 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 ColorMaskgetDrawBufferMask () const
 
const PixelViewportgetPixelViewport () 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 ViewportgetViewport () const
 
const RangegetRange () const
 
const PixelgetPixel () const
 
const SubPixelgetSubPixel () const
 
const ZoomgetZoom () 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 RenderContextgetContext () const
 
const RenderContextgetNativeContext () 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 Objectoperator= (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< ChannelVisitor
 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
 

Detailed Description

Definition at line 42 of file share/Equalizer/examples/eVolve/channel.h.

Constructor & Destructor Documentation

virtual eVolve::Channel::~Channel ( )
inlineprotectedvirtual

Destruct the channel.

Version
1.0

Reimplemented from eq::Channel.

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

Member Function Documentation

bool eVolve::Channel::configExit ( )
overrideprotectedvirtual

Exit this channel.

Version
1.0

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:

bool eVolve::Channel::configInit ( const eq::uint128_t &  initID)
overrideprotectedvirtual

Initialize this channel.

Parameters
initIDthe init identifier.
Version
1.0

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:

void eVolve::Channel::frameAssemble ( const eq::uint128_t &  frameID,
const eq::Frames frames 
)
overrideprotectedvirtual
void eVolve::Channel::frameClear ( const eq::uint128_t &  frameID)
overrideprotectedvirtual

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 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:

void eVolve::Channel::frameDraw ( const eq::uint128_t &  frameID)
overrideprotectedvirtual

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 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:

void eVolve::Channel::frameReadback ( const eq::uint128_t &  frameID,
const eq::Frames frames 
)
overrideprotectedvirtual

Read back the rendered frame buffer into the output frames.

Called 0 to n times during one frame.

Parameters
frameIDthe per-frame identifier.
framesthe output frames.
Version
1.7.3
1.0

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:

void eVolve::Channel::frameStart ( const eq::uint128_t &  frameID,
const uint32_t  frameNumber 
)
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().

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

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:

void eVolve::Channel::frameViewFinish ( const eq::uint128_t &  frameID)
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.

Parameters
frameIDthe per-frame identifier.
Version
1.0

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:

bool eVolve::Channel::useOrtho ( ) const
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.

Version
1.0

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

Definition at line 197 of file eVolve/channel.cpp.


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