1 / 24

Effekte 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. Inhalt. Nebel Beleuchtung Alpha-Blending Multi-Texturing. Warum Nebel?.

howie
Download Presentation

Effekte 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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

  6. 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

  7. Exponentieller Nebel • Nebelstärke nicht exponentiell zu. • Kein Anfangs- und Endwert • Beginnt direkt vor der Kamera und geht theoretisch bis in Unendliche

  8. Direct3D Berechnung Einfacher exponentiellen Nebel: f(d) = 1 e^(d*dichte) • Rückgabewert: 1=Kein Nebel; 0=vollständiger Nebel

  9. Vertexnebelvs 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

  10. 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

  11. Beleuchtung • Die Eigenschaften von Licht komplett nachzuahmen ist rechnerisch zu aufwändig • Besonders rechnungsintensiv ist die Reflexion • Daher vereinfachte, lokale Beleuchtungsmodelle

  12. 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)

  13. 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

  14. 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

  15. Farbe Farbe= f * Lichtstreufarbe * Materialstreufarbe f = Lichtbeeinflussfaktor (Werte zwischen [0;1]), 1 wäre volles Licht, 0 gar kein Licht

  16. Weitere Beleuchtungen • Hintergrundbeleuchtung (ambientcolor) • Glanzfarbe (specularcolor) • Eigenfarbe / Strahlungsfarbe (emissivecolor) • Wird bei Berechnung einfach hinzuaddiert

  17. 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

  18. Alpha-Blending • Durch transparente Pixel bleiben opake Pixel sichtbar • Z-Buffer kann dabei nicht genutzt werden • Transparente Pixel werden immer nach den opaken gezeichnet

  19. Alphawert • Jede Farbe bekommt einen Alphawert • Je höher dieser, desto undurchsichtiger (opak)

  20. 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

  21. 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)

  22. 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

  23. Quellen: • David Scherfgen: 3D-Spiele-Programmierung, S. 182-225 • http://cdn2.sbnation.com/assets/3227507/RSG_GTAV_Screenshot_340.jpg • http://static.hothdwallpaper.net/51957c353196518884.jpg • 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

More Related