【D3D11游戏编程】学习笔记七:3D渲染管线

      

       (注:【D3D11游戏编程】学习笔记系列由CSDN作者BonChoix所写,转载请注明出处:http://blog.csdn.net/BonChoix,谢谢~)

 

       3D图形学研究的基本内容,即给定场景的描述,包括各个物体的材质、纹理、坐标等,照相机的位置及朝向,光源等信息,计算其最终在二维的光栅化显示器上对应的显示结果。从最初的场景描述到最终的显示结果,这整个过程就是在3D渲染管线中完成的。
       这里的“管线”即我们通常意义上的流水线,与工业上的生产流水线,或者是CPU指令执行的流水线具有相似的意义。如果对“流水线”概念有所了解,就会明白其直接目的就是提高执行的效率。假如没有流水线,所有的处理都放到单独一个阶段执行,那么一个顶点从开始被处理到最终处理完毕的过程中,后面的顶点只能处于等待状态。假设整个处理过程时间为T,那么系统的吞吐量就相当于1/T。 如果把整个处理过程合理地分成不同的阶段,我们假设平均分成了5个阶段(P1,P2,P3,P4,P5,且每个阶段执行时间为T/5),各个阶段可以互不影响地独立工作,即一个顶点在执行完P1进入P2阶段后下一个顶点马上可以进入P1阶段开始执行。这种情况下在任意时刻,五个阶段就可以同时工作,效率自然会大大提高。此时的吞吐量为5/T这个事实就是证明。当然,真正的管线不同的阶段执行时间一般不可能完全一样的,这时整个管线的效率瓶颈取决于时间最长的那个,假设为Tmax,则整个管线的吞吐量为1/Tmax。
 在D3D11中,整个渲染管线可以分成如下几个主要阶段:

       从最开始的Input Assembler阶段到最终的Output Merger阶段,每个阶段处理完的输出,传递给下一个阶段,作为其输入。
       下面针对各个阶段逐个进行介绍:
1. Input Assembler Stage
       这个阶段的主要目的是根据用户提供的顶点及索引信息,构建多边形,主要有点、线段、三角形。给定顶点和索引,构建多边形的方法取决于所使用的基本图元的拓扑类型(Primitive Topology)。D3D11中常见的拓扑类型有以下几种:
   1. Point List:定义的每一个顶点作为一个单独的点进行绘制,如图:

  • 17
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值