2006年08月
最后一种三角形列表显示是扇形排列的三角形列表。这种排列方式,有一个特别的地方,就是所有三角形共享一个顶点,这样特别适合构成曲面的地方,比如球体和圆形的东西。阅读全文>
发表于 @ 2006年08月27日 21:39:00|评论(loading...)|编辑
三角形显示的方式总共分为三种,前面已经学习最多的是三角形列表,现在再来看看三角形带列表是什么样的,这样有什么优点呢?这里显示图形如下:阅读全文>
发表于 @ 2006年08月24日 22:58:00|评论(loading...)|编辑
在D3D里还提供线带列表显示,这种显示方式是把所有直线顺着顶点连接显示出来。阅读全文>
发表于 @ 2006年08月23日 22:52:00|评论(loading...)|编辑
D3D还提供直线的显示,由于很多自然现现象需要它来显示。比如大雨,就需要使用直线来模拟出来。阅读全文>
发表于 @ 2006年08月22日 00:12:00|评论(loading...)|编辑
在D3D里只有几种基本图形可以显示的,它们分别是:
点列表、线列表、线带列表、三角形列表、三角形带列表、三角形扇形列表。
其它任何的图形,都可以由这向这几种基本图形组合出来。上面已经介绍了三角形显示了,所以这里就不再具体地说明它了阅读全文>
发表于 @ 2006年08月21日 00:28:00|评论(loading...)|编辑
什么是索引缓冲区呢?其实索引缓冲区,就像指针一样的工具。顶点缓冲区里保存的是真实的顶点,而索引缓冲区只记录顶点缓冲区的顶点编号。比如顶点缓冲区里有4个顶点,而这4个顶点就可以构成两个三角形来显示。如果直接使用顶点缓冲区的话,就需要写6个顶点。这样就可以使用索引缓冲区,指明第一个三角形是由顶点编号1、2、3构成一个三角形,而第二个三角形就是1、3、4组成。
阅读全文>
发表于 @ 2006年08月17日 23:16:00|评论(loading...)|编辑
上面已经学习了最简单的三角形显示,了解了整个3D物体的显示流程,下面来学习一个复杂一点的物体显示,使用12个三角形构造成的正方体显示。并且通过个例子学会使用索引缓冲区,提高图形绘制的速度和效率。阅读全文>
发表于 @ 2006年08月16日 22:18:00|评论(loading...)|编辑
经过前面这么多步骤,做足了准备工作,就可以渲染物体,显示三维空间的图像了。这时心情要兴奋起来,就看到自己辛苦的果实了。
阅读全文>
发表于 @ 2006年08月14日 23:53:00|评论(loading...)|编辑
投影变换矩阵是做什么的呢?这个更容易理解了。大家都应看过照片吧,那大家又想过照片是怎么样表现原来的物体呢?看到远处的山是小的,近处的人是大的。阅读全文>
发表于 @ 2006年08月13日 00:03:00|评论(loading...)|编辑
视图变换矩阵是做什么用的呢?为什么需要视图变换矩阵呢?其实这个问题很好回答和理解的。在3D世界里,所有东西都是跟现实中的实物一样的,当用人的眼睛去观看现实中的实物时,总是从某一方向去观察的,这样就看到实物组成的图像。就像你拿着照相去照相是一样的,首先要调好焦距,对准物体。在D3D里也需要调好焦距,对准物体,否则什么也看不到。因此在D3D里,就需要设置好视图变换矩阵。也就是相机的位置和焦距。阅读全文>
发表于 @ 2006年08月11日 23:58:00|评论(loading...)|编辑
在设置顶点缓冲区之后,就需要设置物体的世界坐标变换矩阵。从解析几何里可以知道,无论二维还是三维的图像都可以通过齐次坐标来变换的。目前在三维里的变换,采用的矩阵是4×4的矩阵来实现变换处理。在D3D里定义D3DXMATRIX类型,使用它来表达一个矩阵,并且定义一系列的函数可以实现矩阵的运算。阅读全文>
发表于 @ 2006年08月11日 00:15:00|评论(loading...)|编辑
顶点的数据是怎么样保存在内存里的呢?由于渲染需要,就要把顶点保存在内存缓冲区里。最简单的方法就是使用D3D。阅读全文>
发表于 @ 2006年08月09日 13:14:00|评论(loading...)|编辑
前面已经学习了顶点、平面以及平面的法向量。接着下面就带你进入奇幻的3D世界,由你去创造这个美好的3D世界。任何美好的事物都是简单的东西组成的,所以也需要从最简单的物体构造开始。这里主要显示一个三角形,其它关于窗口和初始化D3D的设备都已经由MM3D引擎做好了,目前只要设置顶点、世界坐标变换矩阵、观察变换矩阵、投影变换矩阵,然后渲染这个三角形,就可以显示屏幕里了阅读全文>
发表于 @ 2006年08月08日 13:16:00|评论(loading...)|编辑
3D空间里的物体都是实体的,主要由平面组成。比如正方体,就有6个平面。在D3D里组成三维物体的基本平面是三角形,无论是多么复杂的物体,都是有三角形组成的。并且D3D里支持显示最小的图形也是三角形,它是没有点和直线显示的。因此,要显示正方体,就需要把每个平面分成两个三角形,才能显示。阅读全文>
发表于 @ 2006年08月06日 00:42:00|评论(loading...)|编辑
在D3D里使用的坐标系是左手坐标系,就是当你看屏幕时,左手边是X轴的负方向,右手边是X轴的正方向。屏幕下边是Y轴的负方向,屏幕上边是Y轴的正方向。远离屏幕是Z轴的负方向,指向屏幕里面是Z轴的正方向。
坐标系还有右手坐标系,还有其它各种各样的坐标系。如果需要从其它坐标里的图形显示在D3D里,就需要进行转换。阅读全文>
发表于 @ 2006年08月04日 13:13:00|评论(loading...)|编辑
在《高级汉语大词典》中,“游戏”意为游乐、玩耍等,“游”意为游玩、结交、闲逛、学习等,“戏”有游戏、戏剧、角力等解释,而“玩”则有玩耍、欣赏、投入、反复体会等含义。从这些林林总总的含义中,我们是否可以得出这样一些理解:
游戏具有学习的特征――学习、投入、反复体会。
游戏具有社会的特征――结交。
游戏具有娱乐的特征――游乐、玩耍、欣赏、角力。
其实,游戏的种类多种多样,这里主要关心是电脑游戏,说得更精确一点,就是三维游戏。
阅读全文>
发表于 @ 2006年08月04日 13:05:00|评论(loading...)|编辑