《Study Direct 3D》第二节

本文详细介绍了Direct3D中的DrawUserPrimitives和DrawPrimitives方法,包括它们的参数解析,如PrimitiveType枚举用于区分不同图形类型(如点、线段、三角形),以及如何指定绘制的数量和顶点数据。通过实例展示了各种图形的绘制,帮助理解Direct3D的图形渲染过程。

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

在前一节中提到的渲染方法Render()中的不同实例如何区分呢?

如:      device.DrawUserPrimitives(PrimitiveType.TriangleFan,5, verts1);  //绘制5个三角形
            device.DrawUserPrimitives(PrimitiveType.TriangleStrip, 4, verts1); //绘制4个三角形
            device.DrawUserPrimitives(PrimitiveType.TriangleList, 2, verts1); //绘制2个三角形
            device.DrawUserPrimitives(PrimitiveType.LineList, 3, verts1);  //绘制3条线段
            device.DrawUserPrimitives(PrimitiveType.LineStrip, 5, verts1); //绘制5条线段
            device.DrawUserPrimitives(PrimitiveType.PointList, 6, verts1); //绘制6个点

     下面介绍DrawUserPrimitives(使用托管堆中定义的顶点索引绘制)和DrawPrimitives(使用Device中的设置的输入流来绘制

一、DrawUserPrimitives(PrimitiveType primitiveType,int primitiveCount,object vertexStreamZeroData);
    //看下参数
   1.
PrimitiveType primitiveType //是个枚举类
      PrimitiveType.PointList  //绘制若干点,枚举值为1
      PrimitiveType.LineList  //绘制若干线段,枚举值为2

      PrimitiveType.LineStrip //将绘制的线段衔接起来,最终是一条折线,枚举值为3

      PrimitiveType.TriangleList //绘制若干三角形,枚举值为4
      PrimitiveType.TriangleStrip 
//绘制若干相连的三角形,枚举值为5
      PrimitiveType.TriangleFan //绘制若干相连的三角形每两个相连的三角形共享两个顶点,所有三角形共享一个三角形

                                            //枚举值为6

     D3DPT_FORCE_DWORD //这个好像很少用到,好像与什么32位有关,具体啥意思不是很清楚(可以省略)

  2.int primitiveCount //要绘制的图形的个数,几条线绘制是几个三角形
  3.object vertexStreamZeroData
 //含有所有顶点定义的数据 如数组
二、DrawPrimitives(PrimitiveType primitiveType,int startVertex, int primitiveCount);
//第一个参数同上
//第二个参数绘制的第一个顶点索引
//第三个参数是绘制的平面数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值