Kein Folientitel - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Kein Folientitel

Description:

Title: Kein Folientitel Author: vismit Last modified by: vismit Created Date: 10/5/2001 9:14:58 AM Document presentation format: Bildschirmpr sentation – PowerPoint PPT presentation

Number of Views:12
Avg rating:3.0/5.0
Slides: 23
Provided by: vismit
Category:

less

Transcript and Presenter's Notes

Title: Kein Folientitel


1
  • Stefan Röttger
  • Universität Stuttgart (VIS)

2
Überblick
  • 1. Motivation
  • 2. Shadow Volumes Crow77
  • 3. Verfahren ohne Stencil Buffer
  • 4. Demonstrationsfilm

3
Motivation
  • Shadow Volumes
  • dynamische Schattenberechnung in Echtzeit
  • Nutzung der Grafikhardware (Stencil Buffer)
  • Problem Einschränkung auf neuste
  • PC Grafikkarten
  • (z.B. kein Stencil Buffer auf der Voodoo 3)
  • NEU Benutzung des Screen Buffers als Ersatz
  • DAMIT Lauffähig z.B. ab Voodoo 1 !

4
Shadow Volumes
Schritt 1 Szene rendern ? Z-Werte
5
Shadow Volumes
Vorderseite 1
Rückseite -1
Schritt 2 Shadow Volume Seiten rendern
6
Shadow Volumes
Vorderseite 0 (Tiefentest) Rückseite 0
(Tiefentest)
? 0
7
Shadow Volumes
0
Vorderseite 1 Rückseite 0 (Tiefentest)
? 1
8
Shadow Volumes
1
0
Vorderseite 1 Rückseite -1
? 0
9
Shadow Volumes
0
1
0
10
Shadow Volumes
  • Wiederholung mit allen schattenwerfenden Objekten
  • Pixel mit Stencil Buffer Wert gt 0 schwarz färben
  • Szene erneut rendern um ambienten
    Beleuchtungsanteil hinzuzufügen
  • Oder Helligkeitswerte im Schatten halbieren

11
Verfahren ohne Stencil Buffer
  • Idee Die Schattenmaske wird im Screen Buffer
    (RGB- oder Alpha-Kanal) berechnet, anstatt im
    Stencil Buffer
  • Problem dstColor dstColor -1 nicht
    realisierbar
  • Lösung Anstatt 1 2 (verdopple Farbwert)
  • Anstatt -1 /2 (halbiere Farbwert)

12
Blendingfunktionen für 2, /2
Farbwerte 0 ? schwarz 1 ? weiss
Blendingfunktionen cdstfcsrc gcdst 2
fcdst, csrc1, g1 ? cdst cdst1
1cdst /2 f0, g0.5 ? cdst 0 cdst0.5
13
Zustand eines Pixels
  • Initialisiere alle Pixel mit Farbwert 1/4

2
2
1/4
1/2
1
2 (Clamping!)
/2
/2
Eingabefolgen Punkt in Shadow
Volume 2 Punkt vor Shadow Volume ? Punkt
hinter Shadow Volume 2 , /2
14
Normierung auf 0/1
Nach dem Rendern aller Shadow Volumes
1/4
1/2
1
2
1/2
1
Invert (c1-c)
1/2
0
2
1
0
Licht
Schatten
15
Anwendung der Schattenmaske
  • Multipliziere s/w Schattenmaske mit Bild
  • Rendern der Szene, mit cdst cdst csrc
  • Szene erneut rendern um ambienten
    Beleuchtungsanteil hinzuzufügen mit cdst cdst
    csrc
  • Oder alternativ die Werte im Schatten halbieren
    mit
  • Normierung auf 0.5/1 und cdst cdst csrc

16
Beispiel Shadow Volumes
17
Beispiel 2, Inv, 2
18
Beispiel Fertiges Bild
19
Berechnung im Alpha Kanal
  • Alternativ kann kann die Schattenmaske auch im
    Alpha Kanal berechnet werden
  • Angewendet wird die Schattenmaske durch
    Umkopieren des Alpha Kanals in eine gleich große
    Textur
  • Vorteil Berechnung der Schattenmaske mit
    niedrigerer Auflösung möglich ? Schattenmaske
    wird schneller rasterisiert
  • Szene muss bei Halbierung der Schattenwerte nicht
    noch einmal gerendert werden

20
Demonstrationsfilm
21
Zusammenfassung
  • Effiziente Schattenberechnung auch ohne Stencil
    Buffer möglich
  • Schattenmaske wird im Screen Buffer (oder im
    Alpha Kanal) aufgebaut
  • Verwende 2, /2 anstatt 1, -1
  • Durch anschließendes Umkopieren in eine Textur
    kann die Schattenmaske auch in kleineren
    Auflösungen berechnet werden
  • Wende die Schattenmaske nach Normalisierung an
    ambiente Beleuchtung, schwarze Schatten,
    Helligkeit halbieren

22
Fin
  • Fragen?
Write a Comment
User Comments (0)
About PowerShow.com