Graphics Pipeline

The Direct3D 11programmable pipeline is designed for generating graphics for realtime gamingapplications. This section describes the Direct3D 11 programmablepipeline. The following diagram shows the data flow from input to outputthrough each of the programmable stages.

The graphics pipelinefor Microsoft Direct3D 11 supports the same stages as the Direct3D 10 graphicspipeline, with additionalstages to support advanced features.

You can use theDirect3D 11API to configure all of the stages. Stages that feature commonshader cores (the rounded rectangular blocks) are programmable by usingthe HLSL programming language. As you will see,this makes the pipeline extremely flexible and adaptable. The following listspecifies the purpose of each of the stages.

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

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

·        Geometry-Shader Stage - The geometry-shader stage processesentire primitives. Its input is a full primitive (which is three vertices for atriangle, two vertices for a line, or a single vertex for a point). Inaddition, each primitive can also include the vertex data for any edge-adjacentprimitives. This could include at most an additional three vertices for atriangle or an additional two vertices for a line. The geometry shader alsosupports limited geometry amplification and de-amplification. Given an inputprimitive, the geometry shader can discard the primitive, or emit one or morenew primitives.

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

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

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

·        Output-Merger Stage - The output-merger stage combinesvarious types of output data (pixel shader values, depth and stencilinformation) with the contents of the render target and depth/stencil buffersto generate the final pipeline result.

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

The Direct3D 11programmable pipeline is also designed for providing high-speed computingtasks. A compute shaderexpands Direct3D 11 beyond graphics tosupport general purpose GPU computing.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值