D3D编程之绘制简单图形

原创 2012年03月29日 00:00:33

D3D中的基本图元包括:点集合、线段集合,相连线段、三角形集合、相连三角形、三角形组成的扇形. D3D中的多边形都由三角形组成,使用三角形的原因是:由三个点组成的图形一定在同一个平面上,对于图形渲染来说在一个面上渲染的效率要远高于多个面上的渲染,因此需要使用多边形时一般由三角形拼凑。

使用D3D绘制图形前,需要创建D3D对象和D3D设备对象,D3D对象是使用D3D的接口,可以通过D3D对象来创建D3D设备,然后使用设备来绘制图形.绘制图形时我们需要告诉D3D设备我们需要绘制什么样的图形,绘制的图形数据在哪儿.一般情况下,对应简单图形的绘制,我们把简单图形的顶点存放在顶点缓存中,然后使用这些点组成的点、线、面来绘制图形.有时我们在绘制图形时,有些点是共有点,如果共有点的数量非常大,我们可以使用索引顶点缓存,即:用顶点缓存记录图形中的所有点,用顶点缓存来记录这些点组成图形的方式,最后通过顶点索引来绘制图形。

上述表示为绘制二维图形,当需要绘制三维图形时,我们还需要一些知识,比如:世界坐标、视窗坐标、透视坐标以及坐标变换。三维的图形含有三个方向上的坐标,而屏幕是二维的,为了在屏幕上表现出来,需要把三维的物体,投影到二维的屏幕上,因此就需要坐标变换,坐标变换多借助于矩阵,通过矩阵的运算来实现坐标变换。代码绘制了一个简单的立体十字架,并且该十字架绕X轴不停的旋转。下载代码

d3d坐标系与绘制基本图元

坐标系与基本图元(5) 使用索引缓冲区绘制图形 当绘制一个比较复杂的图形时,需要使用许多相互邻接的三角形。如果为每个三角形准备三个顶点数据,显然有许多数据是重复的,这样会浪费大量的内存和系统带宽。为...
  • linuxheik
  • linuxheik
  • 2017年01月06日 15:57
  • 440

D3D9 简单图形的绘制以及显示

程序截图所示: 要想完成这样的程序,首先咱们先得知道以下几点才能进行绘制并且显示: 一、了解什么是D3D9的绘制流水线: 1.局部坐标系:         主要用于在使用3D建模时,所使用...
  • qq_33248019
  • qq_33248019
  • 2017年05月26日 15:53
  • 802

java编程之美(一)

实践编程已经有足足6年多时间,也算是有一定经验,经常在工作中遇到各种让人不爽的代码编写方式,今天忍不住要来唠叨下。 为什么叫编程之美? 在我看来,代码有丑陋难看和赏心悦目两类,当然还有介于两者之...
  • tang9140
  • tang9140
  • 2015年11月01日 18:28
  • 1027

编程之美之扩展问题

参考链接:http://blog.csdn.net/wuyuegb2312/article/details/9896831 1.1 让CPU占用率曲线听你指挥 参考: http://blog.csd...
  • jerryzcx
  • jerryzcx
  • 2014年03月06日 23:33
  • 2514

[编程之美-10]面试当中的智力题(不定期更新)

[版权说明]  编程之美系列算法题集参考:  左程云 著《程序员代码面试指南IT名企算法与数据结构题目最优解》  July 著《编程之法面试和算法心得》  何海涛 著《剑指offer》  微软编程之美...
  • caicaiatnbu
  • caicaiatnbu
  • 2017年06月07日 23:44
  • 379

2014-04-19编程之美初赛题目及答案解析

第一题: 描述 一般来说,我们采用针孔相机模型,也就是认为它用到的是小孔成像原理。 在相机坐标系下,一般来说,我们用到的单位长度,不是“米”这样的国际单位,而是相邻像素的长度。而焦距...
  • kunlong0909
  • kunlong0909
  • 2014年04月19日 16:44
  • 4451

编程之美2.18—数组分割

题目: 有一个没有排序,元素个数为2N的正整数数组。要求把它分割为元素个数为N的两个数组,并使两个子数组的和最接近。 基本思想: 假设数组A[1..2N]所有元素的和是SUM。模仿动...
  • wtyvhreal
  • wtyvhreal
  • 2015年04月28日 11:37
  • 678

《编程之美》学习笔记——指挥CPU占用率

问题: 写一个程序,让用户来决定Windows任务管理器(Task Manager)的CPU占用率(单核)。有以下几种情况: 1.CPU占用率固定在50%,为一条直线 2.CPU的占用率为一条直线,具...
  • lyh03601
  • lyh03601
  • 2014年09月28日 15:07
  • 1163

编程之美4.4 扩展问题——判断点位于多边形内部

首先说明的是此多边形是任意多边形,包括凹多边形: 方法一:射线法 以此点为原点的向右水平射线如果相交于多边形的点的个数为奇数个,则此点在多边形内部,但需要注意几个trick: 有可能射线...
  • whosemario
  • whosemario
  • 2013年01月01日 09:52
  • 1113

编程之美2.21 只考加法的面试题

题目: 我们知道:1+2=3;              4+5=9;              2+3+4=9; 等式左边都是两个以上连续的自然数相加,那么是不是所有的整数都可以写成这种形式...
  • huahuahailang
  • huahuahailang
  • 2013年04月16日 15:26
  • 3471
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:D3D编程之绘制简单图形
举报原因:
原因补充:

(最多只允许输入30个字)