Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Pro Ogre 3D Programming. Überblick 1.Resource Management 2.Ogre Render Targets 3.Animation 4.Billboards and Particles.

Ähnliche Präsentationen


Präsentation zum Thema: "Pro Ogre 3D Programming. Überblick 1.Resource Management 2.Ogre Render Targets 3.Animation 4.Billboards and Particles."—  Präsentation transkript:

1 Pro Ogre 3D Programming

2 Überblick 1.Resource Management 2.Ogre Render Targets 3.Animation 4.Billboards and Particles

3 Resource Mangement Ressource: alles was Ogre zum rendern einer Szene benutzt Resource Management: organisatorische Strategie, die Ogre verwendet um das Laden und den Zugang zu Daten und Dateien zu verwalten

4 Resource Types 1.Material: Material Definition 2.Mesh (das Netz): Vertex, Geometrie und einige Animationsdaten 3.Skeleton: Knochen Hierarchie 4.Font: Schrift Definition 5.GPU Program: GPU Programm Definitionen sind in der Datei.program festgehalten 6.Compositor scripts: Definitionen und Anweisungen für das Programmierer System 7.texture: 2D Bilder warden als Text Daten gerendert Standard Ressourcen von Ogre

5 Resource Management System viele gute Gründe für Resource Management System 1.Schnelligkeit 2.Effizient 3.Muss keine Ressourcen in den Speicher laden, die die Anwendung vielleicht irgendwann braucht

6 Resource Groups Ogre kann Ressourcen in zwei Ebenen verwalten 1. in den Bedingungen von den individuellen Ressourcen selbst 2.in „named groups“ Vorteil: kann Ressourcen einer Gruppe als Ganzes behandeln (gleichzeitig laden oder entladen) Resource Group Management liegt allein bei dem Programmierer Dient dem persönlichen organisieren

7 Resource Locations Speicherstellen in dem Ogre Ressourcen speichert Nach Namen gespeichert, damit man sie schnell findet kann Speicherstellen jederzeit hinzufügen oder entfernen Ressource Speicherstelle : Archive innerhalb einer einzelnen Datei befindet sich eine hierarchische Organisation von Dateien (Zip Archive) Ogre Archive werden nur gelesen

8 Resource Life Cycles

9 Logical Resource Management jeder Ressource Typ bekommt seinen eigenen Ressource Manager: Aufgabe= laden und entladen der Ressourcen Resource Loading Wenn eine Ressource nicht schon vorher geladen ist, wird sie geladen, wenn sie gebraucht wird Wann eine bestimmte Ressource gebraucht wird ist in Ogre verankert Resource Unloading Ressource Daten bleiben im Speicher geladen bis die Anwendung es entläd Ogre entfernt keine Ressource automatisch aus dem Speicher

10 Praktisch [Bootstrap] Zip=../../media/packs/OgreCore.zip [General] FileSystem=../../media FileSystem=../../media/fonts FileSystem=../../media/materials/programs FileSystem=../../media/materials/scripts FileSystem=../../media/materials/textures FileSystem=../../media/models FileSystem=../../media/overlays FileSystem=../../media/particle FileSystem=../../media/gui Zip=../../media/packs/cubemap.zip Zip=../../media/packs/cubemapsJS.zip Zip=../../media/packs/dragon.zip Zip=../../media/packs/fresneldemo.zip Zip=../../media/packs/ogretestmap.zip Zip=../../media/packs/skybox.zip

11 Ogre Render Targets Speicherbereich in dem gerendert wird Primäre Render Fenster ist das Hauptfenster der Anwendung  von vorneherein gegeben Render-to-texture (RTT)  redert einen Teil der Szene in eine texture

12 Render Window Minimale Ausstattung Neben dem primär Fenster können zweit Fenster erstellt werden Primär Fenster bleibt jedoch das wichtigster Fenster  man muss erst die sekundären Fenster schließen/zerstören, bevor man das primäre Fenster zerstören kann

13 Viewports Render target beinhaltet ein oder mehrere Viewports Viewports werden erstellt in Bezug auf eine bestimmte Kamera  man kann die Kamera jedoch jederzeit ändern „Fenster zur Szene“: verhilft der Interaktion zwischen Kamera und Render Target

14 Render Texture Texture ist die interessanteste Form des Render Targets  simples Konzept: manches einer Szene wird in Texture gerendert

15 Animation Ogre Animation verglichen mit „Daumenkino“ Illusion von Bewegung 2 verschiedene Typen von Animation in Ogre keyframed animation via controller

16 Animation Kollektion von möglichen verbundenen tracks Animation track= Reihe von Daten Werten, die als Funktion von Zeit gespeichert wird 3 Typen von Animations Tracks: 1.NumericAnimationTrack 2.NodeAnimationTrack 3.VertexAnimationTrack

17 Eigenschaften der Animation 1.Length 2.Current Position 3.Animation name 4.Looping 5.Enabled 6.Weight

18 Skeletal Animation Geläufigste Typ von Animationen Punkte werden in einem Netz zu „Knochen“ verbunden Skelet entsteht „matrix palette skinning“

19 Skeleton Definiert durch eine Eltern Hierarchie Alle Knochen haben „Eltern“ bis auf dem root Knochen Veränderungen an einem Knochen führen zu Positionsveränderungen von allen Kinder Knochen

20 Vertex Binding Wenn der Knochen sich bewegt müssen die Punkte/Vertex sich mit bewegen Vertex müssen an das Skeleton gebunden werden Vertex werden zu Knochen zugeordnet Weight ist hier die Einwirkung, die der Knochen auf den Punkt hat  Beispiel: hat ein Knochen die Zuordnung den Eckpunkt mit 1.0 weigth zu beeinflussen, kontrolliert er diesen komplett In Ogre können nur 4 Knochen einem Eckpunkt zu geordnet werden, jedoch kann ein Knochen zu beliebig vielen Eckpunkten zu geordnet werden.

21 Vertex Animation Eckpunkte werden animiert Zwei verschiedene Typen 1.Morph Animation 2.Pose Animation

22 Blending Animation Kann meisten Animationstypen vermischen  komplexere Animation in einer Szene - man kann morph Animationen und pose Animationen nicht zusammen führen Mischt man vertex & skeletal Animationen, werden zuerst die Vertex Animationen von Ogre beachtet und dann die zutreffenden Skeletal Umformungen der Vertex beachtet  Beispiel: Gesichts Vertex werden mit pose Animationen durchgeführt und der Rest mit dem Skeletal Animationen  zwei oder mehrer Skeletal Animationen zu blenden ist besonders sinnvoll bei Übergängen zwischen zwei Animationen (Rennen-Laufen)

23 Billboards Billboards= Plakatwände, die sich häufig neben Straßen befinden  kein Zufall  Billboards in Ogre sind Vierecke, die sich nach der Kamera orientieren  rotieren in Kamera Blickrichtung Billboards werden oft bei Spezial Effekts wie Explosionen oder Rauch benutzt Auch bei Wolken, Regen, Licht oder Gräser werden Billboards verwendet

24 Billboard Sets Billboards können nicht alleine existieren Müssen zu Sets gehören Billboards Sets verwalten Gruppen von Billboards mit gleichen Dimensionen und Material Ogre sieht Billboards eines Sets als eine Einheit an (zusammen gerendert)

25 Billboard Creation Standard Zustand: point Billboard  richten sich immer nach der Kamera  sind immer aufrecht  Ausgangspunkt ist im Zentrum Oriented Billboard  rotiert um vorgegebene/eigene Y-Achse Perpendicular Billboard  passt sich aufrecht einem Richtungsvektor an

26 Billboard Pools Gibt in Ogre an wie viele Billboards man benötigt, wenn man ein Set erstellt Ogre erstellt gewünschte Anzahl und stellt sie bereit In aktive und freie Billboards aufgeteilt Wenn man einen Billboard beanspruchen möchte, jedoch keiner mehr da ist, gibt Oger NULL zurück  kann mehr Billboards erstellen ist jedoch sehr aufwendig und nicht ratsam

27 Billboard Chains & Ribbon Trails Billboard „Ketten“ sind nützlich wenn man Effekte wie Licht, Strahlen, Steifen und Spuren erzeugen möchte  Billboards aus einem Set müssen verbunden werden

28 Particle System http://de.wikipedia.org/wiki/Partikelsystem#mediaviewer/File: Particles.jpg

29 Literatur Pro OGRE 3D Programming by Gregory Junker, 2006.

30 Vielen Dank für Eure Aufmerksamkeit


Herunterladen ppt "Pro Ogre 3D Programming. Überblick 1.Resource Management 2.Ogre Render Targets 3.Animation 4.Billboards and Particles."

Ähnliche Präsentationen


Google-Anzeigen