Panda3D

Panda3D
Typ Herní engine
Vývojář Disney , C.M.U.
Zapsáno v C++ , Python
Operační systém Microsoft Windows , Linux , Mac OS X , FreeBSD
První vydání 2002
Nejnovější verze 1. 10. 11 ( 7. ledna 2022 [1] )
Čitelné formáty souborů EGG [d] a nádoba Panda3D Bam [d]
Vygenerované formáty souborů EGG [d] a nádoba Panda3D Bam [d]
Licence Licence Panda3D (upraveno BSD ) 28. května 2008
Do 28. května 2008 : Licence BSD
webová stránka panda3d.org

Panda3D  je herní engine , který zahrnuje grafiku, zvuk, I/O , detekci kolizí a další funkce související s vytvářením 3D her. [2]

Panda3D je software s otevřeným zdrojovým kódem pod upravenou licencí BSD . Vydání před 28. květnem 2008 nebyla považována za svobodný software kvůli určitým chybám v návrhu staré licence Panda3D. Navzdory tomu mohou být starší verze Panda3D také bezplatně použity pro bezplatný i komerční vývoj her.

Hlavním programovacím jazykem pro práci s Panda3D SDK je Python , ale jádro enginu je napsáno v C++ . Pro zajištění přístupu k funkcím jádra z Pythonu se používá automatické generování funkcí wrapperu.. Tento přístup dává vývojářům výhody jazyka Python , jako je rychlost učení a vývoje, automatická správa paměti ( garbage collection ), bohatá knihovna dalších komponent při zachování výkonu kompilovaného jazyka v jádře enginu.

Mezi uživateli Panda3D jsou vývojáři několika velkých komerčních her ( Toontown Online, Pirates of the Caribbean Online ), několik open source projektů a řada univerzitních kurzů.

Klíčové vlastnosti

Grafika

Panda3D SDK poskytuje univerzální rozhraní pro práci s 3D grafikou, takže se programátor nemusí učit funkce OpenGL a DirectX a používat grafické operace na nízké úrovni. Panda3D používá OpenGL jako své hlavní grafické API díky své multiplatformní povaze . Volitelně můžete použít DirectX (pouze pod Windows ), ale v současné době má DirectX v Panda3D řadu omezení.

Panda3D umožňuje automaticky generovat nejpoužívanější shadery : normální mapu , mapu lesku, mapu záře, mapování tónů, filtr květů, prahové osvětlení, inkoust, mapování stínů , kreslený inkoust, objemový blesk, rozostření/zaostření, okolní okluzi . Je možné zahrnout vlastní shadery napsané v Cg nebo GLSL . Motor používá tři typy 3D modelů:

První dva typy jsou vytvořeny v nějakém balíčku pro 3D modelování a poté exportovány nebo převedeny do formátu srozumitelného pro engine. Třetí je dynamicky postaven na základě černobílého obrázku výškové mapy.

Fyzika

Zpočátku byl fyzikální engine ODE integrován do Panda3D . Od verze 1.8.0 byla provedena experimentální integrace PhysX a Bullet Physics Library . Pokud navíc není potřeba používat plnohodnotný fyzikální engine, existují vestavěné nástroje pro detekci kolizí.

GUI

Panda3D má dva stavební systémy GUI : vestavěný, založený na použití 3D modelů jako grafického rozhraní, a ve verzi 1.8.0 byla zahrnuta knihovna GUI libRocket.

Zvuk

Engine má funkce pro přehrávání prostorového zvuku.

Síť

Panda3D má vestavěný herní systém založený na LAN a serveru. Vývojáři však nejčastěji používají síťové knihovny Pythonu.

Různé

Utility

Poznámky

  1. Panda3D Developer Blog . Získáno 19. března 2020. Archivováno z originálu dne 19. března 2020.
  2. Panda3D Manual (downlink) . Archivováno z originálu 5. října 2012. 

Odkazy

Literatura