Graphics Reference
In-Depth Information
For the purposes of this text, we are concerned only with the data that is either
intrinsically geometric, or can be represented geometrically for the purpose of
rendering.
16.4.2 The Application-Model-to-IM-Platform
Pipeline (AMIP)
We now consider how an IM-based application drives an IM platform, which in
turn drives the GPU. Every such graphics application must implement—in addi-
tion to its own special semantics/logic—a multistage process that we call the
“Application-Model-to-IM-Platform pipeline,” or AMIP. The AMIP is the front
part of the client (CPU) side of the complete rendering pipeline depicted concep-
tually as a sequence of stages, each executing a designated task, in Figure 16.6.
At its most basic, the AMIP is composed of a traversal of the AM to do the
following.
Determine the scene to be rendered, including all geometry, materi-
als, lighting/special effects, and camera configuration. The application
traverses the application model to extract the data relevant to the scene,
transforming any nongeometric data into a geometric representation for
inclusion in the scene. This is analogous to the act of generating a view of
a database, an action requiring both selection (extraction based on query
criteria) and transformation (arbitrary computation on or reformatting of
extracted data fields).
Calculate the sequence of API calls needed to drive the IM layer to pro-
duce the image of the scene.
AMIP
Application
Figure 16.6 depicts the complete rendering pipeline from a functional point
of view. Another way to describe a graphics application is from a software-
engineering point of view: enumerating the layered software stack of compo-
nents, with the custom application code at the top of the stack, the graphics
hardware driver at the bottom, and intermediate platforms/libraries in between.
The graphics-related stack for a typical 3D graphics application is made up
of at least three layers (see Figure 16.7), and may contain four layers (see Fig-
ure 16.8) if a retained-mode middleware platform is used to assist with AMIP
duties.
How the AMIP's tasks are sequenced within the pipeline and divided between
layers of the software stack is volatile, as technologies evolve; moreover, AMIP
tasks that currently typically live on the CPU side are subject to movement to
the graphics hardware as GPU programmability becomes more exploited. We will
IM layer
Graphics hardware driver
Figure 16.7: Software stack for
an application that describes the
scene directly to the immediate-
mode platform.
Application
AMIP
RM middleware
CPU
GPU
IM layer
AMIP
IM layer
GPU pipeline
Graphics hardware driver
Application
model
Image
Figure 16.8: Software stack for
an
application
that
constructs
Figure 16.6: Abstract view of the typical application pipeline transforming the application
model into a scene delivered to the immediate-mode platform for rendering.
the
scene
using
retained-mode
middleware.
 
 
 
Search WWH ::




Custom Search