Panda3D

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.

Nyckelfunktioner

Grafik

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.

Fysik

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.

GUI

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.

Ljud

Motorn har funktioner för att spela upp surroundljud.

Nätverk

Panda3D har ett inbyggt LAN och serverbaserat spelsystem. Utvecklare använder dock oftast Python-nätverksbiblioteken.

Övrigt

Utilities

Anteckningar

  1. Panda3D-utvecklarblogg . Hämtad 19 mars 2020. Arkiverad från originalet 19 mars 2020.
  2. Panda3D Manual (nedlänk) . Arkiverad från originalet den 5 oktober 2012. 

Länkar

Litteratur