Projekt Micarpet Projektbericht - artecLab - Universität Bremen
Projekt Micarpet Projektbericht - artecLab - Universität Bremen
Projekt Micarpet Projektbericht - artecLab - Universität Bremen
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Kapitel 12<br />
Engine<br />
In diesem Abschnitt soll der Software-Entwurf und die Struktur der Kern-Engine des Systems beschrieben<br />
werden, insbesondere der Aspekt der Grafikdarstellung mit allen damit zusammenhängenden Themen<br />
sowie die Kopplung mit allen anderen Komponenten. Getrennt in eigenen Teilen beschrieben wird<br />
dabei das Soundsystem (15, S.197) sowie das Low-Level-Interface zu den Hardwarekomponenten (14,<br />
S.129).<br />
12.1 Grafik<br />
12.1.1 Grundüberlegungen<br />
Aus der Anforderungsdefinition (siehe Anhang B auf Seite 221) ergeben sich die erforderlichen Leistungen<br />
der Grafik in der Engine. Insbesondere muss die Grafik in Echtzeit erzeugt werden (und somit unter<br />
Verwendung von 3D-Hardware), die Darstellung von großen Szenen erlauben und auch das verteilte<br />
Rendern auf mehreren Rechnern für die Ansteuerung mehrerer <strong>Projekt</strong>orenunterstützen. In den folgenden<br />
Abschnitten wollen wir nun unsere Lösungen für diese und weitere Anforderungen beschreiben.<br />
12.1.2 OGRE<br />
Wie schon in der Übersicht beschrieben, verwenden wir das OGRE-Framework [?] als Basis für die Grafikdarstellung.<br />
OGRE (Object-Oriented Graphics Rendering Engine) ist eine quelloffene<br />
Rasterisierungs-Engine, die von Grund auf komplett [objekt-orientiert??] in C++ geschrieben ist. Dabei<br />
ist die Engine komplett plattformunabhängig und kann auf verschiedenen 3D-Bibliotheken, insbesondere<br />
OpenGL und Direct3D, aufsetzen, um eine hardwarebeschleunigte Darstellung zu bieten. OGRE ist<br />
allerdings keine vollständige Spiele-Engine, sondern bietet reine Grafikdarstellungsmöglichkeiten in einem<br />
flexiblen Framework.<br />
Einige wichtige weitere Features von OGRE sind:<br />
• Material/Shader-Management<br />
• eigenes [Mesh??]-Format, Unterstützung von Animationen und Level-of-Detail<br />
• Verwendung verschiedener Szenenmanager (z.B. eigener)<br />
• Spezialeffekte (Partikelsysteme, Billboards, ..)<br />
• [PlugIn??]-Architektur zur Erweiterung<br />
89