18 #ifndef EQ_COMPOSITOR_H
19 #define EQ_COMPOSITOR_H
24 #include <eq/fabric/pixel.h>
25 #include <eq/fabric/zoom.h>
57 static uint32_t assembleFrames(
const Frames& frames,
72 static uint32_t blendFrames(
const Frames& frames,
Channel* channel,
87 static uint32_t assembleFramesUnsorted(
const Frames& frames,
108 static uint32_t assembleFramesCPU(
const Frames& frames,
Channel* channel,
109 const bool blend =
false );
110 static uint32_t assembleImagesCPU(
const ImageOps& ops,
Channel* channel,
123 static const Image* mergeFramesCPU(
const Frames& frames,
124 const bool blend =
false,
125 const uint32_t timeout = LB_TIMEOUT_INDEFINITE );
126 static const Image* mergeImagesCPU(
const ImageOps& ops,
const bool blend );
132 static void assembleFrame(
const Frame* frame,
Channel* channel );
144 static void assembleImage(
const ImageOp& operation,
Channel* channel );
152 static void setupStencilBuffer(
const ImageOp& operation,
160 static void clearStencilBuffer(
const ImageOp& operation );
167 static void setupAssemblyState(
const PixelViewport& pvp,
168 const GLEWContext* gl );
173 static void resetAssemblyState();
176 static void assembleImage2D(
const ImageOp& op,
Channel* channel );
178 static void assembleImageDB(
const ImageOp& op,
Channel* channel );
184 static void assembleImageDB_FF(
const ImageOp& op,
Channel* channel );
190 static void assembleImageDB_GLSL(
const ImageOp& op,
Channel* channel );
210 static WaitHandle* startWaitFrames(
const Frames& frames,
225 static Frame* waitFrame( WaitHandle* handle );
230 static bool isSubPixelDecomposition(
const Frames& frames );
231 static bool isSubPixelDecomposition(
const ImageOps& ops );
237 typedef std::pair< const Frame*, const Image* > FrameImage;
241 #endif // EQ_COMPOSITOR_H
std::vector< ImageOp > ImageOps
A vector of image compositing operations.
A channel represents a two-dimensional viewport within a Window.
A C++ class to abstract an accumulation buffer.
A set of functions performing compositing for a set of input frames.
A structure describing an image assembly task, used by the Compositor.
The Equalizer client library.
std::vector< Frame * > Frames
A vector of pointers to eq::Frame.
A holder for a frame data and related parameters.