3D-Engine

Technologisch ist die 3D-Engine aus dem Raycast Projekt entstanden. Die erste Version war denn auch in Java geschrieben und konnte nur Szenen rendern, die aus waagerechten Böden und Decken, sowie aus senkrechten Wänden bestanden. Das Hauptaugenmerk lag auf der Entwicklung des perspektivischen Texturenmappers der mir seinerzeit die meisten Kopfschmerzen bereitete.

Nachdem diese Hürde genommen war, kamen immer neue Features hinzu und irgendwann ging die Performanz dermassen in die Knie, daß ich mich entschloss die Java-Quellen nach C++ zu migrieren.

Ursprünglich wollte ich beide Plattfomen parallel weiterentwickeln, aber der Aufwand war einfach zu groß. Jetzt wird das Javaprogramm nur noch zum erstellen der Mapdateien verwendet.

Die Portierung nach C++ erfolgte mit Microsoft Visual Studio zunächst als SDI-Applikation. Später flog die MFC raus und jetzt ist es ein reines Win32-Programm.

Aktuell sind folgende Features implementiert:

  • Portal-Engine
  • Statisches Lightmapping & Shadowmapping
  • Animierte Geometrien (Türen)
  • Transparente und semitransparente Texturen (Sprites)
  • Partikelsystem für verschiedenste Sprite-Animationen (Feuer, Rauch, etc.)
  • Importschnittstelle zum DeleD Mapeditor
  • Bildschirmgröße frei einstellbar (Performant bis 640*400 Pixel)
  • Steuerung über Maus und Tastatur (WASD, bzw. Cursortasten)
Das Softwaredesign ist objektorientiert. Die Engine benötigt keine 3D-API (DirectX, OpenGL). Der Quellcode ist portabel. Mittlerweile gibt es auch eine MAC-Version für OS-X (Leopard).

Als Entwicklungsumgebung unter Windows wird Visual Studio 2005 von Microsoft verwendet. Auf dem MacBook wird Xcode 3.0 eingesetzt.

Alle Quellen sind mit Doxygen dokumentiert. Die noch verbliebenen Java-Programme werden unter Eclipse 3.4.1 weitergepflegt.

3D-Engine 1 3D-Engine 2 3D-Engine 3 3D-Engine 4
3D-Engine 5 3D-Engine 6 3D-Engine 7 3D-Engine 8
3D-Engine 9 3D-Engine 10 3D-Engine 11 3D-Engine 12
3D-Engine 13 3D-Engine 14 3D-Engine 15 3D-Engine 16