第三章 第八节 设置顶点缓冲器

设置顶点缓冲器(Vertex Buffer

在前面的“转换模型坐标到视点坐标”一节里,需要渲染的物体的顶点数据全部打包放在一个顶点缓冲器里。在渲染阶段调用的DrawPrimitive方法使用了顶点缓冲器里的这些信息来进行渲染。指定的图元(primitive)类型必须要匹配顶点在缓冲器里放置的方式,这样才能得到想要的结果。

 

五个基本的图元类型可以用来渲染:点、线、三角形列表、三角形带和三角形扇。点图元用来在屏幕上绘制单个的像素,例如当你想描述夜空或者太空的星星时。另一个更加流行的用途是在例子系统里绘制点粒子。(粒子系统将在第四章讲述。)顶点缓冲器里每个顶点是一个三维的坐标位置,还有颜色信息。此类型的图元数量会缓冲器里的顶点数量。

 

第二种图元,线段,用来在三维空间中两个点之间绘制一条单像素宽的线段。这可能是最少被使用的图元类型。它的唯一用途是绘制覆盖图中足智多谋的显示信息(Its only utility is to render “heads-up” display information as part of an overlay)。此图元实际上常常以两个类型出现:LineListLineStrip。列表版本指明缓冲器中每两个顶点会被绘制成一条线段。要注意的是如果我们绘制线段列表,顶点缓冲器里的顶点数量必须是偶数。条带版本使用缓冲器里的顶点绘制一跳多段的线段。

 

剩下的图元类型在3D游戏中使用的最多。利用三角形之间的关系来绘制三角形。第一种也是最普通的事三角形列表。位于缓冲器里的每三个顶点,都会绘制成一个三角形。这种方法在三种三角形类型中只要最少次数的设置。如果物体的三角形邻接的绘制,我们可以利用这一条件,使邻接的三角形共享公共的顶点。

 

三角形带图元被使用在这种情况下:如果缓冲器中每个三角形的后两个顶点是后一个三角形的顶点。这比使用三角形列表方法提高了大概66%的性能,因为相比前种方法只需三分之一的顶点被转换成屏幕坐标。为了使用这种图元,我们必须照规则来建模物体,并且保证缓冲器里是正确填充的(packed)。三角形带大量被用在绘制一个矩形区域。3-4 给出了三角形带动一个示例:

 

3-4三角形带

 

最后一种图元是三角形扇。扇有带同样的优点,不过却有稍微不同的用途。在三角形扇里,缓冲器里第一个顶点与扇里所有的三角形共用。每个三角形的最后一个顶点与下一个三角形共用。3-5 给出了三角形扇的一个示例:

3-5 三角形扇

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值