|
Equalizer
1.9.0
Parallel Rendering Framework
|
Base data transport class for channels. More...
#include <channel.h>
Inheritance diagram for eq::fabric::Channel< W, C >:
Collaboration diagram for eq::fabric::Channel< W, C >:Public Types | |
| typedef LeafVisitor< C > | Visitor |
| The channel visitor type. | |
| typedef W | Parent |
| The parent window type. | |
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... | |
Public Member Functions | |
| virtual bool | omitOutput () const |
| virtual void | output (std::ostream &) const |
Data Access | |
| void | init () |
| W * | getWindow () |
| const W * | 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) |
| virtual void | notifyViewportChanged () |
| 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... | |
| 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 () |
Context-specific data access. | |
The data returned by these methods depends on the context (callback) they are called from, typically the data for the current rendering task. If they are called outside of a frame task method, they return the channel's native parameter, e.g., a placeholder value for the task decomposition parameters. | |
| uint32_t | getDrawBuffer () const |
| uint32_t | getReadBuffer () const |
| const ColorMask & | getDrawBufferMask () const |
| const PixelViewport & | getPixelViewport () const |
| virtual bool | useOrtho () const |
| Select perspective or orthographic rendering. More... | |
| 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 |
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 | |
| EQFABRIC_INL | Channel (W *parent) |
| Construct a new channel. | |
| Channel (const Channel &from) | |
| Construct a copy of a channel (view/segment dest). | |
| virtual EQFABRIC_INL | ~Channel () |
| Destruct the channel. | |
| 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 | 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 () |
Render context access | |
| 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) |
Attributes | |
| enum | IAttribute { IATTR_HINT_STATISTICS, IATTR_HINT_SENDTOKEN, IATTR_LAST, IATTR_ALL = IATTR_LAST + 5 } |
| Integer attributes for a channel. More... | |
| enum | SAttribute { SATTR_DUMP_IMAGE, SATTR_LAST, SATTR_ALL = SATTR_LAST + 5 } |
| String attributes. More... | |
| EQFABRIC_INL int32_t | getIAttribute (const IAttribute attr) const |
| EQFABRIC_INL const std::string & | getSAttribute (const SAttribute attr) const |
| static EQFABRIC_INL const std::string & | getIAttributeString (const IAttribute attr) |
| static EQFABRIC_INL const std::string & | getSAttributeString (const SAttribute attr) |
Base data transport class for channels.
Definition at line 33 of file fabric/channel.h.
| enum eq::fabric::Channel::IAttribute |
Integer attributes for a channel.
| Enumerator | |
|---|---|
| IATTR_HINT_STATISTICS |
Statistics gathering mode (OFF, FASTEST [ON], NICEST) |
| IATTR_HINT_SENDTOKEN |
Use a send token for output frames (OFF, ON) |
Definition at line 287 of file fabric/channel.h.
| enum eq::fabric::Channel::SAttribute |
String attributes.
Definition at line 298 of file fabric/channel.h.
| EQFABRIC_INL VisitorResult eq::fabric::Channel< W, C >::accept | ( | Visitor & | visitor | ) |
Perform a depth-first traversal of this channel.
| visitor | the visitor. |
| EQFABRIC_INL VisitorResult eq::fabric::Channel< W, C >::accept | ( | Visitor & | visitor | ) | const |
Const-version of accept().
| EQFABRIC_INL uint64_t eq::fabric::Channel< W, C >::getCapabilities | ( | ) | const |
|
inline |
Definition at line 139 of file fabric/channel.h.
|
inline |
Definition at line 145 of file fabric/channel.h.
|
inline |
|
inline |
Definition at line 168 of file fabric/channel.h.
|
inline |
Return the view matrix.
The view matrix is part of the GL_MODEL*VIEW* matrix, and is typically applied first to the GL_MODELVIEW matrix.
Definition at line 192 of file fabric/channel.h.
| EQFABRIC_INL int32_t eq::fabric::Channel< W, C >::getIAttribute | ( | const IAttribute | attr | ) | const |
|
static |
|
inline |
|
inline |
Definition at line 181 of file fabric/channel.h.
Referenced by eq::fabric::Channel< Window, Channel >::getFrustum().
Here is the caller graph for this function:
|
inline |
Return the orthographic view matrix.
The view matrix is part of the GL_MODEL*VIEW* matrix, and is typically applied first to the GL_MODELVIEW matrix.
Definition at line 216 of file fabric/channel.h.
Referenced by eq::fabric::Channel< Window, Channel >::getHeadTransform().
Here is the caller graph for this function:
|
inline |
Definition at line 277 of file fabric/channel.h.
|
inline |
Definition at line 253 of file fabric/channel.h.
|
inline |
Definition at line 175 of file fabric/channel.h.
Referenced by eq::fabric::Channel< Window, Channel >::getFrustum().
Here is the caller graph for this function:
|
inline |
Return the perspective view matrix.
The view matrix is part of the GL_MODEL*VIEW* matrix, and is typically applied first to the GL_MODELVIEW matrix.
Definition at line 204 of file fabric/channel.h.
Referenced by eq::fabric::Channel< Window, Channel >::getHeadTransform().
Here is the caller graph for this function:
|
inline |
Definition at line 259 of file fabric/channel.h.
|
inline |
Definition at line 235 of file fabric/channel.h.
|
inline |
Get the channel's current position wrt the destination channel.
Note that computing this value from the current viewport and pixel viewport is inaccurate because it neglects rounding errors of the pixel viewport done by the server.
Definition at line 271 of file fabric/channel.h.
|
inline |
Definition at line 152 of file fabric/channel.h.
|
inline |
Definition at line 229 of file fabric/channel.h.
|
inline |
Definition at line 142 of file fabric/channel.h.
| EQFABRIC_INL const std::string& eq::fabric::Channel< W, C >::getSAttribute | ( | const SAttribute | attr | ) | const |
|
static |
|
inline |
Definition at line 241 of file fabric/channel.h.
|
inline |
Definition at line 280 of file fabric/channel.h.
|
inline |
Definition at line 223 of file fabric/channel.h.
|
inline |
|
inline |
|
inline |
Definition at line 247 of file fabric/channel.h.
|
inline |
Definition at line 75 of file fabric/channel.h.
| EQFABRIC_INL void eq::fabric::Channel< W, C >::setCapabilities | ( | const uint64_t | bitmask | ) |
Set the capabilities supported by the channel.
Channel which do not support all capabilities required by the current destination view do not execute any tasks. The capabilities are an application-defined bit mask. By default all bits are set.
| EQFABRIC_INL void eq::fabric::Channel< W, C >::setMaxSize | ( | const Vector2i & | size | ) |
| EQFABRIC_INL void eq::fabric::Channel< W, C >::setNearFar | ( | const float | nearPlane, |
| const float | farPlane | ||
| ) |
Set the near and far planes for this channel.
The given near and far planes update the current perspective and orthographics frustum accordingly. Furthermore, they will be used in the future by the server to compute the frusta.
| nearPlane | the near plane. |
| farPlane | the far plane. |
|
inlinevirtual |
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.
Definition at line 162 of file fabric/channel.h.
Referenced by eq::fabric::Channel< Window, Channel >::getFrustum(), and eq::fabric::Channel< Window, Channel >::getHeadTransform().
Here is the caller graph for this function: