Irrlicht_0.1源码学习(2)—引擎目录结构
使用VS13打开Irrlicht源码后,在解决方案管理器中可以发现如下的目录架构
可以看到该项目中包含7个目录和3个源码文件。
doc目录包含的是文档信息
其中只有Todo.txt一个文件,老司机们应该都知道是怎么一回事了(笑。
include目录下包含5个子目录和6个头文件,如下所示
从include包含的信息来看,整个引擎可分为6个模块:引擎模块(6个头文件)、引擎核心模块(core)、图形界面模块(gui)、输入输出模块(io)、场景管理模块(scene)、以及显示模块(video)。
根据以上6个模块的划分,显而易见剩下的6个部分为:引擎初始化(3个代码文件)、图形界面(gui impl)、输入输出(io impl)、其它(other impl)、场景(scene impl)、显示(video)。PS:引擎核心模块(core)的实现部分其实就在其头文件中,并没有单独拎出来。
other impl目录下包含了jepglib库和zlib库,但是并没有包含有效的代码文件,需要重新添加这两个库文件,否则直接编译源码会报错。
jepglib库是一个jpeg压缩库,zlib是提供数据压缩用的函式库。讲道理这两个功能对我们学习Irrlicht源码没有什么举足轻重的意义,这里笔者就直接无视这两个库。
fast_atof.h从文件名可得知:快速实现从字符串到浮点类型的数据转换。
os.h/.cpp包含各种信息输出的功能,如系统警告信息或调试消息等。
video impl目录下包含了DirectX、OpenGL等子目录。该模块对DirectX,OpenGL,和软渲染三种渲染方法进行了封装。
由于笔者对DirectX不是很了解,故这一部分只对软渲染和OpenGL加以剖析。
以上是对Irrlicht 0.1项目的文件目录结构分析的结果。统计了一下代码文件数量:include共含59个,io impl 12个,gui impl 26个,other impl 3个(不包含jepglib和zlib),scene impl 35个,video impl 45个,还有另外3个,总共183个代码文件。