Irrlicht引擎是一个用C++编写的高性能实时3D引擎,可以应用于C++程序或.NET语言。 该引擎使用 Direct3D(Windows 平台)、OpenGL 1.2 或其自己的软件着色器跨平台游戏开发硬件设备,是完全跨平台的。 虽然 Irrlicht 库是开源的,但它提供了商业级 3D 引擎上可以找到的艺术功能,例如动态阴影、粒子系统、角色动画、室内和室外技术以及碰撞检测(见图 1)。
图 1. Irrlicht 3D 引擎
Irrlicht 是德国神话中一种动物的名字,它能够发光和飞行,可以在大多数沼泽附近找到。 “Irrlicht”这个词是两个德语单词的组合(“irr”意思是疯狂;“Licht”意思是光)。 在英语中,它被翻译为“will-o'-the-wisp”。
Irrlicht 很幸运能够得到拥有大量项目的大型活跃开发团队的支持。 然而,由于《Irrlicht》主要是由游戏大师 Nikolaus Gebhardt 设计的,因此游戏在设计上非常连贯。 你可以在互联网上随处找到 Irrlicht 增强程序,例如可选的地形生成器、入口生成器、导出器、世界层生成器、相关教程和编辑器等。此外跨平台游戏开发,它独立创建与 Java、Perl、Ruby、BASIC、Python、 LUA 甚至更多语言。 最重要的是,它是完全免费的。
2. 环境特征
在我们深入分析API之前,我先来更详细地介绍一下Irrlicht为3D游戏开发者提供了哪些功能:
·可在 Linux 以及 Windows 98、ME、NT、2000 和 XP(计划使用 MacOS)上运行的引擎
· 对 Direct3D 8 生成器或 Direct3D 9 生成器的抗锯齿支持(可选)
可换肤的 GUI 环境(包括很酷的金属阴影皮肤),为一些老式对话框提供了漂亮的外观
· 场景管理系统可实现室内/室外无缝过渡
·具有骨骼和变形目标动画功能的角色动画系统
· 特效系统,包括粒子效果(雨、烟、火、雪等)、广告牌、光照贴图、环境、贴图、模板缓冲阴影、雾、纹理动画、视差贴图、凹凸贴图等等还有更多
·内置材质支持,包括支持像素和顶点着色器版本1.1至3.0、ARB片段和顶点程序以及HLSL(计划支持GLSL)
·.NET语言绑定开发学习,这使得引擎可用于所有.NET语言,例如C#、Visual Basic.NET和Delphi.NET
独立于平台的内置软件生成器,具有 z 缓冲、Gouraud 着色、Alpha 混合和透明度以及快速 2D 绘图等功能(见图 2)
·您一直在等待的 2D 绘图功能,例如 Alpha 混合、基于关键颜色的位图复制、字体绘制以及混合 3D 和 2D 图形
·可以直接导入常见的建模文件格式:Maya、3DStudio Max、COLLADA、DeleD、Milkshape、Quake 3 level、Quake2模型、DirectX、Pulsar、My3DTools、FSRad和Cartography Shop
·能够直接从 BMP、PNG、Photoshop、JPEG、Targa 和 PCX 导入纹理
·快速且易于使用的碰撞检测和响应
·针对快速3D操作和容器模板库进行了优化
·直接读取压缩包(可能是压缩文件,如.zip文件)
·集成的快速XML解析器
·提供Unicode支持,方便本地化开发
图 2:基于 Irrlicht 的游戏 Yet Another Space Shooter (YASS),此处显示静态游戏帧中令人惊叹的着色效果
共3页。 1 2 3 8 :