Graphics Reference
In-Depth Information
The Rendering Pipeline
The Direct3D 11 Rendering Pipeline is the mechanism used to process memory resources
into a rendered image with the GPU. The pipeline itself is made up of a number of smaller
logical units, called pipeline stages. Data is processed by progressing through the pipeline
one stage at a time and is manipulated in some way at each stage. By understanding how
the individual stages of the pipeline operate, and the semantics for using them, we can use
the pipeline as a whole to implement a wide variety of algorithms that execute in real time.
As GPUs have become increasingly powerful with each new architecture genera-
tion, the size and capabilities of the pipeline have expanded significantly. In addition, the
complexity and configurability of each pipeline stage has steadily increased. The current
rendering pipeline has fixed-function stages, as well as programmable shader stages. This
chapter will first consider the differences between these types of pipeline stages. In par-
ticular, it will focus on the states that are required to make them function, as well as the
processing they can perform. After clarifying this distinction, we will consider the higher-
level details of how the pipeline is invoked, and how each pipeline stage communicates
with its neighbors.
We will then explore each of the pipeline stages in detail. This includes the individual
functions that each stage performs, a thorough discussion of how the stages are configured,
and the general semantics that they bring along with them. With a firm understanding
of what each individual component of the pipeline does, we can consider some of the
higher-level functionalities that are implemented by groups of pipeline stages in various
configurations. We will also discuss several high-level data processing concepts for the
pipeline as a whole, including how to manage such a complex processing architecture.
The rendering pipeline has evolved into a sophisticated set of APIs, which can be used to
implement a wide variety of algorithms. After completing this chapter, we will have a deep
and thorough understanding of how to use the rendering pipeline to develop efficient and
interesting rendering techniques for use in real-time rendering applications.
117
Search WWH ::




Custom Search