§4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein...

37
§4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer-grafik. Dieses Unterkapitel beschreibt die quantitativen Aspekte von Farbe, auf denen jegliche Verarbeitung von Farbinformationen während des Renderings beruht. Fragestellungen: - Wie kann man eine bestimmte Farbe exakt spezifizieren? Farbräume, Farbmodelle - Wie viele verschiedene Farben können durch eine Grafikhardware spezifiziert werden? technische Realisierbarkeit - Wie exakt kann eine exakt spezifizierte Farbe auf einem Ausgabegerät angezeigt werden? geräteabhängige Farbräume

Transcript of §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein...

Page 1: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-1

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.1 Farbmodelle

Farbe ist ein wesentlicher Bestandteil realistischer Computer-grafik. Dieses Unterkapitel beschreibt die quantitativen Aspekte von Farbe, auf denen jegliche Verarbeitung von Farbinformationen während des Renderings beruht.

Fragestellungen:- Wie kann man eine bestimmte Farbe exakt spezifizieren?

Farbräume, Farbmodelle

- Wie viele verschiedene Farben können durch eine Grafikhardware spezifiziert werden?

technische Realisierbarkeit

- Wie exakt kann eine exakt spezifizierte Farbe auf einem Ausgabegerät angezeigt werden?

geräteabhängige Farbräume

Page 2: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-2

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.1 Farbmodelle

Hierarchien bekannter Farbmengen

A: Menge aller vom Menschen

wahrnehmbaren Farben

B: Menge aller von einem Ausgabe-

gerät (z. B. Monitor) darstellbaren

Farben – dies ist eine Untermenge von A

C: Menge aller von einem Programm

spezifizierbaren Farben – beschränkt durch die

Grafikhardware (Bildspeicher) 24 Bit/Pixel 16777216 Farben

– i. a. Untermenge von A, enthält aber auch Elemente von B\A

Ebener Schnitt durch den drei-dimensionalen Farbraum. JederPunkt entspricht einer Farbe.

Page 3: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-3

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.1 Farbmodelle

Dreidimensionaler Farbraum

Der traditionellen Beschreibung von Farben durch Namen mangelt es naturgemäß an Exaktheit – Aschgrau, Steingrau, Mausgrau, ...

Eine präzise Festlegung erhält man erst durch eine objektive quantitative Spezifikation. Physikalisch gesehen ist eine Farbe eine bestimmte Energieverteilung im elektromagnetischen Spektrum zwischen 400 und 700 Nanometern Wellenlänge.

Anhand physikalischer Experimente und Untersuchungen der physiologischen Farbwahrnehmung durch das menschlicheAuge gelangte man zur Erkenntnis, dass nahezu alle Farben,die das Auge unterscheiden kann, auf eine additive Mischung dreier Grundfarben zurückgeführt werden können.

Page 4: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-4

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.1 Farbmodelle

Dreidimensionaler Farbraum (cont.)

Definiert man die zu mischenden Anteile z. B. der GrundfarbenRot, Grün und Blau durch ein Tripel (r, g, b) von Gewichts-faktoren, so lässt sich eine bestimmte Farbe C mittelsC = r R + g G + b B exakt spezifizieren.

Dies ist jedoch bei weitem nicht die einzige Möglichkeit, einen dreidimensionalen Farbraum zu definieren. Je nach Anforderung können verschiedene standardisierte Farbräume (Farbmodelle) verwendet werden, z. B.

RGB: traditioneller Farbraum für Computergrafik, Monitore, ...HSV: erleichtert die intuitive FarbauswahlCIE: internationaler Standard zur FarbspezifikationCMY: subtraktives Farbmodell für die Drucktechnik

Page 5: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-5

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.1 Farbmodelle

RGB-Farbmodell

- verwendet die Grundfarben Rot, Grün und Blauzur additiven Farbmischung

- Beschreibung einer Farbe durch ein Tripel (r, g, b) von Gewichtsfaktoren mit . Es gilt:

(0, 0, 0) = Schwarz (1, 1, 1) = Weiß(1, 0, 0) = Rot (0, 1, 0) = Grün (0, 0, 1) = Blau(0, 1, 1) = Cyan (1, 0, 1) = Magenta (1, 1, 0) = Gelb

Im Rechner: z. B. 8 Bit pro Grundfarbe, d. h. .

- die Menge aller spezifizierbaren Farben wird im 3D-Raum durch einen Würfel repräsentiert („Farbkörper“) – dieser deckt jedoch nicht den gesamten wahrnehmbaren Farbraum ab

10 r, g, b

2550 r, g, b

Page 6: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-6

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.1 Farbmodelle

RGB-Farbmodell (cont.)

RGB-Farbwürfel

R

B

G

Page 7: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-7

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.1 Farbmodelle

RGB-Farbmodell (cont.)

- Das Modell ist bezüglich der Farbwahrnehmung nicht linear:

Betrachtet man eine typische Farbauflösung von 8 Bit proGrundfarbe (sog. True Color), so existieren im Farbwürfel

Regionen, in denen benachbarte Punkte für das Auge denselben Farbeindruck hervorrufen. In anderen Regionen hingegen sind die Farben benachbarter Punkte für das Auge sehr wohl voneinander unterscheidbar.

- Für den Anwender ist es mitunter recht schwierig, zu einergewünschten Farbe (z. B. Kastanienbraun) ein entsprechendes(r, g, b)-Tupel zu ermitteln oder eine Farbe beispielsweise

ein wenig abzuschwächen (erfordert ungleiche Änderungenvon r, g und b). HSV-Farbmodell

Page 8: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-8

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.1 Farbmodelle

3600 H10 S

10 V

HSV-Farbmodell

- entwickelt zur Unterstützung einer intuitiven Farbauswahl(wahrnehmungsorientiertes Farbmodell)

- der Farbkörper im 3D-Farbraum ist eine Pyramidemit sechseckiger Grundfläche

- verwendet „Zylinderkoordinaten“Hue: Farbe („Farbfamilie“) als

„Farbwinkel“ in Grad:

Saturation: Sättigung:(Verkleinerung addiert Weiß)

Value: Helligkeit:(Verkleinerung addiert Schwarz)

Cyan

Page 9: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-9

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.1 Farbmodelle

Zusammenhang zwischen HSV- und RGB-Modell:

- Die Grundfläche der HSV-Pyramide entsteht aus dem RGB-Würfel durch Projektion entlang der Raumdiagonale von Weiß nach Schwarz auf eine dazu senkrecht stehende Ebene.

- Es ergeben sich folgendekorrespondierende Punkte:

- Bemerkung:Im HSV-Modell besitzenKomplementärfarben eineWinkeldifferenz von 180°im H-Wert

RGB Farbe HSV

(1, 0, 0) Rot (0, 1, 1)

(1, 1, 0) Gelb (60, 1, 1)

(0, 1, 0) Grün (120, 1, 1)

(0, 1, 1) Cyan (180, 1, 1)

(0, 0, 1) Blau (240, 1, 1)

(1, 0, 1) Magenta (300, 1, 1)

Page 10: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-10

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.1 Farbmodelle

Zusammenhang HSV- und RGB-Modell: (cont.)

- Schreitet man im RGB-Würfel entlang der Hauptdiagonale von Schwarz nach Weiß, so kann man in jedem Punkt P dieser

Diagonale einen Sub-Würfel wie folgt definieren:- die Hauptdiagonalen der Würfel fallen zusammen- eine Ecke des Sub-Würfels liegt bei Schwarz = (0, 0, 0) ,

die gegenüberliegende Ecke liegt bei P- der Sub-Würfel liegt im Innern des RGB-Würfels

- Somit definiert jeder Sub-Würfel bei Anwendung der oben beschriebenen Projektion entlang der Hauptdiagonale ein Sechseck, das einem Schnitt durch die HSV-Pyramide für

V = const. entspricht. (Die Hauptdiagonale des RGB-Würfels entspricht also der V-Achse der HSV-Pyramide.)

Page 11: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-11

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

Motivation:

- Die grundlegende Modellierung unserer Objekte besteht in letzter Konsequenz aus planaren Polygonen, meist aus Vier- oder Dreiecken.

- Das Dreieck ist die favorisierte Form, denn ein Dreieck hateine eindeutige Normale, die anzeigt, wo das Dreieck „hinzeigt“.

Ein Viereck nicht?

- Den Prozess, der aus der mathematischen Beschreibung,beispielsweise einer Kugel, eine Menge von Dreiecken

produziert, nennt man tesselation, triangulation bzw.„Tesselation“, „Triangulierung“

Vorsicht: Ein Viereck muss nicht planar sein!

Page 12: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-12

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

Motivation: (cont.)

- Die einfachste Form, unsere Objekte darzustellen (zu rendern)ist die Wireframe-Darstellung – wir zeichnen lediglich die

Kanten der Polygone.

Bem.:- Wireframe-Darstellung mit Darstellung aller Kanten, d.h.

auch der (teilweise) verdeckten Kanten von Objektenist zwar trivial, die Darstellung einer 3D-Szene wirktallerdings nicht wirklich räumlich -> visual cluttering

- Wireframe-Darstellung mit Darstellung nur der wirklich sichtbaren Kanten führt zu sog. hidden-line-Algorithmen, die absolut nicht mehr trivial sind – man muss sich nun um die Sichtbarkeit / die Visibilität Gedanken machen!

Page 13: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-13

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

Ziel der Visibilitätsverfahren ist die möglichst exakte Bestimmung der von einem gegebenen Blickpunkt aus sichtbaren bzw. unsicht-baren Teile der darzustellenden Szene.

Wünschenswert ist eine hohe Interaktionsrate, so dass Eingaben des Benutzers sich direkt auf die Darstellung auswirken. Im günstigsten Falle ist sogar eine Echtzeitausgabe der Szene möglich.

Einteilung der Verfahren:

- Objektraumverfahrengeräteunabhängig, Genauigkeit ist Maschinengenauigkeit

- Bildraumverfahrengeräteabhängig, Genauigkeit ist Auflösung des Ausgabegerätes

Page 14: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-14

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

Unsichtbarkeit bzw. Verdeckungen treten auf, wenn bei der Projektion der dreidimensionalen Szene auf die Bildebene unterschiedliche Objektteile auf dieselbe Stelle abgebildet werden.

Sichtbar sind diejenigen Objektpunkte, die dem Auge des Betrach-ters am nächsten gelegen sind. Daher ist bei der Darstellung nicht nur die (x, y)-Koordinate in der Bildebene zu berücksichtigen, sondern auch die Tiefenrelation der Szene (z-Koordinate).

Bem.:

Page 15: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-15

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

Begriff: Kohärenz

„Ausnutzung lokaler Ähnlichkeiten“

Beispiele:

- Flächenkohärenz: Eigenschaften benachbarter Punkte auf einer Fläche ändern sich oft nur unwesentlich,z. B. Farbe

- Tiefenkohärenz: Die Tiefe z(x,y) auf einer Fläche kann oft inkrementell berechnet werden

Page 16: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-16

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

Back-Face-Culling

Die Entfernung verdeckter Flächen und Linien kann sehraufwendig sein. Es erweist sich daher als günstig, mit einem möglichst einfachen Test das Problem möglichst stark zu vereinfachen, bevor kompliziertere Verfahren eingesetztwerden.

Einen ebenso einfachen wie wirkungsvollen Ansatz stelltdas Back-Face-Culling dar:

In Abhängigkeit von der Position des Betrachters werden die Rückseiten undurchsichtiger Körper entfernt, da diese natur-gemäß nicht sichtbar sind. Wir entscheiden auf Grund der Normalen, welche Polygone von uns „wegsehen“, diese werdennicht mehr dargestellt!

Page 17: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-17

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

Back-Face-Culling (cont.)

Klassifikation der Rückseiten:

- es werden die Normalenvektoren Ni aller Flächen betrachtet

- bei einer Vorderseite enthält der Normalenvektor Ni eine

Komponente in Blickrichtung, d. h. es gilt für das Skalarprodukt aus Vektor zum Augpunkt (viewing vector) v und Ni : 0iv N

v N5

N4

N6N1

N2

N3

1

2

3

0

0

0

v N

v N

v N

4

5

6

0

0

0

v N

v N

v N

Sichtbarkeitsbedingung!

hier: Parallelprojektion

Page 18: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-18

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

Back-Face-Culling (cont.)

Eigenschaften:

- Die Zahl der beim Rendering zu berücksichtigenden Polygone wird durch Entfernen der Rückseiten durchschnittlich etwaum die Hälfte reduziert.

- Der Aufwand zur Berechnung des Skalarprodukts ist minimal.

- Besteht die Szene nur aus einem einzelnen konvexenPolyeder, so löst Back-Face-Culling bereits das Visibilitäts-

problem.Bei konkaven Polyedern oder Szenen, an denen mehrere Objekte beteiligt sind, kann es zu Selbst- und / oder Fremdverdeckung kommen. Hier werden aufwendigere Verfahren benötigt.

Objektraumverfahren!

Page 19: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-19

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

Bekannte Visibilitätsverfahren:

- erste Lösung des hidden-line-Problems: Roberts, 1963Objektraumverfahren für konvexe Objekte

- area subdivision (divide-and-conquer): Warnock, 1969Ausnutzung von Flächenkohärenz; Quadtrees!

- sample spans: Watkins, 1970Ausnutzung von Rasterzeilenkohärenz

- depth list: Newell et al., 1972Prioritätslistenalgorithmus im Objektraum

Im Vergleich zum z-Buffer-Algorithmus haben diese Verfahren keine sonderlich große Popularität gewonnen. Teilweise bliebensie speziellen Verwendungszwecken vorbehalten.

Page 20: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-20

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

z-Buffer-Algorithmus (Catmull, 1975)

- bestimmt Sichtbarkeit von Bildpunkten- arbeitet im Bildraum / im Display-Koordinatensystem- geeignet für die Bildausgabe auf Rastergeräten

Arbeitsweise:

Funktional gesehen führt der z-Buffer-Algorithmus innerhalb des Bildraums für jeden Bildpunkt eine Suche nach demjenigen Polygon durch, in dessen Innern der Punkt liegt und dessen zugehöriger z-Wert am größten ist (am weitesten vorne liegt).

Zur Realisierung wird zusätzlicher Speicher verwendet (der sog.z-Buffer), in dem zu jedem Bildpunkt der größte z-Wert gespei-chert wird, der bisher aufgetreten ist.

Page 21: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-21

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

z-Buffer-Algorithmus (cont.)

Algorithmus:

- initialisiere Bildspeicher (frame buffer) mit Hintergrundfarbe

- initialisiere z-Buffer mit minimalem z-Wert

- scan-conversion aller Polygone (beliebige Reihenfolge)

- berechne z-Wert z(x,y) für jedes Pixel (x, y) im Polygon

- falls z(x, y) größer als der Eintrag im z-Buffer bei (x, y) ist,trage Polygonattribute (Farbe) in Bildspeicher bei (x, y) einund setze z-Buffer bei (x, y) auf z(x, y)

Nach Abarbeitung des Algorithmus enthält der Bildspeicher das gewünschte Bild, der z-Buffer dessen Tiefenverteilung.

Page 22: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-22

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

z-Buffer-Algorithmus (cont.)

Beispiel:

- z-Werte codiert durch Zahlen: größere Zahl => näher zum Auge

- initialisiere Z-Buffer mit min. z-Werten

- addiere ein Polygon mit konstantem z-Wert

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

5

5

5

5

5

5

5

m

5

5

5

5

5

5

m

m

5

5

5

5

5

m

m

m

5

5

5

5

m

m

m

m

5

5

5

m

m

m

m

m

5

5

m

m

m

m

m

m

5

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

+ =

Page 23: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-23

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

z-Buffer-Algorithmus (cont.)

Beispiel: (cont.)

- addiere ein Polygon, welches das 1. Polygon schneidet

5

5

5

5

5

5

5

m

5

5

5

5

5

5

m

m

5

5

5

5

5

m

m

m

5

5

5

5

m

m

m

m

5

5

5

m

m

m

m

m

5

5

m

m

m

m

m

m

5

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

5

5

5

5

5

6

7

m

5

5

5

5

5

5

6

m

5

5

5

5

5

4

5

m

5

5

5

5

2

3

4

m

5

5

5

m

m

2

3

m

5

5

m

m

m

m

2

m

5

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

2

3

4

5

6

7

2

3

4

5

6

2

3

4

5

2

3

4

2

3 2

+ =

Page 24: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-24

§4 Rendering und Visibilität

Computergrafik - SS 2004

z-Buffer-Algorithmus (cont.)

Berechnung von z bei Polygonen:

Zur Berechnung von z(x,y) : Ax+By+Cz+D=0

Also: z = (-D – Ax – By) / C = z(x, y)

damit

z(x+dx,y) = (-D – A(x+dx) – By) / C

= z(x,y) – dx* A/C

Nur eine Subtraktion notwendig da A/C konstant ist und dx=1!

4.2 Visibilitätsverfahren

Page 25: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-25

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

z-Buffer-Algorithmus (cont.)

Vorteile:

+ sehr einfache Implementierung des Algorithmus(Soft- und Hardware!)

+ unabhängig von der Repräsentation der Objekte!

es muss nur möglich sein, zu jedem Punkt der Oberfläche einen z-Wert bestimmen zu können

+ keine Komplexitätsbeschränkung der Bildszene

+ keine besondere Reihenfolge oder Sortierung derObjekte notwendig (z. B. Tiefensortierung)

Page 26: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-26

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

z-Buffer-Algorithmus (cont.)

Nachteile:

- Auflösung des z-Buffers bestimmt Diskretisierung der Bildtiefe,z. B. sind bei 20 Bit genau 220 Tiefenwerte unterscheidbar –

problematisch sind weit entfernte Objekte mit kleinen Details

Hier ist die sinnvolle Wahl der near- und far-clipping-plane (begrenzen view frustum!) entscheidend für die Qualität des Algorithmus!

- Es wird ein großer Speicher benötigt –Abhilfe durch Zerlegung in Teilbilder oder Streifen möglich

- Berücksichtigung von Transparenz und Antialiasingnur durch aufwendige Modifikationen möglich

Page 27: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-27

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

Scan-Line z-Buffer-Algorithmus

- Variation des z-Buffer-Algorithmus zur Einsparungvon Speicher

- arbeitet auf einer Rasterzeile (z-Buffer der Pixelhöhe 1)

Vergleich der Vorgehensweisen:

z-Buffer: Initialisierungfür alle Polygone

für alle Rasterzeilen im Polygon...

Scan-Line z-Buffer: für alle RasterzeilenInitialisierungfür alle Polygone

...

Page 28: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-28

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

Strahlverfolgungs-Algorithmus (Ray Tracing / Ray Casting)

- Ray Casting: Löst die Sichtbarkeit

- Ray Tracing: Ray Casting + Weiterverfolgung reflektierter bzw.

gebrochener Strahlen

(siehe auch „globale Beleuchtungsmodelle“)

- Bildraumalgorithmus

Page 29: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-29

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

Ray Casting

- Wirf (englisch: cast) Strahlen (englisch: ray) vom Augpunkt durch alle Pixel der Bildebene

- Berechne Schnittpunkte mit allen Objekten der Szene

- Das Objekt mit dem am nächesten gelegenen Schnittpunkt istin diesem Pixel sichtbar

Eye

Pixel

Page 30: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-30

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

Ray Casting (cont.)

Beispiel: Schnittpunktberechnung mit einem Polygon

1. Berechne den Schnittpunkt mit der Ebene, in der das Polygonliegt

2. Teste, ob der Schnittpunkt innerhalb des Polygons liegt (Punktklassifizierung).

Im Falle eines Dreiecks: Summe der Flächeninhalte der Teildreiecke

p1

p2

p3

p2p1

p3

gleich Flächeninhalt Dreieck

Punkt innerhalb!

größer Flächeninhalt Dreieck

Punkt außerhalb!

Page 31: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-31

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

Ray Casting (cont.)

Nachteile:

- Für jeden Strahl muss jedes Objekt der Szene daraufhin getestet werden, ob der Strahl das Objekt schneidet

- Bei einer Auflösung 1024*1024 mit 100 Objekten in der Szene müssen 100 Millionen Schnittpunktberechnungen durchgeführt werden!

- Bis zu 95% der Rechenzeit werden für Schnittpunktberechnungen bei typischen Szenen verbraucht!

Page 32: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-32

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

Ray Casting (cont.)

Beschleunigungsansätze:

1. Transformation der Strahlen auf die z-Achse; werden die Objekte mit der gleichen Transformation verschoben, so tritt ein Schnittpunkt immer bei x=y=0 auf.

2. Bounding Volumes: komplexe Objekte mit einfacher zu testenden Objekten umschließen

Haben diese Bounding Volumes keinen Schnittpunkt mit einem Strahl, so sind auch die darin enthaltenen Objekte nicht auf einen Schnittpunkt zu testen.

3. Vermeidung von unnötigen Schnittpunktberechnungen:Hierarchien und Raumteilung

Beispiele: Bounding Box, Bounding Sphere

Page 33: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-33

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

Ray Casting (cont.)

Hierarchien:

- baumartige Strukturen von Bounding Volumes

- Blätter: Objekte der Szene

- Innere Knoten: Bounding Volume seiner Kinder

- schneidet ein Strahl einen inneren Knoten nicht, so kann der Strahl auch nicht die Objekte seiner Kinder schneiden

- Problem: Die Generierung guter Hierarchien ist schwierig.

Page 34: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-34

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

Ray Casting (cont.)

Raumteilung:

- Top-down Ansatz

- Zuerst wird die Bounding Box der Szene berechnet

- Anschließend wird diese in (gleich große) Teile unterteilt

- Jede Unterteilung enthält eine Liste mit allen Objekten, die in der Partition komplett oder auch nur teilweise enthalten sind

Page 35: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-35

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

Ray Casting (cont.)

Raumteilung: (cont.)

- Nur wenn ein Strahl eine Partition schneidet, müssen Schnittpunktberechnungen mit den assoziierten Objekten durchgeführt werden

Page 36: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-36

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

Ray Casting (cont.)

Raumteilung: (cont.)

- Notwendig: Testen, ob der Schnittpunkt innerhalb der Partition liegt!

Abhilfe: Alle Partitionen solange weiterverfolgen, bis ein Schnittpunkt gefunden wird, der innerhalb der Partition liegt.

Page 37: §4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses.

§4-37

§4 Rendering und Visibilität

Computergrafik - SS 2004

4.2 Visibilitätsverfahren

Increasing Reality...

Was können wir bisher?

Was fehlt uns noch?

Farben

Beleuchtung

Highlights

Schatten

Transparenz

Reflexionen

Refraktionen