
DirectX
lingang_
coding
展开
-
Henway —— 小鸡过路游戏
游戏规则为玩家控制小鸡避开四辆上下行驶的汽车,自左向右穿过高速公路。游戏支持键盘和游戏杆输入,鼠标左键/游戏杆FIRE1 重新开始。 游戏基于目前的游戏引擎。程序清单: //-----------------------------------------------------------------// myHenway Application// C++ Header -原创 2008-07-31 13:20:00 · 1327 阅读 · 0 评论 -
DirectX 3D 基本框架(四)
继续扩展原来的D3D基本框架。这次将添加地形类库。做出如下修改:1.增加一个terrain头/库文件。代码清单:////////////////////////////////////////////////////////////////////////////////////////////////// // // File: terrain.h //原创 2008-10-27 15:43:00 · 1465 阅读 · 0 评论 -
DirectX 3D 基本框架(三)
在上次的框架二基础上,再一次进行了扩充 :)一.d3dUtility.h中1.定义了2个外接体结构——BoundingBox ,BoundingSphere struct BoundingBox //外接盒 { BoundingBox(); bool isPointInside(D3DXVECTOR3& p);原创 2008-10-25 17:29:00 · 1577 阅读 · 0 评论 -
D3D的第一个例子
玩了2天NBA live08,最后一场和网友打了4个加时,还是输了。吃完饭时在想,我玩NBA到底收获了什么,感觉虚度了2天光阴啊~ 好好学习吧!我如是想到。今天看书写了第一个D3D的例子,写篇博客以示纪念,一个旋转的立方体,没什么技术含量,无非是调用一些MS的API,可是内部怎么执行的我还是不知道,打算这学期看完LaMothe的>搞清楚相关数学原理,任重而道远啊!代码清单://原创 2008-10-12 20:01:00 · 1625 阅读 · 0 评论 -
DirectX 3D 基本框架(一)
给出DirectX 3D 应用程序的基本框架,显示一个空白窗口。若要写出相关例程,只需修改相关函数即可。我已经加了详细注释。 头文件:////////////////////////////////////////////////////////////////////////////////////////////////// // // File: d3dUtili原创 2008-10-10 09:52:00 · 1474 阅读 · 1 评论 -
D3D地形例程
基于框架(四)的一个例子,代码清单:////////////////////////////////////////////////////////////////////////////////////////////////// // // File: terrainDriver.cpp // // by tianzhihen // // 2008.1原创 2008-10-27 16:02:00 · 1902 阅读 · 1 评论 -
DirectX 3D 基本框架(二)
对上次所用的DirectX 3D基本框架进行一定的扩充,修改如下d3dUtility.h中 1.增加了一些常用颜色的常量。2.增加了3个光照函数。分别是初始化点光源,方向光及聚光灯。3.增加了初始化材质函数及一些常见的材质常量。 d3dUtility.cpp中实现了.h文件中声明的新增的4个函数。 代码清单://///////////////////原创 2008-10-13 20:19:00 · 754 阅读 · 0 评论 -
为场景增添光照效果
基于上一篇文章的框架,写了个增加光照效果的程序。先贴一下代码:////////////////////////////////////////////////////////////////////////////////////////////////// // // File: light.cpp // by tianzhihen // 2008.10.13原创 2008-10-13 20:36:00 · 708 阅读 · 0 评论 -
D3D中网格模型的运用
在最底层的层次中,Direct3D并不使用网格模型,而只是使用多边形。D3DX增强了 Direct3D系统的功能性,添加了一系列负责处理网格模型的容器和进行渲染的对象。.X文件是微软公司所开发的,高度通用的三维模型存储格式。它是模板驱动并完全可扩展,这就意味着可以使用它来满足文件存储的所有需求。一个.X文件,正如它的文件扩展名所表明的,是非常通用的。它可以是基于文本的,以便更容易进行编辑;或者是基原创 2009-02-23 19:11:00 · 2250 阅读 · 0 评论 -
DirectX角色扮演游戏编程(2rd)游戏内核
因为《DirectX角色扮演游戏编程(2rd)》用的是sdk 9.0b,那个版本已很少见,经过修改相关api,使其游戏内核代码能在vs2005+dx9.0c中运行。9.0c不支持dshow,所以mp3类去掉了。附加依赖项:d3d9.libd3dx9.libd3dx9d.libd3dxof.libwinmm.libdxguid.libdinput8.libdsound.libdplayx.lib原创 2009-02-25 11:21:00 · 1915 阅读 · 0 评论 -
基于框架(三)的例程
基于上一篇文章的D3D框架,一个简单的例程。按键功能:W/S 向前/向后行走A/D 向左/向右扫视R/F 升/降Up/Down 俯/仰Left/Right 偏航N/M 滚动 代码清单:////////////////////////////////////////////////////////////////////原创 2008-10-25 18:58:00 · 733 阅读 · 0 评论 -
DirectX 3D 基本框架(五)
继续扩展框架。在本次扩展中,增加了粒子系统。1.增加了pSystem.h pSystem.cpp////////////////////////////////////////////////////////////////////////////////////////////////// // // File: pSystem.h // // by tia原创 2008-10-28 15:41:00 · 901 阅读 · 0 评论 -
Meteor Defense —— 超级简单的射击游戏
基于前一篇文章中的游戏引擎,一个简单的射击类游戏Meteor Defense.游戏规则:鼠标左键点击发射导弹,击中流星则加分(呵呵,可不能无休止点击,每发射一枚导弹则减1分)。鼠标右键重新开始。程序注释为英文,但没什么难度。:)程序清单://-----------------------------------------------------------------原创 2008-08-02 22:01:00 · 1363 阅读 · 2 评论 -
电脑游戏术语大观
电脑游戏发展至今日,已有数十年之历史。业已形成自己的一套术语系统。应众新老玩家的要求,我创作室特将一些常用游戏术语做一系统整理,并附英汉对照。以方便玩家查阅#3D Accelerator:3D加速器。一种专门提升PC的3D运算功能硬件,但其不能提升计算机整体的显示效果。AACT(Action Game):动作类游戏。这类游戏提供玩者一个训练手眼协调及反应力的环境及功能,通常要求玩者所控制的主角(人转载 2008-08-26 04:49:00 · 1107 阅读 · 0 评论 -
填充实心多边形(二)
上一篇文章介绍了填充四边形及三角形,那么对于五边形,六边形呢?当然也可以把五边形分解成3个三角形,六边形分解成4个三角形进行填充。推而广之,可以把n边形分解成n-2个三角形来进行填充。这里介绍另一个方法。如图所示。这是更为一般化的填充(光栅化?)实心多边形方法。找到多边形各顶点中y轴坐标最小的点作为起始点,按顺时针设置各顶点标号,然后从逆时针方向和顺时针方向同时出发,当一条边到达一个终点原创 2008-09-06 20:51:00 · 1877 阅读 · 2 评论 -
填充实心多边形(一)
可以利用前一篇文章中的Cohen-Sutherland裁剪算法对缓冲区的任意图形画出经裁剪的该图形,那么接下来该如何填充这些图形(一般是多边形)。若是四边形,我们可以把它分解成2个三角形。而对于任意三角形,又可以分解成一个平底三角形和一个平顶三角形。接下来给出填充任意三角形的代码,摘自《windows游戏编程大师技巧》。/* 2008/9/4代码功能:填充任意三角形并经过矩形裁原创 2008-09-06 20:12:00 · 1396 阅读 · 0 评论 -
T3D图形库(三)
T3D图形库DMusic&&DSound头文件部分 /*2008.10.3T3D图形库——编程大师技巧>>*/// DirectSound && DirectMusic #ifndef DS_DM_LIB #define DS_DM_LIB #define DM_NUM_SEGMENTS 64 // 内存中可以被捕获到的MIDI原创 2008-09-29 17:09:00 · 1003 阅读 · 0 评论 -
T3D图形库(一)
T3D图形库DDraw及图形算法头文件部分 /*2008.9.15T3D图形库——编程大师技巧>>*///DDraw_lib.h #ifndef DDraw_lib #define DDraw_lib // DEFINES //////////////////////////////////////////////// //默认屏原创 2008-09-29 16:57:00 · 2046 阅读 · 1 评论 -
T3D图形库(二)
T3D图形库DInput 头文件部分 /*2008.10.1T3D图形库——编程大师技巧>>*/#ifndef DI_LIB #define DI_LIB // DI_LIB.H int DInput_Init(void);void DInput_Shutdown(void);int DInput_Init_Joys原创 2008-09-29 17:03:00 · 793 阅读 · 0 评论 -
导入.x文件生成渐进网格
以先前文章中的 DirectX 框架为基础,写了一个导入.x文件生成渐进网格的例子。按下A键增加网格顶点数(不超过最大值) 按下 S 键减小顶点数 (不小于最小值) 代码清单:///////////////////////////////////////////////////////////////////////////////////////////////原创 2008-10-19 21:23:00 · 1326 阅读 · 0 评论 -
T3D图形库(四)
DDraw及图形算法库文件部分 /*2008.9.16T3D图形库——编程大师技巧>>*///DDraw_lib.cpp // INCLUDES /////////////////////////////////////////////// #include #include #include //多媒体API #includ原创 2008-10-04 10:17:00 · 2028 阅读 · 0 评论 -
directX角色扮演游戏编程(2rd) 图形库的修改
directX角色扮演游戏编程(2rd)由于本书用的sdk是Direct9.0b ,而现在那个版本的sdk很难找到,所以要用Direct 9.0c ,我用的sdk版本为February 2007版本,因此书中的少量api接口需要换成新版本的api.下面给出第六章图形内核的修改代码,(Core_Graphics.cpp)/***********************************原创 2009-02-24 10:44:00 · 2056 阅读 · 1 评论