Panda3D | |
---|---|
Sorts | Spelmotor |
Utvecklaren | Disney , C.M.U. |
Skrivet i | C++ , Python |
Operativ system | Microsoft Windows , Linux , Mac OS X , FreeBSD |
Första upplagan | 2002 |
senaste versionen | 10/1/11 ( 7 januari 2022 [1] ) |
Läsbara filformat | EGG [d] och Panda3D Bam container [d] |
Genererade filformat | EGG [d] och Panda3D Bam container [d] |
Licens |
Panda3D-licens (modifierad av BSD ) 28 maj 2008 Till 28 maj 2008 : BSD-licens |
Hemsida | panda3d.org |
Panda3D är en spelmotor som inkluderar grafik, ljud, I/O , kollisionsdetektering och andra funktioner relaterade till att skapa 3D-spel. [2]
Panda3D är programvara med öppen källkod under en modifierad BSD-licens . Utgivningar före den 28 maj 2008 betraktades inte som fri programvara på grund av vissa buggar i utkastet till den gamla Panda3D-licensen. Trots detta kan äldre versioner av Panda3D även användas för både gratis och kommersiell spelutveckling utan kostnad.
Det huvudsakliga programmeringsspråket för att arbeta med Panda3D SDK är Python , men kärnan i motorn är skriven i C++ . För att ge tillgång till kärnfunktioner från Python används automatisk generering av omslagsfunktioner.. Detta tillvägagångssätt ger utvecklaren fördelarna med Python-språket , såsom inlärnings- och utvecklingshastigheten, automatisk minneshantering ( sopsamling ), ett rikt bibliotek av ytterligare komponenter, samtidigt som prestandan för det kompilerade språket i motorkärnan bibehålls.
Bland användarna av Panda3D finns utvecklarna av flera stora kommersiella spel ( Toontown Online, Pirates of the Caribbean Online ), flera projekt med öppen källkod och ett antal universitetskurser.
Panda3D SDK tillhandahåller ett universellt gränssnitt för att arbeta med 3D-grafik, vilket eliminerar behovet för en programmerare att lära sig funktionerna i OpenGL och DirectX och använda lågnivågrafikoperationer. Panda3D använder OpenGL som sitt huvudsakliga grafik- API på grund av dess plattformsoberoende karaktär . Alternativt kan du använda DirectX (endast under Windows ), men för tillfället har DirectX i Panda3D ett antal begränsningar.
Panda3D låter dig automatiskt generera de mest använda shaders : Normal karta , Gloss Map, Glow Map, Tone Mapping, Bloom Filter, Threshold Lighting, Inking, Shadow Mapping , Cartoon Inking, Volumetric Lightning, Blur/Sharpen, Ambient Oclusion . Det är möjligt att inkludera egna shaders skrivna i Cg eller GLSL . Motorn använder tre typer av 3D-modeller:
De två första typerna skapas i något 3D-modelleringspaket och exporteras eller konverteras sedan till ett format som motorn förstår. Den tredje är dynamiskt byggd på basis av en svartvit bild av höjdkartan.
Ursprungligen integrerades ODE -fysikmotorn i Panda3D . Sedan release 1.8.0 har experimentell integration av PhysX och Bullet Physics Library gjorts . Dessutom, om det inte finns något behov av att använda en fullfjädrad fysikmotor, finns det inbyggda verktyg för kollisionsdetektering.
Panda3D har två GUI -byggsystem: inbyggt, baserat på användningen av 3D-modeller som ett grafiskt gränssnitt, och i version 1.8.0 inkluderades libRocket GUI-biblioteket.
Motorn har funktioner för att spela upp surroundljud.
Panda3D har ett inbyggt LAN och serverbaserat spelsystem. Utvecklare använder dock oftast Python-nätverksbiblioteken.
Spelmotorer | |||||||
---|---|---|---|---|---|---|---|
Grafisk | Fri GLScene Horde3D Irrlicht TROLL OpenSceneGraph Proprietär Outra | ||||||
Fysisk | Fri Box2D Kula Jordekorre newton ODE. Tokamak Proprietär DMM Havok Fysik PhysX | ||||||
generell mening |
| ||||||
Specialiserad |
| ||||||
Lista över spelmotorer |