Graphics Reference
In-Depth Information
address this “division of labor” later; first let's focus on the kinds of tasks present
in the AMIP.
In all but the most trivial applications, it is necessary for the AMIP to work in
a highly optimized way in order to ensure scalability —that is, to ensure adequate
performance (especially for real-time animation) even as the size and complex-
ity of the scene grows. The term “Large-Model Visualization” (often abbreviated
LMV) is typically used to describe applications or platforms that handle scenes of
extremely high complexity such as a CAD model of a jetliner or cruise ship.
The primary goal of the AMIP's optimization tasks is to reduce consumption
of resources such as the following:
• Bandwidth between the CPU and the GPU, by minimizing data transmis-
sion to the GPU
• GPU memory consumption, for example by reducing the size of geometry
data cached on the GPU
• And GPU processing cycles, by generating an efficient sequence of IM-
layer instructions to the GPU to render the scene
CPU-side resources are used to perform these optimization tasks, so there is a
tradeoff here: The benefit of the reduced consumption later in the pipeline (espe-
cially regarding the GPU) comes at the cost of extra work being done earlier in
the pipeline.
In general, the AMIP is composed of stages through which scene data flows.
These stages operate sequentially, or partially in parallel, performing optimization
duties in three categories:
1. Reducing scene complexity
2. Generating an efficient stream of instructions to the IM layer
3. And avoiding redundant computation activities through appropriate
caching
16.4.2.1 Reducing Scene Complexity
There are three categories of tasks that help reduce the amount of graphical data
sent to and processed by the underlying IM layer, which we now describe.
16.4.2.1(a) Extracting the Scene from the “Universe”
In large applications, the application model may contain or represent a “universe”
of graphical objects that are not necessarily all visible simultaneously. The AMIP
thus extracts the relevant subset of the universe, based on application data that
specifies the desired rendering goals. For example, in an airplane CAD appli-
cation, the universe is the entire airplane's specification, and the subset to be
rendered might be determined by the user's selection of the subsystems (such as
electrical, HVAC, or hydraulic) of current interest.
As another example, consider a multilevel game, in which each level is a com-
pletely different subworld—the application need only extract the current subworld
to determine the scene to be rendered.
16.4.2.1(b) Reducing the Scene to the Minimal Potentially
Visible Set of Primitives
The AMIP's focus here is on high-level culling—elimination of entire primitives
or (better yet) large portions of the scene that need not be rendered. This is in
 
Search WWH ::




Custom Search