Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Ottoline Stuckman Geändert vor über 10 Jahren
1
Effekte 1 Universität zu Köln Historisch Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil 1): Simulation und 3D Programmierung Dozent: Prof. Dr. Manfred Thaller Referent: Artur Wilke
2
Inhalt Nebel Beleuchtung Alpha-Blending Multi-Texturing
3
Warum Nebel? Problem in bei größeren Landschaften (Out- Door): Anzahl der zu zeichnenden Objekte nimmt zu Bei großer Sichtweite springen Objekte ins Bild Unrealistisch
4
Nebel Lösung: Nachahmung der Wirklichkeit Landschaft schein nahtlos in den Horizont überzugehen Zuschauer kann nicht sehen was dahinter ist
5
Nebel Vorteile: Realismus wird suggeriert Verhindern von Grafikfehlern Atmosphäre wird erzeugt
7
Linearer Nebel Festgelegter Start- und Endwert (Distanz) Einfluss des Nebel steigt zwischen diesen Werten mit gleicher Höhe (linear) f(d) = Ende – d d steht für die Tiefe des Pixels Ende-Start
8
Exponentieller Nebel Nebelstärke nicht exponentiell zu. Kein Anfangs- und Endwert Beginnt direkt vor der Kamera und geht theoretisch bis in Unendliche
9
Direct3D Berechnung Einfacher exponentiellen Nebel: f(d) = 1 e^(d*dichte) o Rückgabewert: 1=Kein Nebel; 0=vollständiger Nebel
10
Vertexnebel vs Pixelnebel Pixelnebel ist genauer, da Nebeleinfluss für jedes einzelne Pixel berechnet wird Dadurch jedoch aufwändiger zu berechnen und leistungsintensiver (Performance!) Daher wird für die meisten Fälle der Vertexnebel bevorzugt
11
Tiefennebel vs Entfernungsnebel Tiefennebel arbeitet mit Angabe der Z- Koordinate (Tiefe) Entfernungsnebel wird die tatsächliche Entfernung zur Kamera angegeben Tiefennebel ist schneller zu berechenen Entfernungsnebel funktioniert nur im Zusammenspiel mit Vertexnebel
12
Beleuchtung Die Eigenschaften von Licht komplett nachzuahmen ist rechnerisch zu aufwändig Besonders rechnungsintensiv ist die Reflexion Daher vereinfachte, lokale Beleuchtungsmodelle
13
Grundprinzipien der Beleuchtung Verschiedene Lichttypen: Punktlichter: Geben Licht in alle Richtungen ab (Glühbirne) Spotlichter: Geben Licht gebündelt in einem Lichtkegel ab (Scheinwerfer) Richtungslichter: Geben Licht in eine Richtung ab (Sonne)
14
Grundprinzipien der Beleuchtung Oberflächen die senkrecht zum Licht stehen werden am stärksten beleuchtet, bei 90 Grad Winkel -> keine Beleuchtung Licht außerhalb seiner effektiven Reichweite wird nicht mehr berechnet Objekte werden einem Material zugeordnet welches gewisse Eigenschaften zum Licht hat
15
Farbe Licht ist eine Mischung aus Farben (RGB zum Beispiel) Wir sehen ein Objekt in jener Farbe, die am stärksten reflektiert wird. Gleiches Prinzip in der Lichtberechnung: Material hat eine Materialstreufarbe, Licht eine Lichtstreufarbe Streufarbe: engl. Diffuse Color
16
Farbe Farbe= f * Lichtstreufarbe * Materialstreufarbe f = Lichtbeeinflussfaktor (Werte zwischen [0;1]), 1 wäre volles Licht, 0 gar kein Licht
17
Weitere Beleuchtungen Hintergrundbeleuchtung (ambient color) Glanzfarbe (specular color) Eigenfarbe / Strahlungsfarbe (emissive color) Wird bei Berechnung einfach hinzuaddiert
18
Beleuchtung auf Vertexbasis Erlaubt glattere Übergänge Reicht in einigen Fällen nicht aus Lösung Light –Mapping Lichtfleck wird in Form ein Textur aufgelegt Multi-Texturing
19
Alpha-Blending Durch transparente Pixel bleiben opake Pixel sichtbar Z-Buffer kann dabei nicht genutzt werden Transparente Pixel werden immer nach den opaken gezeichnet
20
Alphawert Jede Farbe bekommt einen Alphawert Je höher dieser, desto undurchsichtiger (opak)
21
Multi-Texturing Multi-Texturing erlaubt mehrere Texturen mit unterschiedlicher Auflösung übereinander zu legen Speicher wird eingespart Beispiel: Light-Maps zu Abbildung von statischen Licht und Schatten
22
Multi-Texturing Erlaubt Effekte wie Partikel in einem Schutzschild Erlaubt Rotieren einer der Texturen in Echtzeit Maximale Anzahl der Texturen wird von der Grafikkarte bestimmt (2005 max. 16 Texturen) Ersetzt Alpha-Blending Einsatz als Beleuchtung (Light-Map)
23
Umsetzung Jede Texturschicht hat einen Operator und zwei oder drei Argumente Das Ergebnis wird ein Zielregister geschrieben, welches wiederum ein Argument der nächsten Textur sein kann Argument kann ein Register, Texturfarbe oder Streufarbe sein Zielregister kann das Standardregister oder ein temporäres sein Beispiel: Pixelfarbe = (Streufarbe * Textur1) + Textur2
24
Quellen: David Scherfgen: 3D-Spiele-Programmierung, S. 182- 225 http://cdn2.sbnation.com/assets/3227507/RSG_GTAV_ Screenshot_340.jpg http://cdn2.sbnation.com/assets/3227507/RSG_GTAV_ Screenshot_340.jpg http://static.hothdwallpaper.net/51957c353196518884.jpg http://static.hothdwallpaper.net/51957c353196518884.jpg http://www.itwissen.info/bilder/beispiel-fuer-alpha- blending-mit-verschiedenen-transparenzstufen.png http://www.itwissen.info/bilder/beispiel-fuer-alpha- blending-mit-verschiedenen-transparenzstufen.png http://www.flipcode.com/archives/alpha.gif http://img.tfd.com/cde/_ALPHACH.GIF
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.