Graphics Reference
In-Depth Information
3.1 Pipeline State
To understand how the pipeline operates, we need to look no further than its name. Data is
submitted as input at one end of the pipeline, and then processed by the first pipeline stage.
This data consists of vector-based variables with up to four components. After processing
in the first stage is completed, the modified output data is passed on to the next stage. The
next set of data is then brought into the first stage. This means that the first two stages
are processing different pieces of data at the same time. This process is repeated until the
complete pipeline is operating simultaneously on different portions of the input data. The
pipeline architecture specifically allows multiple operations to be performed at the same
time by different pipeline stages, which lets many specialized processes be carried out on
an individual data item as it travels through the pipeline. Once a data item reaches the end
of the pipeline, it is stored to an output resource, which can later be used as needed by
the host application. This pipeline concept is a simple but powerful processing technique,
similar in nature to an assembly line. Figure 3.1 shows how data is processed by a pipeline.
The task of the developer is to properly configure each stage of the pipeline to obtain
the desired result when the data emerges from the end of the pipeline. The pipeline con-
figuration process is performed by manipulating the state of each individual stage of the
pipeline. By organizing the pipeline into stages, Direct3D 11 effectively groups related sets
of states together and consolidates how they are manipulated. There are two different types
of pipeline stages, the fixed function stages and the programmable shader stages. Both
stage types share some common concepts regarding how data flows through them and how
their states are manipulated by an application. The following sections will explore these
two types of states and provide some general concepts of how to work with them.
3.1.1 Fixed Pipeline Stages
The fixed-function pipeline stages perform a fixed set of operations on the data passed to
them. They perform specific operations, and hence provide a "fixed" scope of available
functionality. They can be configured in various ways, but they always perform the same
Figure 3.1. The Direct3D 11 rendering pipeline.
Search WWH ::




Custom Search