Die Projektwerkstatt.

3D-Engine

„Man bräuchte eine 3D-Engine, welche auf allen Betriebssystemen funktioniert“, das war der Gedanke der Studenten Jörg Gebbing, Hendrik Nieuwmeyer und Patrick Bauer von der Fachhochschule Bocholt.

So begannen sie im Wintersemester 2012/2013 an einer Solchen zu arbeiten. Innerhalb dieses Semesters realisierten sie, durch Nutzung der Open Source Bibliotheken SDL (Simple DirectMedia Laye) und der OpenGL (Open Graphics Library) einige 3D-Werkzeuge. Als Programmiersprache wählten sie C++.
Mit Hilfe dieser 3D-Werkzeuge ist es auf vielen Betriebssystemen möglich 3D Objekte zu laden, die Objekte zu bewegen, Kollisionen abzufangen und vieles mehr.


Begonnen hatte die Studentengruppe mit der einfachen Darstellung von 2D-Objekten und Texturen.
Danach erstellten sie 3D-Objekte mit der Hilfe von Blender (einem Programm für 3D Modellierung und Animation, mit dessen Hilfe schon ganze 3D-Filme erzeugt wurden). Als Modellformat wählten sie das Wavefront OBJ Format, in dem die Objektparameter ziemlich einfach gespeichert werden. Dieses Format analysierten Sie und erstellten mit Hilfe des daraus folgenden
Ergebnisses einen Objektlader.

Bei der Entwicklung für verschiedene Betriebssysteme, traten Betriebssystem spezifische Fehler auf, da die Strukturen der Betriebssysteme unterschiedlich sind.

Als Nächstes befassten sich die Studenten mit der Sicht auf ein 3D-Objekt und entwickelten ein Konzept für eine Kamerafunktion, wie man sie aus Spielen mit Egoperspektive kennt. Bewegungen führt man über die Tasten „W“, „A“, „S“ und „D“ aus, die Sicht steuert man über die Maus. Das Wichtigste, was jetzt noch fehlte, war die Kollisionsabfrage um zu verhindern, dass man sich durch Wände und andere Objekte durch
bewegen kann.

Zum Schluss ist noch zu sagen, dass man mit dem erreichten ganz zufrieden sein kann an das Ziel ist man aber leider nicht ran gekommen, da 3D-Grafik-Programmierung doch schwerer ist, als man sich am Anfang vorgestellt hat.