Graphische Datenverarbeitung und Bildverarbeitung Hochschule Niederrhein Schattenberechnung Graphische DV und BV, Regina Pohle, 23. Schattenberechnung 1 Einordnung in die Inhalte der Vorlesung Einführung mathematische und allgemeine Grundlagen Hardware für Graphik und Bildverarbeitung Graphische Grundalgorithmen (Zeichnen graphischer Primitive, Methoden für Antialaising, Füllalgorithmen) Bildaufnahme (Koordinatensysteme, Transformation) Durchführung der Bildverarbeitung und -analyse Fourier Transformation Bildrestauration Bildverbesserung (Grauwertmodifikation, Filterverfahren) Segmentierung Morphologische Operationen Merkmalsermittlung und Klassifikation Erzeugung von Bildern in der Computergraphik Geometrierepräsentationen Transformationen in OpenGL Clipping in 2D und 3D Hidden Surface Removal Beleuchtungsberechnung Shading Schattenberechnung Graphische DV und BV, Regina Pohle, 23. Schattenberechnung 2
Schatten Realismus des Bildes gesteigert durch Hinzufügen von Schatten Schatten geben wichtige Hinweise zur Organisation der Szene Verbesserung der Tiefenwahrnehmung Schatten eng verknüpft mit Visible Surface Determination Graphische DV und BV, Regina Pohle, 23. Schattenberechnung 3 Funktionen des Schattens verankert Objekte in der Szene (keine fliegenden Objekte) hebt die Richtung der Beleuchtung hervor Graphische DV und BV, Regina Pohle, 23. Schattenberechnung 4
Kern- und Halbschatten Schatten bestehen aus zwei Teilen: Kernschatten (umbra) und Halbschatten (penumbra) Kernschatten: zentraler, scharf abgegrenzter dunkler Teil im Zentrum Halbschatten: helleres Gebiet, das den Kernschatten umgibt Punktlichtquellen generieren nur Kernschatten flächige Lichtquellen erzeugen beides, Kernschatten erhalten gar kein Licht, Halbschatten nur wenig (wegen der Ausdehnung der Lichtquellen) Halbschatten sehr aufwendig zu berechnen; da in der Computergraphik Punktlichtquellen eingesetzt werden, häufig nur Kernschattenberechnung Graphische DV und BV, Regina Pohle, 23. Schattenberechnung 5 Kern- und Halbschatten Kern- und Halbschatten bei unterschiedlich großen Lichtquellen Graphische DV und BV, Regina Pohle, 23. Schattenberechnung 6
Position der Lichtquelle Komplexität der Schattenberechnung abhängig von Position der Lichtquelle keine Schatten, wenn (einzige) Lichtquelle im Betrachterstandpunkt Lichtquelle im Unendlichen: orthographische Projektion zur Bestimmung des Schattens einfachster Fall Lichtquelle an endlicher Position außerhalb des Gesichtsfeldes: perspektivische Projektion zur Bestimmung des Schattens etwas komplizierter Lichtquelle innerhalb des Gesichtsfeldes: Unterteilung der Szene in Sektoren, Schattenberechnung separat für die Sektoren kompliziertester Fall relativen Positionen von Lichtquellen und Objekten ändern sich nicht Schatten bleibt konstant Relative Positionen ändern sich bei Animation wechselnde Schatten Graphische DV und BV, Regina Pohle, 23. Schattenberechnung 7 Schatten und Beleuchtung HSR/VSD-Algorithmen bestimmen, welche Flächen vom Betrachterstandpunkt aus sichtbar sind. Schattenberechnung bedeutet, die Flächen zu bestimmen, die von der Position der Lichtquelle aus nicht sichtbar sind VSD/HSR-Algorithmen können genutzt werden. Sichtbarkeit aus Sicht der Lichtquelle: entweder sichtbar oder nicht sichtbar wenn Oberflächenpunkt von Lichtquelle aus nicht sichtbar Punkt liegt im Schatten Beleuchtungsberechnung muß entsprechend angepaßt werden Graphische DV und BV, Regina Pohle, 23. Schattenberechnung 8
Schatten und Beleuchtung Faktor S j bestimmt, ob Licht von Lichtquelle j ein Objekt an einem gegebenen Punkt erreicht: S j = 0, wenn Lichtquelle j blockiert ist 1, wenn Lichtquelle j nicht blockiert ist Hinzufügen zur Beleuchtungsberechnung: I λ a a dλ m = I k O + S j= 1 j f att j I iλ ( k O ( N L ) + k O ( R V ) ) n Gebiete im Schatten immer noch durch das ambiente Licht beleuchtet j d dλ j sλ sλ j Graphische DV und BV, Regina Pohle, 23. Schattenberechnung 9 Schatten auf Grundebene Szene mit einem Objekt oder mehreren seperaten Objekten, Schatten auf ebene Grundplatte Zeichnen der Projektion des Objektes auf die Grundplatte (ähnlich einfach für vertikale Ebenen hinter dem Objekt oder seitlich vom Objekt) Punktlichtquelle im Unendlichen parallele Lichtstrahlen in Richtung L = (x 1, y 1, z 1 ) Punkt P = (x p, y p, z p ) wirft Schatten im Punkt S = (x sw,0, z sw ) Watt, 2002 Graphische DV und BV, Regina Pohle, 23. Schattenberechnung 10
zwei Schritte: Nutzung eines Schatten-z-Buffer 1. Rendern der Szene aus Sicht der Lichtquelle und Speichern der Tiefeninformation im Schatten-z-Buffer (keine Intensitätsberechnung notwendig) 2. Rendern der Szene mit einem z-buffer-algorithmus vom Betrachterstandpunkt aus. Zusätzlich: für jeden sichtbaren Punkt: Koordinatentransformation von (x, y, z) nach (x 0, y 0, z 0 ) in die Sicht der Lichtquelle Wenn z 0 größer als der Wert im Schatten-z-Buffer für diese Position ist, dann ist eine Fläche näher an der Lichtquelle und der Punkt im Schatten, sonst nicht. Anpassen der Beleuchtungsgleichung an diese Gegebenheiten Graphische DV und BV, Regina Pohle, 23. Schattenberechnung 11 Schattenvolumen entwickelt von Crow, 1977, für polygonale Objekte Schattenvolumen: nichtsichtbarer Teil des Raumes, der durch die Ausbreitung des Schattens eines Objektes gebildet wird Schattenpolygone: alle Flächen die das Schattenvolumen bilden Schattenpolygone haben eine nach außen zeigende Normale Schattenvolumen wird üblicherweise am Sichtkörper geclippt Schattenvolumen wird nur für solche Polygone generiert, die im Licht liegen Graphische DV und BV, Regina Pohle, 23. Schattenberechnung 12
Schattenvolumen Watt, 2002 Graphische DV und BV, Regina Pohle, 23. Schattenberechnung 13 Schattenvolumen Ermittlung, ob Punkt im Schatten liegt, geht vom Betrachterstandpunkt aus: - Vorderseite eines Schattenpolygons erzeugt Schatten auf den dahinterliegenden Polygonen - Rückseite eines Schattenpolygons hebt diesen Effekt wieder auf V sei ein Vektor vom Betrachterstandpunkt zu einem Punkt P eines Polygons: P liegt im Schatten, wenn V mehr Vorderseiten als Rückseiten von Schattenpolygonen schneidet Addition von +1, wenn Vektor eine Vorderseite schneidet, Addition von -1 bei Rückseite Punkt liegt im Schatten bei positivem Wert Graphische DV und BV, Regina Pohle, 23. Schattenberechnung 14
Schattenvolumen Watt, 2002 Graphische DV und BV, Regina Pohle, 23. Schattenberechnung 15 Schattendarstellung mit dem Scanlinien-Verfahren Preprocessing: Aufbau einer Datenstruktur, die ein Polygon mit allen Polygonen verbindet, die das gegebene Polygon abschatten können Erkennen von Schattenpaaren (Polygon zusammen mit einem anderen Polygon, das einen Schatten wirft) Projektion aller Polygone auf eine Kugel mit der Lichtquelle im Mittelpunkt solche Paare nicht beachten, die nicht miteinander interagieren können bei n Polygonen sind n(n-1) Schattenpaare möglich Graphische DV und BV, Regina Pohle, 23. Schattenberechnung 16
Schattendarstellung mit dem Scanlinien-Verfahren Berechnung der Projektion jedes Polygons von der Lichtquelle auf die Ebenen aller Polygone, auf die Schatten fallen kann Schattenpaare werden in einem normalen Scanlinien-Shading ausgewertet Wenn kein Schatten auf das Polygon fällt, zu dem die gerade behandelte Scanlinie gehört, dann einfaches Shading Wenn Schatten zu beachten ist, dann drei Fälle 1. Schattenpolygon verdeckt das aktuelle Scanlinien-Segment nicht einfaches Shading 2. Schattenpolygon verdeckt das aktuelle Scanlinien-Segment vollständig Shading mit Modulation der Intensität 3. Schattenpolygon verdeckt das aktuelle Scanlinien-Segment teilweise Unterteilen des Segments und Anwendung auf die Teilsegmente Graphische DV und BV, Regina Pohle, 23. Schattenberechnung 17 Schattendarstellung mit dem Scanlinien-Verfahren Watt, 2002 Graphische DV und BV, Regina Pohle, 23. Schattenberechnung 18
HSR aus Sicht der Lichtquelle Idee: Hidden Surface Removal aus Sicht der Lichtquelle erzeugt (Teil-)Polygone, die im Schatten liegen (nicht sichtbar) und beleuchtete (Teil-)Polygone (sichtbar) Vorgehen: Transformation der Szene, so daß Projektion aus Sicht der Lichtquelle möglich ist Hidden Surface Removal in dieser Ansicht Transformation der sichtbaren/unsichtbaren Polygone in ursprüngliche Ansicht Kombination beider Polygonmengen Graphische DV und BV, Regina Pohle, 23. Schattenberechnung 19 HSR aus Sicht der Lichtquelle Watt, 2002 Graphische DV und BV, Regina Pohle, 23. Schattenberechnung 20
HSR aus Sicht der Lichtquelle erfordert einen Objektraum-HSR-Algorithmus Schattenpolygone werden entweder direkt mit Objektpolygonen kombiniert oder als koplanare Polygone auf Oberflächen gelegt, dann besondere Behandlung aber Vorteil: Objektraum-Genauigkeit Graphische DV und BV, Regina Pohle, 23. Schattenberechnung 21 Zusammenfassung Schattenwurf in der lokaler Beleuchtungsberechung unberücksichtigt Rendering der Szene aus Sicht der Lichtquelle Nutzung von Algorithmen zur Sichtbarkeitsbestimmung zur Herleitung des Schattenwurfs Nutzung nur des ambienten Lichtanteils, gemischt mit einem Grauton, bei der Beleuchtungsberechnung von Schattenpolygonen Graphische DV und BV, Regina Pohle, 23. Schattenberechnung 22