2006年12月7日

深入Managed DirectX9(九)

摘要: 特别提示:  为什么需要使用时间呢?为了方便讨论,假设我们每一帧都把赛道移动相同的距离。也许在你的电脑上它运行的很完美,但在其他的系统上呢?找一台比你的系统配置低的系统运行看看吧,赛道看起来会运行的相当缓慢。同样换到配置较高的系统上,赛道又会移动的快很多。原因在于你的计算是基于帧速率(frame rate)。假设在你的系统上,每秒可以跑60帧,那么所有的计算过程都是依赖于这个静态的帧速率而来的。因... 阅读全文

posted @ 2006-12-07 17:50 zenith 阅读(758) 评论(2) 推荐(0) 编辑

深入Managed DirectX9(八)

摘要: 使用Managed DirectX编写游戏选择游戏  虽然很多关于3D游戏编程的高级主题还没有讨论,但我们已经有足够的背景知识来写一个简单游戏了。这一章,我们将使用至今学过的知识,再加上一点点新的东西来创建游戏。  真正开始写游戏之前,最好先拟一份计划。我们需要确定写什么类型的游戏,它将有哪些最基本的特性,等等。考虑到目前的技术限制,自然不能写太复杂的游戏。这将是一个简单的游戏。在MS-DOS环境... 阅读全文

posted @ 2006-12-07 17:49 zenith 阅读(536) 评论(0) 推荐(0) 编辑

深入Managed DirectX9(七)

摘要: 定义Mesh  虽然有很多时候,你需要手动创建顶点和索引数据,但更普遍的情况是从外部的资源加载已有的顶点数据,比如从一个文件。通常我们使用.X文件来保存这些信息。在前一章里,代码的大部分都用来创建几何体了。对于简单的三角形和立方体来说这似乎是完全可行的,但设想假如用相同的方式来创建拥有上万个顶点的物体将,所花费的时间和努力都将是很可怕的。  幸运的是,Managed DirectX里有一个可以封装... 阅读全文

posted @ 2006-12-07 17:46 zenith 阅读(524) 评论(0) 推荐(0) 编辑

深入Managed DirectX9(六)

摘要: 更多渲染技术在讨论过了基础渲染方法之后,我们应该把注意力放到一些能提高性能,并且让场景看起来更好的渲染技术上来:渲染各种图元类型至今位置,我们只渲染过一种类型的图元,称为三角形集合。实际上,我们可以绘制很多种不同类型的图元,下边的列表描述了这些图原类型:PointList――这是一个自我描述的图元类型,它把数据作为一系列离散的点来绘制。不能使用这种类型绘制indexed primitives。Li... 阅读全文

posted @ 2006-12-07 17:45 zenith 阅读(725) 评论(0) 推荐(0) 编辑

深入Managed DirectX9(五)

摘要: 使用简单的渲染技术  至今为止,我们的渲染工作效率都很低。每次渲染场景时,都要分配新的顶点列表,并且所有东西存储在系统内存里。现代显卡集成了足够的显存,把顶点数据存放在显存可以获得大幅的新能提升:存放在系统内存里的数据,渲染每一帧时都要拷贝到显卡,这会带来极大的损失。只有移除每帧时的这种分配才能帮助我们提高性能。使用顶点缓冲(Using Vertex Buffers)  Direct3D已经包含了... 阅读全文

posted @ 2006-12-07 09:43 zenith 阅读(477) 评论(0) 推荐(0) 编辑

深入Managed DirectX9(四)

摘要: 选择正确的Device  The number of possible permutations when cretion a device is quite staggering. 如今,市场里有大量不同类型的显示卡,记住每种显卡所支持的特性几乎时不可能的。你应该询问device,让它告诉你它所支持的特性。我们接下来将讨论:  枚举系统里所有的适配器(adapter)  枚举每一个device所... 阅读全文

posted @ 2006-12-07 09:42 zenith 阅读(554) 评论(0) 推荐(0) 编辑

深入Managed DirectX9(三)

摘要: 拖放窗口时自动重置Device  任何曾经使用C++或VB开发DirectX3D的人都知道,在改变窗口大小时,需要重新设置devicd,否则,DirectX3D会按原来的分辨率继续渲染场景,并且把结果拷贝到(通过拉伸)新的窗口。当通过Windows Form控件创建device时,聪明的Mamaged DirectX能发现你改变了窗口的大小,并且重置device。毫无疑问,程序总是能在正常的行为下... 阅读全文

posted @ 2006-12-07 09:39 zenith 阅读(528) 评论(0) 推荐(0) 编辑

深入Managed DirectX9(二)

摘要: 三维化三角形  再来看看我们的程序,看起来并不是那么“三维”。而且我们所做的都能用GDI+轻易完成。So,我们应该怎样在3维空间里绘图,并且给人留下深刻的印象呢?实际上,简单的修改就能达到这样的效果。  如果你还记得,先前在我们创建第一个三角形的时候,我们使用了一个叫做“经过变换的”(transformed)坐标系统。这种坐标是显示器的屏幕区所使用的... 阅读全文

posted @ 2006-12-07 09:33 zenith 阅读(579) 评论(0) 推荐(0) 编辑

深入Managed DirectX9(一)

摘要: Device类是DirectX里的所有绘图操作所必须的。可以把这个类假想为真实的图形卡。场景里所有其他图形对象都依赖于device。你的计算机里可以有一个到几个device,在Mnaged DirctX3D里,你可以控制任意多个device。  Device共有三个构造函数,现在我们只讨论其中的一个,但我们会在后边的内容里讨论其他的。先来看看具有如下函数签名的构造函数public Device(i... 阅读全文

posted @ 2006-12-07 09:29 zenith 阅读(1359) 评论(0) 推荐(0) 编辑

导航