Equalizer
1.7.3
|
Base data transport class for channels. More...
#include <channel.h>
Public Types | |
enum | Drawable { FB_WINDOW = LB_BIT_NONE, FBO_COLOR = LB_BIT1, FBO_DEPTH = LB_BIT2, FBO_STENCIL = LB_BIT3 } |
The drawable format defines the components used as an alternate drawable for this channel. More... | |
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... | |
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 () |
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 | 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 () |
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 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::Drawable |
The drawable format defines the components used as an alternate drawable for this channel.
If an alternate drawable is configured, the channel uses the appropriate targets in place of the window's frame buffer.
Enumerator | |
---|---|
FB_WINDOW |
Use the window's frame buffer. |
FBO_COLOR |
Use an FBO for color values. |
FBO_DEPTH |
Use an FBO for depth values. |
FBO_STENCIL |
Use an FBO for stencil values. |
Definition at line 45 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 307 of file fabric/channel.h.
enum eq::fabric::Channel::SAttribute |
String attributes.
Definition at line 318 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 108 of file fabric/channel.h.
|
inline |
Definition at line 159 of file fabric/channel.h.
|
inline |
Definition at line 165 of file fabric/channel.h.
|
inline |
|
inline |
Definition at line 188 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 212 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 201 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 236 of file fabric/channel.h.
Referenced by eq::fabric::Channel< Window, Channel >::getHeadTransform().
|
inline |
Definition at line 297 of file fabric/channel.h.
|
inline |
Definition at line 273 of file fabric/channel.h.
|
inline |
Definition at line 195 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 224 of file fabric/channel.h.
Referenced by eq::fabric::Channel< Window, Channel >::getHeadTransform().
|
inline |
Definition at line 279 of file fabric/channel.h.
|
inline |
Definition at line 255 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 291 of file fabric/channel.h.
|
inline |
Definition at line 172 of file fabric/channel.h.
|
inline |
Definition at line 249 of file fabric/channel.h.
|
inline |
Definition at line 162 of file fabric/channel.h.
EQFABRIC_INL std::string eq::fabric::Channel< W, C >::getSAttribute | ( | const SAttribute | attr | ) | const |
|
static |
|
inline |
Definition at line 261 of file fabric/channel.h.
|
inline |
Definition at line 300 of file fabric/channel.h.
|
inline |
Definition at line 243 of file fabric/channel.h.
|
inline |
|
inline |
|
inline |
Definition at line 267 of file fabric/channel.h.
|
inline |
Definition at line 89 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 182 of file fabric/channel.h.
Referenced by eq::fabric::Channel< Window, Channel >::getFrustum(), and eq::fabric::Channel< Window, Channel >::getHeadTransform().