Graphics Reference
In-Depth Information
User input
Application
Read back
Read back
Texture
data
Polygon
data
Polygon
meshes
Graphics card
Fragments
Ve r t e x
data
Polygon
mesh
vertices
Geometric
transformations
Rasterize
and light
Image
assembly
Display
View
Lighting
data
Figure 1.10: In this depiction of a larger graphics pipeline, the application program per-
forms some work (e.g., animation) to determine the geometry to be displayed; this geomet-
ric description is handed to the graphics pipelines; the resultant image is displayed. At the
same time, user input, in response to the displayed image, may affect the next operations of
the application program, as may data read back from the graphics pipeline itself.
the task on the next piece of data. When such a pipeline is properly designed this
can result in improved throughput, although as stages are added, the total amount
of time it takes for an input datum to produce a result continues to increase.
In systems where interactive performance is critical, this lag or latency can be
important.
The graphics pipeline consists of four main parts: vertex geometry processing
and transformation, triangle processing (through rasterization) and fragment gen-
eration, texturing and lighting, and fragment-combination operations for assem-
bling the final image, all of which we'll summarize presently (and which are
covered in more detail in Chapters 15 and 38). You can think of this pipeline
as part of a larger pipeline that captures the structure of a typical program (see
Figure 1.10, in which the vertex processing portion is labeled “Geometric transfor-
mation”; the fragment generation, texturing, and lighting are collected into a sin-
gle box; and the portion representing the final processing of fragments is labeled
“Image assembly”).
In this larger pipeline, an application program generates data to be displayed,
and the graphics pipeline displays it. But there may be user input (possibly in
response to the displayed images) that controls the application, as well as infor-
mation read back from the graphics pipeline and also used in the computation of
the next image to be shown.
Each part of the graphics pipeline may involve several tasks, all performed
sequentially. The exact implementations of these tasks may vary, but the user of
such a system can still regard them as sequential; graphics programmers should
have this abstraction in mind while creating an application. This programmer's
model is the one provided by most APIs that are used to control the graphics
 
 
Search WWH ::




Custom Search