Image Processing Reference
In-Depth Information
31.3.1 Parallel Rendering
Creating high quality images from large-scale simulation data is obviously a compute
intensive process, especially in the case where interactive virtual environments are
used. Fast update rates are required which leads to very high floating-point per-
formance and enormous memory requirements. These requirements are beyond the
capabilities of a single graphics processor. A common solution to avoid these issues
is parallelism.
Various types of parallelism have proven to speedup the rendering process.
Functional parallelism called pipelining for example can speedup critical calcula-
tions, and data parallelism is essential to compute multiple results at once. Data
segmentation in the field of parallel rendering can either rely on geometry distribu-
tion and/or the distribution of screen-pixels or screen-portions.
When rendering geometry, which is formed by a collection of raw primitives (e.g.
triangles), all raw primitives have to pass the rendering pipeline including geometry
processing followed by rasterization. Geometry processing performs calculations like
transformation, clipping and lighting. The rasterization then transforms the resulting
screen-space primitives from the geometry processing to pixels. To get a uniform
understanding of parallel rendering techniques, Molnar et al. [ 33 ] introduced a classi-
fication scheme based on where sorting fromobject coordinates to screen coordinates
occurs. The sort can, in general, take place anywhere in the rendering pipeline:
during geometry processing (sort-first),
between geometry processing and rasterization (sort-middle),
or during rasterization (sort-last).
Sort-first means that raw primitives are redistributed before their screen-space
parameters are known. Sort-middle means the redistribution of screen-space primi-
tives and in sort-last pixels are redistributed. Before rendering, the geometry is arbi-
trarily distributed over the involved rendering resources. Therefore, every resource
has to render only a subset of the geometry.
In sort-first rendering the screen is divided into disjunct regions. Therefore, in a
first step it is determined in which screen region the raw primitive has to be ren-
dered via simplified transformations. Subsequent geometry processing steps are dis-
carded. If the raw primitive falls into another screen-portion, it is send over a network
interconnect to the correct rendering resource. Sort-first algorithms have advantages
because of low communication requirements if only few raw primitives have to be
redistributed between frames or when a raw primitive requires many pixels to be cov-
ered on screen. However, this technique can lead to load imbalances when primitives
are unevenly distributed over the screen portions or due to clustering of geometry
due to transformations.
Sort-middle systems redistribute screen-space primitives between geometry
processing and rasterization. The screen is also divided into disjunct regions. In a
first step it is determined in which screen region the raw primitive has to be rendered
due to passing the complete geometry processing unlike in sort-first. The result-
ing screen-space primitives are then redistributed to the correct rasterizer, possibly
 
Search WWH ::




Custom Search