34
Special Effects Special Effects Realistischeres Rendern Realistischeres Rendern einer Scene einer Scene

Special Effects Realistischeres Rendern einer Scene

Embed Size (px)

Citation preview

Page 1: Special Effects Realistischeres Rendern einer Scene

Special EffectsSpecial Effects

Realistischeres Rendern einer Realistischeres Rendern einer SceneScene

Page 2: Special Effects Realistischeres Rendern einer Scene

Special EffectsSpecial Effects

Heutige Themen:Heutige Themen:

• PartikelsystemePartikelsysteme

• Motion BlurMotion Blur

• TiefenschärfeTiefenschärfe

• Lens FlaresLens Flares

• AntialiasingAntialiasing

Page 3: Special Effects Realistischeres Rendern einer Scene

PartikelsystemePartikelsysteme

Page 4: Special Effects Realistischeres Rendern einer Scene

PartikelsystemePartikelsysteme

Page 5: Special Effects Realistischeres Rendern einer Scene

PartikelsystemePartikelsysteme

Einfachste Form:Einfachste Form: bestehend aus beliebig kleinen Punkten bestehend aus beliebig kleinen Punkten

Punkte können Eigenschaften habenPunkte können Eigenschaften haben

Gebilde sollen wachsen, schrumpfen, sichGebilde sollen wachsen, schrumpfen, sich bewegen und Form verändern können bewegen und Form verändern können

Page 6: Special Effects Realistischeres Rendern einer Scene

PartikelsystemePartikelsysteme

viele Partikel, kein individuelles Skript viele Partikel, kein individuelles Skript

allgemeines Skript mit integriertemallgemeines Skript mit integriertem Verhalten Verhalten

Partikel ändern Position auf Basis einesPartikel ändern Position auf Basis eines beliebigen Algorithmus beliebigen Algorithmus

Page 7: Special Effects Realistischeres Rendern einer Scene

PartikelsystemePartikelsysteme

Bilderzeugung ist Prozess mit 5 Schritten:Bilderzeugung ist Prozess mit 5 Schritten:1. Neue Partikel erzeugen und einbringen1. Neue Partikel erzeugen und einbringen

2. Individuelle Eigenschaften zuweisen2. Individuelle Eigenschaften zuweisen

3. Am Ende der Lebensdauer Partikel3. Am Ende der Lebensdauer Partikel löschen löschen

4. Aktuelle Partikel bewegen4. Aktuelle Partikel bewegen

5. Aktuelle Partikel rendern5. Aktuelle Partikel rendern

Page 8: Special Effects Realistischeres Rendern einer Scene

PartikelsystemePartikelsysteme Steuerung der Population z.B. inSteuerung der Population z.B. in Abhängigkeit von der Zeit: Abhängigkeit von der Zeit:

N(t) = M(t) + rand(r) * V(t)N(t) = M(t) + rand(r) * V(t)

Wobei: N: AnzahlWobei: N: Anzahl

M: MittelwertM: Mittelwert V: Varianz V: Varianz

Funktion muss nicht linear zeitabhängigFunktion muss nicht linear zeitabhängig sein sein

Anzahl der Partikel kann auch vonAnzahl der Partikel kann auch von Bildschirmgröße des Objekts abhängen Bildschirmgröße des Objekts abhängen

Page 9: Special Effects Realistischeres Rendern einer Scene

PartikelsystemePartikelsysteme

Partikelscripting basiert auf:Partikelscripting basiert auf:1.1. AnfangspositionAnfangsposition

2.2. Anfangsgeschwindigkeit und RichtungAnfangsgeschwindigkeit und Richtung

3.3. AnfangsgrößeAnfangsgröße

4.4. Anfängliche TransparenzAnfängliche Transparenz

5.5. FormForm

6.6. LebensdauerLebensdauer

Page 10: Special Effects Realistischeres Rendern einer Scene

PartikelsystemePartikelsysteme

Effekt mit Punkten eingeschränktEffekt mit Punkten eingeschränkt

Erweiterung: kurze LinienErweiterung: kurze Linien

Vertexfarben an EndpunktenVertexfarben an Endpunkten

besserer Effekt, kann aber noch besserer Effekt, kann aber noch eingeschränkt seineingeschränkt sein

Page 11: Special Effects Realistischeres Rendern einer Scene

PartikelsystemePartikelsysteme

Lösung: Quadrate, parallel zumLösung: Quadrate, parallel zum Bildschirm ausgerichtet Bildschirm ausgerichtet

Eigenschaften: Farbe, Normalenvektor,Eigenschaften: Farbe, Normalenvektor, Textur Textur

Textur mit Alpha-KanalTextur mit Alpha-Kanal

Page 12: Special Effects Realistischeres Rendern einer Scene

Motion BlurMotion Blur

Page 13: Special Effects Realistischeres Rendern einer Scene

Motion BlurMotion Blur

direkt modellieren und rendern mitdirekt modellieren und rendern mit Polygonen mit Alpha-Kanal pro Vertex Polygonen mit Alpha-Kanal pro Vertex

mit Hilfe von Accumulation Buffermit Hilfe von Accumulation Buffer modellieren modellieren

Page 14: Special Effects Realistischeres Rendern einer Scene

Accumulation BufferAccumulation Buffer

Bilder werden vermischtBilder werden vermischt

Buffer hat RGBA – WerteBuffer hat RGBA – Werte

dieselbe Auflösung, größere Bit-Tiefedieselbe Auflösung, größere Bit-Tiefe

Bilder von Color-Buffer in AccumulationBilder von Color-Buffer in Accumulation Buffer Buffer

Ergebnis zurück in Color-BufferErgebnis zurück in Color-Buffer

Page 15: Special Effects Realistischeres Rendern einer Scene

Motion BlurMotion Blur

Nutzung des Accumulation Buffer:Nutzung des Accumulation Buffer:

Objekt zu unterschiedlichen PositionenObjekt zu unterschiedlichen Positionen bewegen, die während eines Frames bewegen, die während eines Frames angenommen werden angenommen werden

diese Bilder in Accumulation Bufferdiese Bilder in Accumulation Buffer rendern rendern

Page 16: Special Effects Realistischeres Rendern einer Scene

Motion BlurMotion Blur

Billigere Nutzung:Billigere Nutzung:

immer acht Frames in Accumulationimmer acht Frames in Accumulation Buffer Buffer

nur zwei mal rendern pro Framenur zwei mal rendern pro Frame

Page 17: Special Effects Realistischeres Rendern einer Scene

                                 

„richtiges“ Motion Blur „falsches“ Motion Blur

Page 18: Special Effects Realistischeres Rendern einer Scene

Ohne Depth of FieldOhne Depth of Field

Page 19: Special Effects Realistischeres Rendern einer Scene

Mit Depth of FieldMit Depth of Field

Page 20: Special Effects Realistischeres Rendern einer Scene

TiefenschärfeTiefenschärfe

auch hier: Accumulation Bufferauch hier: Accumulation Buffer

Bilder mit leicht unterschiedlicherBilder mit leicht unterschiedlicher Blickrichtung aber gleichem Fokus Blickrichtung aber gleichem Fokus werden gemittelt werden gemittelt

Page 21: Special Effects Realistischeres Rendern einer Scene

„„Echte“ Lens FlaresEchte“ Lens Flares

Page 22: Special Effects Realistischeres Rendern einer Scene

Lens FlaresLens Flares

Bestehen aus:Bestehen aus:

ringförmige Bereiche ringförmige Bereiche hellen Lichts hellen Lichts

sternförmigessternförmiges Gebilde (ciliary corona) Gebilde (ciliary corona)

Page 23: Special Effects Realistischeres Rendern einer Scene

Lens FlaresLens Flares

Texturen für Komponenten auf QuadratTexturen für Komponenten auf Quadrat Textur hat Alpha-KanalTextur hat Alpha-Kanal Quadrat bekommt Farbe zugeordnetQuadrat bekommt Farbe zugeordnet Quadrate werden vermischt, neue FarbenQuadrate werden vermischt, neue Farben entstehen entstehen Quadrate mit Texturen werden als Quadrate mit Texturen werden als screen-aligned Billboards behandelt screen-aligned Billboards behandelt

Page 24: Special Effects Realistischeres Rendern einer Scene

Screen-aligned BillboardsScreen-aligned Billboards

orientieren der Polygone basierend auforientieren der Polygone basierend auf view-direction view-direction

Oberflächen-Normale soll Negation derOberflächen-Normale soll Negation der view-direction sein view-direction sein

rotieren des Billboards um Achse bisrotieren des Billboards um Achse bis richtige Position erreicht richtige Position erreicht

Achse = vAchse = vdirdir x n x n

Page 25: Special Effects Realistischeres Rendern einer Scene

BillboardsBillboards

Page 26: Special Effects Realistischeres Rendern einer Scene

Screen-aligned BillboardsScreen-aligned Billboards

jedes Billboard startet mit Mittelpunkt amjedes Billboard startet mit Mittelpunkt am Ursprung Ursprung

alle auf gleiche Weise rotierenalle auf gleiche Weise rotieren

auf endgültige 3-dimensionale Positionauf endgültige 3-dimensionale Position verschieben verschieben

Page 27: Special Effects Realistischeres Rendern einer Scene

Aliasing und AntialiasingAliasing und Antialiasing

Kanten von Polygonen und Linien gezacktKanten von Polygonen und Linien gezackt

Kanten werden in Pixel-GitterKanten werden in Pixel-Gitter „gezwungen“ „gezwungen“

Behebung: Antialiasing Behebung: Antialiasing

Problemfelder: Polygonkanten, Linien,Problemfelder: Polygonkanten, Linien, Texturen Texturen

Page 28: Special Effects Realistischeres Rendern einer Scene

AntialiasingAntialiasing

Supersampling:Supersampling:

mehrere Proben pro Pixelmehrere Proben pro Pixel

Farben aus Proben werden gemitteltFarben aus Proben werden gemittelt

Page 29: Special Effects Realistischeres Rendern einer Scene

AntialiasingAntialiasing

1.1. Supersampling-Methode:Supersampling-Methode:

Scene in seperatem Buffer mit höherer Scene in seperatem Buffer mit höherer Auflösung rendernAuflösung rendern

Samples auf Bild verteilenSamples auf Bild verteilen

Benachbarte Samples mitteln und Pixel Benachbarte Samples mitteln und Pixel Farbwert zuordnenFarbwert zuordnen

Page 30: Special Effects Realistischeres Rendern einer Scene
Page 31: Special Effects Realistischeres Rendern einer Scene

AntialiasingAntialiasing

2. Supersampling-Methode:2. Supersampling-Methode:

Accumulation Buffer nutzenAccumulation Buffer nutzen

mehrere Bilder mit unterschiedlicher mehrere Bilder mit unterschiedlicher Blickrichtung mitteln Blickrichtung mitteln

ein Bild pro Sampleein Bild pro Sample

Page 32: Special Effects Realistischeres Rendern einer Scene

AntialiasingAntialiasing

3. Supersampling-Methode:3. Supersampling-Methode:

Carpenters A-Buffer, MultisamplingCarpenters A-Buffer, Multisampling coverage mask für grid-Zelle wird coverage mask für grid-Zelle wird angelegt angelegt mask, Schattierung der Zelle, z-Tiefemask, Schattierung der Zelle, z-Tiefe bilden Fragment bilden Fragment Fragmente die verdeckt sind werdenFragmente die verdeckt sind werden aussortiert aussortiert Farbe der Zelle wird nach SichtbarkeitFarbe der Zelle wird nach Sichtbarkeit berechnet berechnet

Page 33: Special Effects Realistischeres Rendern einer Scene

AntialiasingAntialiasing

No AntiAliasing GeForce3 2x AntiAliasing GeForce3 4x AntiAliasing

Page 34: Special Effects Realistischeres Rendern einer Scene

AntialiasingAntialiasing

Andere Methoden:Andere Methoden:

Stochastic Sampling: Samples werdenStochastic Sampling: Samples werden zufällig positioniert zufällig positioniert

Kanten-Antialiasing: geeignete KantenKanten-Antialiasing: geeignete Kanten als verschwommene Linien zeichnen als verschwommene Linien zeichnen

Full-Scene Antialiasing: PolygoneFull-Scene Antialiasing: Polygone sortieren und Antialiasing der Kanten on the fly sortieren und Antialiasing der Kanten on the fly durchführen durchführen