渲染管道

支持 Direct3D 版本 10 的图形硬件可以使用共享可编程着色器核心进行设计。 GPU) (图形处理单元可以编程着色器核心,这些着色器核心可以跨构成呈现管道的功能块进行计划。 这种负载均衡意味着硬件开发人员不需要使用每种着色器类型,而只需要使用执行呈现所需的着色器类型。 然后,此负载均衡可以为处于活动状态的着色器类型释放资源。 下图显示了呈现管道的功能块。 图后面的部分更详细地描述了这些块。

说明 Direct3D 呈现管道的功能块的示意图。

  • 输入组装器

    输入汇编程序阶段使用固定函数操作读取内存中的顶点。 然后,输入汇编程序形成几何图形基元并创建管道工作项。 自动生成的顶点标识符、实例标识符 (可用于顶点着色器) ,基元标识符 (可用于几何着色器或像素着色器,) 启用特定于标识符的处理。 图中的虚线显示了特定于标识符的处理流程。

  • 顶点着色器

    顶点着色器阶段采用一个顶点作为输入并输出一个顶点。

  • 几何着色器

    几何着色器阶段采用一个基元作为输入,并输出零个、一个或多个基元。 在没有几何着色器的情况下,输出基元可以包含比可能更多的数据。 每个操作的输出数据总量 (顶点大小 x 顶点计数) 。

  • 流输出

    流输出阶段将 (流) 到达几何着色器的输出的基元连接到输出缓冲区。 流输出与几何着色器相关联,两者一起编程。

  • 光栅器

    光栅器阶段剪辑 (包括自定义剪辑边界) 基元、对基元执行透视划分、实现视口和剪刀选择、执行呈现目标选择和执行基元设置。

  • 像素着色器

    像素着色器阶段采用一个像素作为输入,并在相同位置或无像素处输出一个像素。 像素着色器无法读取当前呈现目标。

  • 输出合并器

    输出合并阶段执行固定函数呈现目标混合、深度和模具操作。