irrlicht
3D引擎
Irrlicht引擎是一个用C++书写的高性能实时的3D引擎,可以应用于C++程序或者.NET语言中。通过使用Direct3D(Windows平台),OpenGL 1.2或它自己的软件着色程序,可以实现该引擎的完全跨平台。尽管是开源的,该Irrlicht库提供了可以在商业级的3D引擎上具有的艺术特性,例如动态的阴影,粒子系统,角色动画,室内和室外技术以及碰撞检测等。
简介
Irrlicht是一个3D游戏引擎。它具有高效,实时等特点,是个完全跨平台的引擎,使用D3DOpenGL和它的自己的渲染程序。支持动态的阴影,粒子系统,角色动画,室内和室外技术以及碰撞检测等。
(概述图片来源:,内容来源:)
发展背景
Irrlicht十分幸运地为一个巨大的活跃的开发团队以大量的工程所支持。然而,因为Irrlicht主要由游戏名家Nikolaus Gebhardt所设计,所以该引擎在设计上十分连贯。可以在网上到处发现有Irrlicht的增强程序,如可选用的地形生成器,入口生成器,输出器,world层生成器,相关教程和编辑器等。而且,它独立地创建了到Java,Perl,Ruby,BASIC,PythonLUA甚至更多种语言的绑定。而最为重要的是,它是完全免费的。
组成结构
Irrlicht引擎共分为五部分:
(1)Core
该部分由一些容器类及数学库组成,如string、vector等。
对应的名字空间为:namespace irr::core
(2)Scene
该部分主要负责三维场景的绘制及管理,包括场景节点,摄像机,粒子系统、mesh 资源,公告板,灯光,动画器,天空体,地形等。
Irrlicht的场景中的所有的东西都是场景节点,统一由场景管理器来管理。
对应的名字空间为:namespace irr::scene
(3)Video
该部分主要负责图片纹理的载入及管理,包括纹理,材质,灯光,图片,顶点等渲染属性的控制。
对应的名字空间为:namespace irr::video
(4)GUI
该部分包括了一些二维GUI控件
对应的名字空间为:namespace irr::gui
(5)FileSystem
该部分负责文件系统的读写。
对应的名字空间为:namespace irr::io。
特性
一个可以运行于linux以及Windows 98,ME,NT,2000,xp和win7(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绘图
基于要害色的位图复制,字体绘制,以及混合3D与2D图形
能直接导入常见的建模文件格式:Maya,3DStudio Max,COLLADA,DeleD,Milkshape,Quake 3 levels,Quake2 models,DirectX,Pulsar,My3DTools,FSRad以及Cartography Shop
能直接从BMP,PNG,photoshop,JPEG,Targa和PCX导入纹理
快速而易用的碰撞检测与响应
为快速的3D运算和容器模板库进行了优化处理
直接读取档案(可能是压缩的,如.zip文件)
集成了快速的xml分析器
为实现轻易的本地化开发提供Unicode支持。
参考资料
3D游戏引擎 Irrlicht .开源社区网.
Irrlicht编程基础.csdn博客(原创).
最新修订时间:2023-10-20 20:06
目录
概述
简介
发展背景
参考资料