Panda3D

Panda3D
Tip de Motor de joc
Dezvoltator Disney , C.M.U.
Scris in C++ , Python
Sistem de operare Microsoft Windows , Linux , Mac OS X , FreeBSD
Prima editie 2002
ultima versiune 10/1/11 ( 7 ianuarie 2022 [1] )
Formate de fișiere care pot fi citite EGG [d] și container Panda3D Bam [d]
Formate de fișiere generate EGG [d] și container Panda3D Bam [d]
Licență Licență Panda3D (modificată de BSD ) 28 mai 2008
Până la 28 mai 2008 : licență BSD
Site-ul web panda3d.org

Panda3D  este un motor de joc care include grafică, sunet, I/O , detectarea coliziunilor și alte caracteristici legate de crearea de jocuri 3D. [2]

Panda3D este un software open source sub o licență BSD modificată . Versiunile anterioare datei de 28 mai 2008 nu au fost considerate software liber din cauza anumitor bug-uri din schița vechii licențe Panda3D. În ciuda acestui fapt, versiunile mai vechi ale Panda3D pot fi, de asemenea, utilizate pentru dezvoltarea jocurilor gratuite și comerciale, fără costuri.

Principalul limbaj de programare pentru lucrul cu Panda3D SDK este Python , dar nucleul motorului este scris în C++ . Pentru a oferi acces la funcțiile kernel din Python , este utilizată generarea automată a funcțiilor wrapper.. Această abordare oferă dezvoltatorului avantajele limbajului Python , cum ar fi viteza de învățare și dezvoltare, gestionarea automată a memoriei ( colectare de gunoi ), o bibliotecă bogată de componente suplimentare, menținând în același timp performanța limbajului compilat în nucleul motorului.

Printre utilizatorii Panda3D se numără dezvoltatorii mai multor jocuri comerciale majore ( Toontown Online, Pirații din Caraibe Online ), mai multe proiecte open source și o serie de cursuri universitare.

Caracteristici cheie

Grafică

Panda3D SDK oferă o interfață universală pentru lucrul cu grafica 3D, eliminând necesitatea ca un programator să învețe caracteristicile OpenGL și DirectX și să utilizeze operațiuni grafice de nivel scăzut. Panda3D folosește OpenGL ca API grafică principală datorită naturii sale multiplatforme . Opțional, puteți utiliza DirectX (numai sub Windows ), dar în acest moment DirectX în Panda3D are o serie de limitări.

Panda3D vă permite să generați automat cele mai utilizate shadere : Hartă normală , Hartă lucioasă, Hartă strălucitoare, Cartografiere ton, Filtru înflorire, Iluminare prag, Cerneală, Cartografiere umbră , Cerneală animată, Fulger volumetric, Încețoșare/Ascuțire, Ocluzie ambientală . Este posibil să includeți propriile voastre shadere scrise în Cg sau GLSL . Motorul folosește trei tipuri de modele 3D:

Primele două tipuri sunt create într-un pachet de modelare 3D și apoi exportate sau convertite într-un format ușor de înțeles de motor. Al treilea este construit dinamic pe baza unei imagini alb-negru a hărții de înălțime.

Fizica

Inițial, motorul de fizică ODE a fost integrat în Panda3D . De la lansarea 1.8.0, sa făcut integrarea experimentală a PhysX și Bullet Physics Library . În plus, dacă nu este nevoie să folosiți un motor fizic cu drepturi depline, există instrumente de detectare a coliziunilor încorporate.

GUI

Panda3D are două sisteme de construcție GUI : încorporat, bazat pe utilizarea modelelor 3D ca interfață grafică, iar în versiunea 1.8.0, a fost inclusă biblioteca libRocket GUI.

Sunet

Motorul are funcții pentru redarea sunetului surround.

Rețea

Panda3D are un sistem de joc LAN și server încorporat. Cu toate acestea, dezvoltatorii folosesc cel mai adesea bibliotecile de rețea Python.

Diverse

Utilități

Note

  1. Blogul dezvoltatorilor Panda3D . Preluat la 19 martie 2020. Arhivat din original la 19 martie 2020.
  2. Manual Panda3D (link descendent) . Arhivat din original pe 5 octombrie 2012. 

Link -uri

Literatură