摘要: 在现代游戏中,人物和模型由针对每个对象的成千上万个多边形组成。对纹理映射而言这非常复杂,因为它需要为每个多边形的每个顶点设置一对TU和TV纹理坐标。假定有一个包含了5000个三角形的模型。假定不涉及加索引的几何图形(索引),而只使用三角形,那么在整个模型中将有15000个顶点。至此,除了内置的Direct3D以外,还得手动指定几何图形数据。如果一个模型包含5000个多边形,那么试着指定这些多边形中的每个几何图形数据,就会是一场噩梦。同时还要为顶点手动设置纹理坐标,从时间角度而言,这也是不可以接受的,并且绝对不现实。即使设法对所有模型都做了这一点,那么也会存在将这些信息硬编码到源代码中,以及其他 阅读全文
posted @ 2011-09-17 11:52 小 楼 一 夜 听 春 雨 阅读(2202) 评论(0) 推荐(1)
摘要: DirectSound和DirectMusic是DirectX中两个独立的声音API,它们都可以播放.wav声音(DirectMusic还可以播放.midi声音)。即便它们是独立的,这两种声音API也可以同时用于管理和操作声音数据、调整音廖、3D声音和效果。DirectSound能完成一些DirectMusic所不能完成的工作,反之亦然。所以在开发时需要同时使用两者。例如,DirectMusic需要使用DirectSound设置单个声音文件的音量、音调和摇摄,因为它自己不能完成这个工作。在介绍这两种API作为声音接口完成任务的函数、原型和结构之前,下面几个部分将详细介绍DirectSound和 阅读全文
posted @ 2011-09-17 00:49 小 楼 一 夜 听 春 雨 阅读(295) 评论(0) 推荐(0)
摘要: 游戏项目第9部分:增加输入系统该游戏项目将添加对引擎和主菜单的支持。引擎项目中出现的三个新文件分别是InputInterface.h、DirectInput.h和DirectInput.cpp。第一个文件InputInterface.h用于定义输入系统和输入设备基类的头文件。每个类都提供了派生类需要实现的默认函数。基类中的每个成员函数都是从DirectInput演示程序中提取出来的相同类。实际上,所有这些代码都很相似。在该输入系统和为演示程序创建的输入系统之间的唯一差别在于该输入系统将事情按照各自的类分开处理,而不是包含在一个巨大的类中一起处理。InputInterface.h#ifndef 阅读全文
posted @ 2011-09-17 00:39 小 楼 一 夜 听 春 雨 阅读(477) 评论(0) 推荐(0)
摘要: 初始化DirectInput系统,这仅需调用DirectInput8Create()函数即可.HRESULT WINAPI DirectInput8Create( HINSTANCE hinst, // 实例句柄 DWORD dwVersion, // 版本标识符 REFIID riidltf, // 输入系统的唯一标识符 LPVOID * ppvOut, // 指向正在创建的输入系统对象指针 LPUNKNOWN punkOuter // IUnKnown相关接口指针 ); 如果调用成功,D... 阅读全文
posted @ 2011-09-17 00:24 小 楼 一 夜 听 春 雨 阅读(1132) 评论(0) 推荐(0)