一、概述

这篇文章主要讲解渲染管线(rendering pipeline)的理论知识。

渲染管线是指:在给定一个3D场景的几何描述及一架已确定位置和方向的虚拟摄像机(virtual camera)时,根据虚拟摄像机的视角生成2D图像的一系列步骤。

下图所示为构成渲染管线的各个阶段,以及与各个阶段相关的内存资源。

从上图中我们可以看到,渲染管线就像工厂中的流水线,把各个处理过程分成不同的阶段,各个阶段可以独立工作,这样,各个阶段就可以同时工作,效率自然就会比较高。3D渲染从最初的场景描述到最终的显示结果,这整个过程就是在3D渲染管线中完成的。

这篇文章中,我们将详细讲解D3D11中渲染管线的各个阶段。

 

二、渲染管线的各个阶段

2.1 输入装配阶段

输入装配(Input Assembler,简称IA)阶段从内存读取几何数据(顶点和索引)并将这些数据组合为几何图元(例如,三角形、直线)。我们通过指定图元拓扑来告诉Direct3D以何种方式组成几何图元。D3D11中常见的拓扑类型有以下几种:

(1)点列表(point list)每个顶点都会被绘制为一个独立的点,如下图:

(2)线带(line strip)前后相邻的两个顶点会形成一条直线,如下图:

网友评论