Equalizer
1.6.1
|
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_ERROR = Serializable::DIRTY_CUSTOM << 2, DIRTY_TASKS = Serializable::DIRTY_CUSTOM << 3, DIRTY_REMOVED = Serializable::DIRTY_CUSTOM << 4, DIRTY_SERIAL = Serializable::DIRTY_CUSTOM << 5, DIRTY_CUSTOM = Serializable::DIRTY_CUSTOM << 6, DIRTY_OBJECT_BITS = DIRTY_NAME | DIRTY_USERDATA | DIRTY_ERROR } |
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 bool | isDirty () const |
virtual uint128_t | commit (const uint32_t incarnation=CO_COMMIT_NEXT) |
void | setName (const std::string &name) |
Set the name of the object. More... | |
const std::string & | getName () const |
void | setUserData (co::Object *userData) |
Set user-specific data. More... | |
co::Object * | getUserData () |
const co::Object * | getUserData () const |
void | setError (const int32_t error) |
Set an error code why the last operation failed. More... | |
eq::fabric::Error | getError () const |
uint32_t | getTasks () const |
Return the set of tasks this channel might execute in the worst case. More... | |
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) |
virtual ChangeType | getChangeType () const |
virtual uint64_t | getRedistributableBits () const |
virtual void | updateCapabilities () |
Render context access | |
void | overrideContext (RenderContext &context) |
void | resetRenderContext () |
const RenderContext & | getContext () const |
const RenderContext & | getNativeContext () const |
Protected Member Functions inherited from eq::fabric::Object | |
Object () | |
Construct a new Object. More... | |
virtual | ~Object () |
Destruct the object. More... | |
virtual bool | hasMasterUserData () |
virtual uint32_t | getUserDataLatency () const |
void | setTasks (const uint32_t tasks) |
virtual void | notifyDetach () |
void | postRemove (Object *child) |
virtual void | removeChild (const UUID &) |
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) |
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... | |
EQFABRIC_INL int32_t | getIAttribute (const IAttribute attr) const |
static EQFABRIC_INL const std::string & | getIAttributeString (const IAttribute attr) |
Base data transport class for channels.
Definition at line 32 of file include/eq/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 include/eq/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 308 of file include/eq/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 109 of file include/eq/fabric/channel.h.
|
inline |
Definition at line 160 of file include/eq/fabric/channel.h.
|
inline |
Definition at line 166 of file include/eq/fabric/channel.h.
|
inline |
Definition at line 295 of file include/eq/fabric/channel.h.
|
inline |
Definition at line 189 of file include/eq/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 213 of file include/eq/fabric/channel.h.
EQFABRIC_INL int32_t eq::fabric::Channel< W, C >::getIAttribute | ( | const IAttribute | attr | ) | const |
|
static |
|
inline |
Definition at line 85 of file include/eq/fabric/channel.h.
|
inline |
Definition at line 202 of file include/eq/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 237 of file include/eq/fabric/channel.h.
Referenced by eq::fabric::Channel< Window, Channel >::getHeadTransform().
|
inline |
Definition at line 298 of file include/eq/fabric/channel.h.
|
inline |
Definition at line 274 of file include/eq/fabric/channel.h.
|
inline |
Definition at line 196 of file include/eq/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 225 of file include/eq/fabric/channel.h.
Referenced by eq::fabric::Channel< Window, Channel >::getHeadTransform().
|
inline |
Definition at line 280 of file include/eq/fabric/channel.h.
|
inline |
Definition at line 256 of file include/eq/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 292 of file include/eq/fabric/channel.h.
|
inline |
Definition at line 173 of file include/eq/fabric/channel.h.
|
inline |
Definition at line 250 of file include/eq/fabric/channel.h.
|
inline |
Definition at line 163 of file include/eq/fabric/channel.h.
|
inline |
Definition at line 262 of file include/eq/fabric/channel.h.
|
inline |
Definition at line 301 of file include/eq/fabric/channel.h.
|
inline |
Definition at line 244 of file include/eq/fabric/channel.h.
|
inline |
|
inline |
|
inline |
Definition at line 268 of file include/eq/fabric/channel.h.
|
inline |
Definition at line 89 of file include/eq/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.
Reimplemented in eqPly::Channel, and eVolve::Channel.
Definition at line 183 of file include/eq/fabric/channel.h.
Referenced by eq::fabric::Channel< Window, Channel >::getFrustum(), and eq::fabric::Channel< Window, Channel >::getHeadTransform().