- 博客(8)
- 资源 (21)
- 收藏
- 关注
原创 Irrlicht引擎源码剖析——第八天
根据预定义中头文件的包含关系,在include\scene中首先从ImeshBuffer.h开始看,在该文件中实现了一个网格缓冲区的类,包含了材质、顶点、索引、边界盒等信息。 在IMesh.h中,实现了网格的接口,有获取网格缓冲区信息、设置材质类型、获取边界盒等功能。 在IAnimatedMesh.h中,实现了一个动画网格的接口。有获取动画网格的帧数、获取指定帧的网格等操作。
2012-07-31 20:00:22 3308
原创 Irrlicht引擎源码剖析——第七天
首先看了一下include\scene下的头文件,发现多个头文件的预定义中包含了include\video中的头文件,所以决定先从include\video下的头文件看起。 首先是Color.h,这个文件实现了一个32位真彩色类(分32位整型和32位浮点型两种),该类用于引擎的大部分地方。只是在该类的方法中,对于设置颜色的各分量,有不同意见,如在设置alpha分量中:color =((
2012-07-30 22:23:04 3682
原创 Irrlicht引擎源码剖析——第六天
因为昨天在CZipReader.cpp中包含了other impl中的os.h文件,且目测other impl模块内容很少,所以今天首先搞定这块。在other impl\extern目录下,包含了两个开源库——zlib和jpeglib。我们先添加这两个库,jepglib库是一个jpeg压缩库,zlib是提供数据压缩用的函式库。Other impl还包含另外3个文件:fast
2012-07-29 22:03:08 3373
原创 Irrlicht引擎源码剖析——第五天
在目测了一番后,决定从io模块下手。先看IFileList.h,顾名思义,创建了一个文件列表类,一个基类。然后看IReadFile.h,创建了用于读取文件的基类,在前两个的基础上实现了IFileList.h中的文件系统类。文件系统(File System)管理文件和Zip文档,并提供对它们的访问。中这样在include\io中的3个头文件全搞定,接下来看io模块的实现部分。 在
2012-07-28 20:29:16 3587
原创 Irrlicht引擎源码剖析——第四天
今天先看aabbox3d.h文件。在这个文件里实现了边界盒的相关操作,如边界盒与点、平面、边界盒的相交关系,重载运算符等等。 在heapsort.h中,实现了一个堆排序的算法。 在array.h中,实现了数组模板类,感觉就像SLT中的vector,该数组有堆排序、二分查找、增删元素、易调试等特点。但在二分查找函数中,有语句如下: if (!(element
2012-07-27 20:45:12 4322 2
原创 Irrlicht引擎源码剖析——第三天
今天开始看include\core部分,首先打开irrmath.h,该文件在core命名空间里定义了4个常数,如浮点数比较时的舍入精度,圆周率,以及用于角度与弧度之间转换的常数值。接着看vector2d.h,该文件实现了一个2D向量的模板类,以其相关方法的定义。因为该类中的normalize()方法的定义里调用了位于line3d.h中getLenght()函数,所以我们接下来看line
2012-07-26 18:09:48 3452 3
原创 Irrlicht引擎源码剖析——第二天
今天开始剖析代码,首先看include目录下的Irrlicht.h头文件。开始是关于该引擎的版权声明,然后是一长串预处理——各种头文件,因为这些头文件我们还没看过,所以先不添加,等以后看过了,在一一添加进来。这个文件包含的内容很简单,先声明一个创建引擎设备对象的函数,然后建立一个命名空间irr,在该命名空间里又分别包含了:core、gui、io、scene、video等5个命名空间。根据该头文件,
2012-07-25 19:29:50 4666
原创 Irrlicht引擎源码剖析——第一天
从今天开始,我要剖析Irrlicht(鬼火)3D游戏引擎的源代码了。剖析的版本为Irrlicht 0.1,即Irrlicht引擎的第一个版本。因为最初的版本相对来说是最简单的,从最初的版本开始剖析,然后再看之后的各个版本,可以更清楚的获知该引擎版本迭代更新的信息。从而充分了解该引擎的发展变化,自己从中也能学得更多的知识。 我的基本剖析方法是:自己新建一个项目,Irrlicht源码看到哪,自
2012-07-24 21:11:31 9082 5
《3D游戏编程-肖永亮》源代码
2013-05-06
《大型多人在线游戏开发》源代码
2013-05-03
《实时地形引擎》随书源码、gaia引擎源码
2013-05-03
《游戏编程全接触》源代码
2013-05-03
《DIRECTX.9.0 3D游戏开发编程基础》源代码
2013-05-02
《DirectX高级动画制作》 源代码
2013-04-27
《游戏关卡设计》 光盘资源
2013-04-26
zlib数据压缩库源码
2012-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人