Vlastnosti
Irrlicht Enigne je multi-platformní, vysoce výkonný, realtimový 3D engine napsaný v C++.
Je to výkonné vysoko-úrovňové API pro vytváření kompletních 3D a 2D aplikací, jako jsou např. hry nebo vědecké simulace. Má excelentní dokumetaci a integruje všechny
"state-of-the-art" vlastnosti pro vizuální reprezentaci dynamických stínů, částicových systémů, animací postav, indoor i outdoor technologií, detekci kolizí, apod. A vše tohle je přítupné skrz velmi dobře nadesignovaný C++ interface, který je extrémně jednoduchý na používání.
|


|
Jeho hlavní výhody jsou:
(Nezapomeňte, že engine je stále ve vývoji, takže výčet vlastnotní nemusí být finální)
- Velmi rychlé realtimové renderování 3D grafiky s použitím Direct3D
a OpenGL [více]
- Platformě nezávisly. Běží na Windows 95, 98, NT, XP i Vistách, Linuxu a MacOS.[více]
- Velká zabudovaná a rozšiřitelná knihovna materiálů
s podporou veretex a pixel shaderů [více].
- Plynulé mixování indoor and outdoor grafiky díky dobře upravitelnému scene managmentu. [více]
- Animace postav se skeletálními a morph-target animacemi . [více]
- Částicové efekty, billboardy, light-mapy, environment mapping,
stíny založené na stencil bufferech, a mnoho dalších speciálních efektů.
[více]
- Binding pro .NET jazyky, které dělá engine dostupný pro celou .NET platformu a jazyky, jako jsou např. C#, VisualBasic a Delphi.NET.
- Dva platformně a na grafických ovladačích nezávislé rychlé softwarové renderery
s rozdílnými vlastnotnmi (rychlost vs. kvalita), a obashují vše důležité (perspektivně korektní mapování textur, bilineární filtrování, z-buffer, gouraudovo stínování, alpha-blending a průhlednost, rychlé vykreslování 2D grafiky, atd.)
- Výkonný, lehce upravitelný a snadno použitelný 2D GUI Systém
tlačítky, listovacími prvky, edit boxy, ..
- 2D vykreslovací funkce jako např. alpha blending, color key based blitting, vykreslování fontů a mixování 3D s 2D grafikou.
- Čisté, jednoduché na pochopení, a dobře dokumentované API s mnoho ukázkami a tutoriály.
- Je napsaný v čistém C++ a plně objektově orientovaný.
- Přímý import mnoha běžných formátů 3D modelů, jako např.:
Maya (.obj), 3DStudio (.3ds), COLLADA (.dae), DeleD (.dmf), Milkshape (.ms3d), Quake 3 levelely (.bsp), Quake2 models (.md2), Microsoft DirectX (.X), a další.
[více]
- Přímý import textur:
Windows Bitmap (.bmp), Portable Network Graphics (.png), Adobe Photoshop (.psd), JPEG File Interchange Format (.jpg), Truevision Targa (.tga), ZSoft Painbrush (.pcx), ..
[více]
- Rychlá a jednoduchá vbudovaná detekce kolizí.
- Optimalizovaná a rychlá 3D matematika
- Přímé čtění z komprimovaných archivů . (.zip)
- Rychlý integrovaný XML parser.
- Podpora Unicode pro snadnou lokalizaci
- Pracuje s Microsoft Visual Studio, Dev-C++, Code::Blocks, Codewarrior, a dalšími
- engine je open source a absolutně zdarma.
Můžete ho debugovat, opravovat bugy, či měnit cokoli
se Vám nelíbí. A nemusíte Vaše změny uveřejňovat: engine je licencován pod zlib licencí,
nikoli GPL nebo LGPL.
|
| Speciální efekty |

|
Irrlicht Engine podporuje mnoho speciálních efektů, které navíc nejsou obtížné na použití, ve většině případů je stačí programátorovi pouze zapnout. Engine je neustále rozšiřován novými efekty, stejně tak můžete použít jakýkoli z mnoha komunitou vytvořených speciálních efektů, které se snadno do enginu přidají.
Zde je seznam aktuálně zaimplementovaných efektů:
- Realistické vodní povrchy
- Dynamická světla
- Dynamické stíny používající the stencil buffer
- Billboardy
- Bump mapping
- Parallax mapping
- Průhledné objekty
- Light mapy
- Upravitelné Částicové efekty pro utváření efektu sněhu, kouře, ohňě, atd
- Sphere mapping
- animace textur
- Skybox ( obloha )
- mlha
|
| Renderovací API |


|
Irrlicht Engine podporuje 6 renderovacích API:
- Direct3D 9.0
- Direct3D 8.1
- OpenGL 2.0
- Irrlicht Engine softwarový render
- Apfelbaum Software Burning's Video Renderer
- Nulové (bez vykreslování).
Při používání Irrlicht Enginu programátor nepotřebuje znát, které API je používáno, vše je naprosto abstraktizováno. Pouze potřebuje říci enginu, které API má preferovat.
Možnost volby rednerovacího API má hnedka několik výhod, např:
- Výkon. Některé grafické adaptéry jsou více optimalizované pro OpenGL, některé zase naopak prostě rychleji běží pod Direct3D.
- Platormní nezávislost.
D3D pochopitelně není (nativně) dostupný např. pod Linuxy nebo na Macích, oproti tomu takové OGL je. A tam, kde není dostupné OGL, může stále Irrlich vykreslovat pomocí jeho softwarového rendereru, které funguje prakticky na jakékoli platformě.
- Problémy s drivery, existují tisíce možných hw konfigurací, na kterých můžou 3D programy padat, např. z důvodu starých driverů. Volba jiného může často vyřešit problém.
|
| Materiály
a Shadery |
 |
Pro rychlé vytváření realistických prostředí je v enginu již zabudováno velké množství bežných předdefinovaných materiálů. Některé jsou založeny na tzv. fixed function pipeline (light mapovaná geometrie např.), některé zase spoléhají na programovatelnou pipeline (např. normal mapované per pixel nasvětlované materiály), kterou dnešní hardware nabízí.
Je také možné bez problému mixovat oba dva tyto typy materiálů ve scén, a pokud nějaký objekt používá materiál, které vyžaduje vlastnosti, které nejsou dostupné na daném hardwaru, engine automaticky nabízí fallback materiály. A pokud zabudavné materiály nestačí, je možné za běhu přidávat nové, a to bez nutnosti rekompilovat engine.
Aktuálně podporované shaderové jazyky jsou:
- Pixel a Vertex Shaders 1.1 to 3.0
- ARB Fragment a Vertex Programy
- HLSL
- GLSL
|
| Platformy |

|
Irrlicht Engine je multiplatformní.
znamená, že je ho možné spustit na větším množství plaform, v současné době to jsou:
- Windows 98, ME, NT 4, 2000, XP, XP64, Vista (včetně 64 bitových verzí)
- Linux
- MacOS
- Sun Solaris/SPARC
Engine pracuje se všemi dostupnými platofmami stejně, takže programátorovi stačí napsat jeho program pouze jednou, a pak téměř bez změny jediného řádku ho spustí i na jiných platformách.
|
| manažer scény |


|
Renderování v Irrlichtu je prováděno s použitím hierarchického scénového grafu. Scénové uzly (nodes) mohou být přiřazeny zase k jiným, takže následují jejich pohyb, apod.
Scénový uzel může být např. kamera, indoor nebo outdoor level, skeletélně animovaná postava, animovaná voda, nebo cokoliv jiného.
V enginu jdou plynule mixovat indoor a outdoor scény dohromady, což dává programátorovi plnou kontrolu na vším co se děje ve scéně, která je velmi rozšiřitelná, protože programátor může přidávat jeho vlastní scénové uzly, loadery meshů a textur, GUI prvky, a tak dále.
|
|
Animace postav |

|
Současně zde jsou dva typy animací postav:
- Morph target animace: Meshe jsou linéárně interpolovány z jednoho framu na druhý. Takhle to je např. deláno v sérii her Quake, a také tak to dělá Irrlich engine při načítání .md2 modelů.
- Skeletalní animace: Modely je manupulováno pomocí animovaných spojů (animated joints). V Irrlichtu je tato metoda použita u .ms3d nebo .x souborů modelů. Je jednoduché přiřadit objekty k částem animovaného modelu - je např. možné přiřadit model zbraně k ruce, přičemž jí bude následně pohybováno stejně jako danou rukou, atd.
Programátor nepotřebuje znát všchno, pokud to nechce. Vše stačí pouze nahrát a nechat animaci vykreslit. |
| Podporované formáty |

|
Engine podporuje mnoho běžných formátů souborů, které dokáže načíst přímo za běhu. Není tedy potřeba je nějak speicálně konvertovat pro použití s Irrlichtem. Navíc není problém si případně i jakýkoli další loader doprogramovat, a použít ho i bez nutnosti rekompilace enginu.
Podporované formáty textur::
- Adobe Photoshop (.psd)
- JPEG File Interchange Format (.jpg)
- Portable Network Graphics (.png)
- Truevision Targa (.tga)
- Windows Bitmap (.bmp)
- Zsoft Paintbrush (.pcx)
Podporované formáty 3D modelů:
- 3D Studio meshes (.3ds)
- B3D files (.b3d)
- Alias Wavefront Maya (.obj)
- Cartography shop 4 (.csm)
- COLLADA (.xml, .dae)
- DeleD (.dmf)
- FSRad oct (.oct)
- Irrlicht scenes (.irr)
- Irrlicht static meshes (.irrmesh)
- Microsoft DirectX (.x) (binary & text)
- Milkshape (.ms3d)
- My3DTools 3 (.my3D)
- OGRE meshes (.mesh)
- Pulsar LMTools (.lmts)
- Quake 3 levels (.bsp)
- Quake 2 models (.md2)
- STL 3D files (.stl)
Navíc je také v SDK přibaleno několik exportérů pro oblíbené 3D modelovací programy (Blender, 3DSMax, Gile[s], ..). |
|