您的位置:首页 > 其它

The Direct3D 11 programmable pipeline

2015-06-09 13:54 375 查看
Graphics Pipeline

The Direct3D 11 programmable pipeline is designed for generating graphics for realtime gaming applications. This section describes the Direct3D 11 programmable pipeline. The following diagram shows the data flow from input to output through each of the programmable
stages.



The graphics pipeline for Microsoft Direct3D 11 supports the same stages as the Direct3D
10 graphics pipeline, with additional stages to support advanced features.

You can use the Direct3D 11API to configure all of the stages. Stages that feature common shader cores (the rounded rectangular blocks) are programmable by using the HLSLprogramming
language. As you will see, this makes the pipeline extremely flexible and adaptable. The following list specifies the purpose of each of the stages.

Input-Assembler Stage -
The input-assembler stage supplies data (triangles, lines and points) to the pipeline.

Vertex-Shader
Stage - The vertex-shader stage processes vertices, typically performing operations such as transformations, skinning, and lighting. A vertex shader always takes a single input vertex and produces a single output vertex.

Geometry-Shader
Stage - The geometry-shader stage processes entire primitives. Its input is a full primitive (which is three vertices for a triangle, two vertices for a line, or a single vertex for a point). In addition, each primitive can also include the vertex data
for any edge-adjacent primitives. This could include at most an additional three vertices for a triangle or an additional two vertices for a line. The geometry shader also supports limited geometry amplification and de-amplification. Given an input primitive,
the geometry shader can discard the primitive, or emit one or more new primitives.

Stream-Output Stage -
The stream-output stage streams primitive data from the pipeline to memory on its way to the rasterizer. Data can be streamed out and/or passed into the rasterizer. Data streamed out to memory can be recirculated back into the pipeline as input data or read-back
from the CPU.

Rasterizer Stage -
The rasterizer clips primitives, prepares primitives for the pixel shader, and determines how to invoke pixel shaders.

Pixel-Shader
Stage - The pixel-shader stage receives interpolated data for a primitive and generates per-pixel data such as color.

Output-Merger Stage -
The output-merger stage combines various types of output data (pixel shader values, depth and stencil information) with the contents of the render target and depth/stencil buffers to generate the final pipeline result.

Hull-shader, tessellator, and domain-shader stages, which comprise the tessellation
stages - The tessellation stages convert higher-order surfaces to triangles for rendering within the Direct3D 11 pipeline.

The Direct3D 11 programmable pipeline is also designed for providing high-speed computing tasks. A compute
shader expands Direct3D 11 beyond graphics to support general purpose GPU computing.


Related topics

Programming Guide for
Direct3D 11
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: