Parent Directory
|
Revision Log
configtool: enable different # of pipes per node, update documentation, add eqPly html doc. [ ] May break build [ ] Breaks existing applications [ ] Bugfix [x] New Feature [ ] Cleanup [ ] Optimization [x] Documentation
Parallel Polygonal Renderer
Overview
The eqPly example is the primary Equalizer sample implementation. It does
render polygonal data, read from a ply file. I supports all Equalizer
compound features, namely 2D (sort-first), DB (sort-last) and Eye (stereo)
decompositions. In DB mode, each contributor renders it's part of a model
in a different color to illustrate the database decomposition.
Application Structure
As any Equalizer application, eqPly consists of the main application and
the rendering clients. In this simple example, they are both contained in
the same executable. The executable can also be run as a resident render
client, which is used to pre-launch rendering nodes manually.
Application Main Loop
The main application is driving the rendering, that is, it controls the
execution flow by receiving events from the render nodes, acting on these
events and by issuing the rendering of new frames. It does not execute any
rendering code.
Render Nodes
The main function executes first eq::init(), which will not return when
the program is launched by the server as a render client. The Equalizer
library connects the render client to the server, and receives commands
from this server. The individual rendering entities --nodes, pipes,
windows, channels-- are created using the NodeFactory. On these entities,
various functions, e.g. init, update and exit, are called based on the
commands received from the server. These callback functions typically
receive an identifier defined by the application to provide contextual
information. For example, the node's init method receives the identifier
of the InitData object, as defined by the application. It instanciates the
object and loads the polygonal model named by the InitData. A seperate
document describes all task methods.
Event Processing
Equalizer collects events for all windows asynchronously and sends them to
the application thread, where they are processed at the end of the frame
by Config::handleEvent. This example implements a trackball, move and zoom
mouse interaction, as well as some keystroke commands. A seperate document
describes the event handling.
Usage
USAGE:
./eqPly [-c unsigned short] [-n unsigned] [-b] [-p string] [-m
string] [--] [--version] [-h]
Where:
-c unsigned short, --client unsigned short
Run as resident render client
-n unsigned, --numFrames unsigned
Maximum number of rendered frames
-b, --bw
Don't use colors from ply file
-p string, --port string
tracking device port
-m string, --model string
ply model file name
--, --ignore_rest
Ignores the rest of the labeled arguments following this flag.
--version
Displays version information and exits.
-h, --help
Displays usage information and exits.
| Back to Equalizer website | ViewVC Help |
| Powered by ViewVC 1.0.3 |