D3D中的基本图元包括:点集合、线段集合,相连线段、三角形集合、相连三角形、三角形组成的扇形. D3D中的多边形都由三角形组成,使用三角形的原因是:由三个点组成的图形一定在同一个平面上,对于图形渲染来说在一个面上渲染的效率要远高于多个面上的渲染,因此需要使用多边形时一般由三角形拼凑。
使用D3D绘制图形前,需要创建D3D对象和D3D设备对象,D3D对象是使用D3D的接口,可以通过D3D对象来创建D3D设备,然后使用设备来绘制图形.绘制图形时我们需要告诉D3D设备我们需要绘制什么样的图形,绘制的图形数据在哪儿.一般情况下,对应简单图形的绘制,我们把简单图形的顶点存放在顶点缓存中,然后使用这些点组成的点、线、面来绘制图形.有时我们在绘制图形时,有些点是共有点,如果共有点的数量非常大,我们可以使用索引顶点缓存,即:用顶点缓存记录图形中的所有点,用顶点缓存来记录这些点组成图形的方式,最后通过顶点索引来绘制图形。
上述表示为绘制二维图形,当需要绘制三维图形时,我们还需要一些知识,比如:世界坐标、视窗坐标、透视坐标以及坐标变换。三维的图形含有三个方向上的坐标,而屏幕是二维的,为了在屏幕上表现出来,需要把三维的物体,投影到二维的屏幕上,因此就需要坐标变换,坐标变换多借助于矩阵,通过矩阵的运算来实现坐标变换。代码绘制了一个简单的立体十字架,并且该十字架绕X轴不停的旋转。下载代码