分类: C/C++
2008-05-18 22:55:29
来源: | ||
| ||
Irrlicht引擎是一个用C++书写的高性能实时的3D,可以于C++程序或者.NET语言中。通过使用Direct3D(Windows),OpenGL 1.2或它自己的软件着色程序,可以实现该引擎的完全跨平台。尽管是开源的,该Irrlicht库提供了可以在商业级的3D引擎上具有的艺术特性,例如动态的阴影,粒子系统,角色动画,室内和室外以及碰撞检测等(见图1)。
Irrlicht是一个德国神话故事中的一种动物的名字,它能够发光和飞翔,可以在大部分的沼泽地附近发现它。单词"Irrlicht"是两个德国单词("irr"意思是疯狂的;而"Licht"意思是光)的组合。在中,它被译为"鬼火"。 Irrlicht十分幸运地为一个巨大的活跃的开发团队以大量的工程所支持。然而,因为Irrlicht主要由游戏名家Nikolaus Gebhardt所设计,所以该游戏在设计上十分连贯。你可以在网上到处发现有Irrlicht的增强程序,如可选用的地形生成器,入口生成器,输出器,world层生成器,相关教程和编辑器等。而且,它独立地创建了到Java,Perl,Ruby,BASIC,Python,LUA甚至更多种语言的绑定。而最为重要的是,它是完全自由的。 二、 Irrlicht特性 在深入分析API之前,请让我更具体地介绍一下Irrlicht提供给了3D游戏开发者哪些功能: ·一个可以运行于Linux以及Windows 98,ME,NT,2000和XP(MacOS在计划之中)等操作系统之上的引擎 ·针对Direct3D 8生成器或Direct3D 9生成器(可选)提供了Anti-aliasing支持 ·可换肤的GUI环境(包括一个很酷的具有金属质地的带阴影的皮肤),给一些老式的对话框加上漂亮的外观 ·场景管理系统,它允许无缝的室内/室外过渡 ·角色动画系统,带有骨骼和变形目标动画功能 ·一个特殊的系统,包括粒子效果(雨,烟,火,雪,等等),告示板,灯光贴图,环境,地图,模板缓冲区阴影,雾,纹理动画,视差贴图,贴图,还有更多 ·内建的材质支持,包括支持Pixel and Vertex Shaders版本1.1到3.0,ARB Fragment and Vertex程序以及HLSL(GLSL正在计划中) ·.NET语言绑定,这使得引擎可用于所有的.NET语言例如C#,Visual Basic.NET以及Delphi.NET ·一内建的平台独立的软件生成器,特性有:z-缓冲,Gouraud阴影,alpha混合和透明性,还有快速的2D绘图(见图2) ·你久已期待的2D绘图功能,例如alpha混合,基于关键色的位图复制,字体绘制,以及混合3D与2D图形 ·能直接导入常见的建模文件格式:Maya,3DStudio ,COLLADA,DeleD,Milkshape, 3 levels,Quake2 models,DirectX,Pulsar,My3DTools,FSRad以及Cartography Shop ·能直接从BMP,PNG,Photoshop,JPEG,和PCX导入纹理 ·快速而易用的碰撞检测与响应 ·为快速的3D运算和容器模板库进行了优化处理 ·直接读取档案(可能是压缩的,如.zip文件) ·集成了快速的XML分析器 ·为实现容易的本地化开发提供Unicode支持
|