DrawIndexedPrimitive()函数

本文详细介绍了DrawIndexedPrimitive()函数的使用方法及各个参数的意义。解释了如何通过不同的参数设置来绘制点、线以及不同类型的三角形,并举例说明了BaseVertexIndex、MinIndex等参数的具体应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DrawIndexedPrimitive()函数有几个参数

  D3DPRIMITIVETYPE Type,
  INT BaseVertexIndex,
  UINT MinIndex,
  UINT NumVertices,
  UINT StartIndex,
  UINT PrimitiveCount

 

 

D3DPT_POINTLIST 画点 
D3DPT_LINELIST 画线:12,34,56
D3DPT_LINESTRIP 画线:12,23,34,45,56
D3DPT_TRIANGLELIST ,三角形:顶点必须是3的倍数。123,345。 
D3DPT_TRIANGLESTRIP ,三角形:123,234,345,456
D3DPT_TRIANGLEFAN ,三角扇形:123,134,145,156等
参数BaseVertexIndex:这个参数与索引缓冲区中的索引相加之后得到的值才是顶点缓冲区 中的真实位置。有了这个参数,我们可以用一个索引缓冲区去渲染放 在同一个顶点缓冲区中的多个Mesh。当然,这几个Mesh的顶点绘制顺 序必须一致。
参数MinIndex:索引缓冲区中最小的索引号
参数NumVertices:渲染过程需要处理的顶点数。
参数StartIndex:索引缓冲区中从那个索引开始渲染顶点。
参数PrimitiveCount :渲染图元的个数。

例:

vertex buffer = |v0|v1|v2|v3|v4|v5|v6|v7|v8|
index buffer = 0,2,1,1,2,3

那么假如你要画的三角形是5,6,7三个点组成的,那么
BaseVertexIndex = 4 表示索引的0对应的是v4
minIndex=1, 表示索引的最小值是1
NumVertices = 3 表示有3个点
StartIndex = 3 表示绘制从索引buffer的第3个元素开始
PrimitiveCount = 1

 

转载于:https://www.cnblogs.com/huking/archive/2010/05/31/1747935.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值