Equalizer
2.0.0
Parallel Rendering Framework
|
Base data transport class for channels. More...
#include <channel.h>
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 |
const RenderContext & | getContext () const |
Public Member Functions inherited from eq::fabric::Object | |
EQFABRIC_API bool | isDirty () const override |
EQFABRIC_API uint128_t | commit (const uint32_t incarnation=CO_COMMIT_NEXT) override |
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 (const RenderContext &context) |
void | resetContext () |
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) |
EQFABRIC_API void | notifyDetach () override |
EQFABRIC_API void | serialize (co::DataOStream &os, const uint64_t dirtyBits) override |
EQFABRIC_API void | deserialize (co::DataIStream &is, const uint64_t dirtyBits) override |
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) |
EQFABRIC_API void | updateEvent (Event &event, int64_t time) |
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 289 of file fabric/channel.h.
enum eq::fabric::Channel::SAttribute |
String attributes.
Definition at line 300 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. |
Referenced by eq::fabric::Channel< Window, Channel >::hasFixedViewport().
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 |
Referenced by eq::fabric::Channel< Window, Channel >::hasFixedViewport().
|
inline |
Definition at line 282 of file fabric/channel.h.
|
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 167 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 191 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 180 of file fabric/channel.h.
Referenced by eq::fabric::Channel< Window, Channel >::getFrustum().
|
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 215 of file fabric/channel.h.
Referenced by eq::fabric::Channel< Window, Channel >::getHeadTransform().
|
inline |
Definition at line 276 of file fabric/channel.h.
|
inline |
Definition at line 252 of file fabric/channel.h.
|
inline |
Definition at line 174 of file fabric/channel.h.
Referenced by eq::fabric::Channel< Window, Channel >::getFrustum().
|
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 203 of file fabric/channel.h.
Referenced by eq::fabric::Channel< Window, Channel >::getHeadTransform().
|
inline |
Definition at line 258 of file fabric/channel.h.
|
inline |
Definition at line 234 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 270 of file fabric/channel.h.
|
inline |
Definition at line 151 of file fabric/channel.h.
|
inline |
Definition at line 228 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 240 of file fabric/channel.h.
|
inline |
Definition at line 279 of file fabric/channel.h.
|
inline |
Definition at line 222 of file fabric/channel.h.
|
inline |
|
inline |
|
inline |
Definition at line 246 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.
Referenced by eq::fabric::Channel< Window, Channel >::hasFixedViewport().
EQFABRIC_INL void eq::fabric::Channel< W, C >::setMaxSize | ( | const Vector2i & | size | ) |
Referenced by eq::fabric::Channel< Window, Channel >::hasFixedViewport().
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. |
Referenced by eq::fabric::Channel< Window, Channel >::hasFixedViewport().
|
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 161 of file fabric/channel.h.
Referenced by eq::fabric::Channel< Window, Channel >::getFrustum(), and eq::fabric::Channel< Window, Channel >::getHeadTransform().