Irrlicht游戏引擎主要是由一个名叫Nikolaus Gebhardt奥地利人所设计,是sourceforge上的一个开源项目,也是著名的开源游戏引擎。Irrlicht是一个德国神话故事中的一种动物的名字,它能够发光和飞翔,可以在大部分的沼泽地附近发现它。单词"Irrlicht"是两个德国单词("irr"意思是疯狂的;而"Licht"意思是光)的组合。在英语中,它被译为"鬼火"。该项目从2004开始一直至今。在这个网站上你能够找到它的源代码、文档以及更多的息:http://irrlicht.sourceforge.net/。
主要技术特性
Irrlicht是一款由c++编写的3D游戏引擎,由于底层的代码封装良好,所以该引擎可以在多个平台上使用,如WINDOWS、LINUX等。
整个引擎使用了类COM的中间件封装技术,这确保了引擎的跨平台使用和可扩展性,也就是当引擎内部被修改,原游戏逻辑代码不用改一行代码也可正常使用,而当需要向引擎添加新的技术特性,只需要符合它的规范和接口就可以很轻易的加入新的特性。
所有的类均可实现serializing和dynamicly creating,这个特性可以将运行时的引擎状态保存为文件,然后再从文件恢复引擎状态。
3D引擎的常见问题在于速度,而irr游戏引擎速度非常快。
引擎概览
先看下名字空间的划分,Irr总命名空间下有5个子命名空间,可以看到irr具有非常清晰的结构:
irr Irrlicht引擎中的一切都在此命名空间下实现。除了它的5个子命名空间的内容之外,irr空间中提供了引擎的一些底层构架的支持,如事件处理系统,操作系统抽象,引用计数,设备抽象等。
irr::core 提供了基础的数学和数据结构构件,如向量,矩阵,列表,数组等等。
irr::gui 此命名空间包含了一些 创建一个简单的GUI所需的类
irr::io 此命名空间提供输入/输出的接口