Shad.net > Projekty > S3D Rend

S3d Render/Edytor v0.02b - silnik grafiki 3d

Projekt silnika graficznego napisanego w języku C++ pozwalającego na edycję, wizualizację świata 3d. Skompilowany projekt jest do pobrania z działu download.  Zrzuty ekranu znajdują się w galerii. Jest to projekt napisany w roku 2004/2005, obecnie nie jest kontynuowany z uwagi na to że nie jest to projekt komercyjny, a jedynie jako sprawdzenie się w stworzeniu w dość zaawansowanej aplikacji.

Działający pod systemem:

  • Windows
  • Linux

Język programowania:

  • objektowe C++

Środowiska programistyczne używane do tworzenia programu:

  • Dev-C++ (Windows),
  • Anjuta (Linux)

Wykorzystywane biblioteki:

  • SDL – tworzenie okienek, obsługa urządzeń zewnętrznych,
  • OpenGL – biblioteka graficzna,
  • OpenAl – biblioteka dzwięku

Wersja 0.2 obsługuje:

Render:

  • Render: objekty typu mesh, sprajty 2D, system cząsteczek, obsługa lightmap.
  • Optymalizacja wyświetlania Frustum Culling, sortowanie materiałów, multitexturowanie
  • Oświetlenie: vertex light, lightmapy,


Efekty specjalne:

  • System cząsteczek – każdą cząsteczkę opisuje 34 parametrów, 15 typów emitera,
  • Flary - algorytm wykorzystujący Occlusion Culling,
  • Niebo - SkyBox, SkySphere,
  • Mgła

Zarządca grafiki/materiałów:

  • obsługuje formaty BMP,
  • TGA z kanałem alfa,
  • JPG.

Zarządca sceny: obsługuje formaty

  • S3D - własny binarny format plików: gometria, materiały, światła, sprajty 2D, definicje systemu cząsteczek, lightmapy, definicje flar, pozostałe dane,
  • ASC - geometra,
  • ASE - geometra, materiały, światła, lightmapy,
  • 3DS - geometria, materiały, światła.


Optymalizacje obiektów:

  • sortowanie materiałów i obiektów,
  • drzewa czwórkowe.

Logika:
• poruszanie kamerą, animacja kamery,
• animacja obiektów - podstawowe przekształcenia,
• detekcja kolizji (otaczające sześciany, przecięcie sfery ze ścianą),
• testy: Occlusion Culling, Frustum Culling, otaczające sześciany, otaczające sfery,


Dźwięk:

  • obsługa formatów WAV, OGG, dźwięk przestrzenny,

Framework systemu:

  • System profilujący
  • System logowania
  • Własny format plików
  • Język skryptowy
  • Wbudowane okienkowe GUI

Edytor sceny:

  • sceny
  • obiektów,
  • materiałów,
  • świateł,
  • cząsteczek,
  • nieba, mgły
  • kamery

Klawiszologia:

  • Game Mode - a,w,s,d sterowanie kamerą, mysz patrzenie
  • Edit Mode: a,w,s,d - sterowanie kamerą
  • F1,F2,F3 - włączanie wyłączenie wewnętrznego zegara
  • F4 - GUI
  • F5 - system profilujący
  • F6 - statystyka

Tryby pracy programu oraz parametry są zdefiniowane w pliku tekstowym - config.cfg