Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Universität zu Köln Institut für Historisch- Kulturwissenschaftliche- Informationsverarbeitung SS 2011 Dozent: Prof. Dr. Manfred Thaller AM3 Seminar „Softwaretechnologie.

Ähnliche Präsentationen


Präsentation zum Thema: "Universität zu Köln Institut für Historisch- Kulturwissenschaftliche- Informationsverarbeitung SS 2011 Dozent: Prof. Dr. Manfred Thaller AM3 Seminar „Softwaretechnologie."—  Präsentation transkript:

1 Universität zu Köln Institut für Historisch- Kulturwissenschaftliche- Informationsverarbeitung SS 2011 Dozent: Prof. Dr. Manfred Thaller AM3 Seminar „Softwaretechnologie II (Teil 2)" Referent: André Streicher - Vorstellung - Vorstellung

2 von 15 Was ist ? OGRE steht für „Object-Oriented Graphics Rendering Engine“ Begründer: Steve Streeting (2001) Open-Source-Projekt (MIT License) Grafikengine… …und keine vollständige Gameengine …und keine vollständige Gameengine  Sound  AI  Physik  Kollisionsberechnung  Netzwerktechnologien  etc… …sind nicht standardmäßig integriert …sind nicht standardmäßig integriert

3 von 15 Grundkonzept von Engine lässt sich intern individuell durch Plugins formen Externe Verknüpfung mit beliebigen Bibliotheken für andere Teilbereiche der Anwendung: - Physik/ Kollision -> Bullet physics/ PhysX/ Havok… - Sound -> OpenAL/ fMOD/ IrrKlang… - GUI -> CEGUI/ libRocket/ QuickGUI… - etc…. Die Engine kann als Grundlage individuell gestaltet/ angepasst werden => „Die Engine kann an die Bedürfnisse der Anwendung angepasst werden und nicht die Anwendung an die fertige Gameengine“

4 von 15 Features von C++ basiert (Alternativ auch Unterstützung von Java, Python,.NET) Hierarchischer Szenegraph Unterstützung von OpenGL und Direct3D (DirectX9) => Plattformunabhängig Klassenbibliotheken abstrahieren von der Betriebsystem- Plattform bzw. der Grafikschnittstelle => Abstraktion von Standartaufgabenbereichen zum trivialisierten Funktionsaufruf Vollkommene Dokumentation der Basis- Engine => Umfangreiche aktive Community und Forengemeinschaft

5 von 15 Features von Rudimentäre Grafikelemente der Tribase- Engine implementiert (Multiple pass effects, Sprites, Skyboxes, Multitexture, Mip Mapping bzw. (Multiple pass effects, Sprites, Skyboxes, Multitexture, Mip Mapping bzw. LOD, Partikelsysteme, Bumpmapping, Fog, Lights, usw….) LOD, Partikelsysteme, Bumpmapping, Fog, Lights, usw….) Differenzierte Textur- und Meshdatenformate können eingebunden werden Verschiedene Typen der Schattengenerierung Möglichkeit der Animation von Meshes oder Kamerafahrten

6 von 15 Features von OGRE Terrain System zur Terraingenerierung  Unterstützung von Paging  Light Maps/ Normal Maps  Hoher Abstraktionsgrad = Trivialisierung der Generierung

7 von 15 Aufbau von Szenengraph Wurzelklasse Root Einstiegspunkt, aus dem alles weitere ableitet wird Verknüpfung Anwendung Systemumgebung SceneManager Verantwortlich für den Inhalt der Szene (3D- Umgebung) Verwaltung von 3D- Objekten (Mesh), Nebel (Fog), Lichtquelle und Kamera, Himmel (Skybox) usw… Verknüpft mit dem RenderSystem, das die Szene des Managers rendert

8 von 15 Aufbau von SceneNode Jedes Objekt in der Szene wird getrennt von seiner Position im Raum verwaltet (movableObject/ static geometry) Die Position jedes Objektes wird durch eine SceneNode verwaltet SceneNode‘s werden vom SceneManager in einer hierarchischen Struktur abegleitet Movable Object Verwaltung Verwaltung aller beweglichen Objekte innerhalb der Szene (Kamera, Licht, 3D- Objekte -> Entity) Entity: - Verwaltet das 3D- Objekt (Mesh) und kann beliebig vielen SceneNode‘s zugeordnet werden => Objekte werden einmalig geladen (Speicheredundanz)

9 von 15 Aufbau von

10 von 15 Aufbau von

11 von 15 Aufbau von Weitere elementare Elemente:RenderSystem Rendern der Szene Wahl zwischen OpenGL oder Direct3D als RenderSystemFrameListener Vergleichbar mit der Move- Funktion aus TriBase Szene bei jedem Frame anpassen (FrameEvents)RessourceManager Initialisierung/Laden und Verwalten aller Ressourcen

12 von 15 Aufbau von Unterteilung in drei Bibliotheksgruppen:  Main library (OgreMain.dll) -> Basisfunktionalitäten der Engine  Plugins -> Individuelle Konfiguration der Engine: - Reduktion auf gewünschtes RenderSystem (OpenGL/Direct3D) - Auswahl des gewünschten Szenemanagers - usw…. => Möglichkeit selber Plugins zu schreiben und sich die Engine anzupassen  Helper libraries -> Aufgabenbereich außerhalb der grafischen Darstellung - OIS/ Physik/ GUI/ Sound usw….

13 von 15 Aufbau von Einrichtung eines Projektes – Möglichkeit der Strukturierung-:  Basisklasse als Framework, die alle Komponenten der Engine für Anwendung implementiert  Ableitung der eigentlichen Spielklassen von dieser Basisklasse für die Implementation der spezifischen Inhalte Gruppenmitglieder müssen auf spezifische Umformung der Basisklasse achten => Dateien auf Server zum gemeinsamen Bearbeiten hochladen (Dropbox?!)

14 von 15 Warum ? Alle nötigen Grundeigenschaften einer guten 3D- Grafikengine - Elemente zur Gestaltung einer ansehnlichen 3D- Umgebung vorhanden - Libraries zur Entlastung des Programmierers -> TerrainSystem Individuelle Anpassung der Engine an die Anwendung - Interne Struktur den Bedürfnissen angleichen - Wahl der passenden externen Bibliothek Leicht verständlicher Szenengraph - Konsequenter Aufbau nach eingängigem Grundprinzip - Flexibles Konstrukt, um unterschiedlichen Bedürfnissen zu genügen Große und aktive Community - Umfangreiche Dokumentationen, Anleitungen und Tutorials -Problemhilfe in Foren

15 von 15 Vielen Dank für Ihre Aufmerksamkeit!!! Fragen ???


Herunterladen ppt "Universität zu Köln Institut für Historisch- Kulturwissenschaftliche- Informationsverarbeitung SS 2011 Dozent: Prof. Dr. Manfred Thaller AM3 Seminar „Softwaretechnologie."

Ähnliche Präsentationen


Google-Anzeigen