Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "§4-1 §4 Rendering und Visibilität Computergrafik - SS 2004 4.1 Farbmodelle Farbe ist ein wesentlicher Bestandteil realistischer Computer- grafik. Dieses."—  Präsentation transkript:

1 §4-1 §4 Rendering und Visibilität Computergrafik - SS 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

2 §4-2 §4 Rendering und Visibilität Computergrafik - SS 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 Farben – i. a. Untermenge von A, enthält aber auch Elemente von B\A Ebener Schnitt durch den drei- dimensionalen Farbraum. Jeder Punkt entspricht einer Farbe.

3 §4-3 §4 Rendering und Visibilität Computergrafik - SS 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 menschliche Auge 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.

4 §4-4 §4 Rendering und Visibilität Computergrafik - SS Farbmodelle Dreidimensionaler Farbraum (cont.) Definiert man die zu mischenden Anteile z. B. der Grundfarben Rot, Grün und Blau durch ein Tripel (r, g, b) von Gewichts- faktoren, so lässt sich eine bestimmte Farbe C mittels C = 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 Farbauswahl CIE:internationaler Standard zur Farbspezifikation CMY:subtraktives Farbmodell für die Drucktechnik

5 §4-5 §4 Rendering und Visibilität Computergrafik - SS Farbmodelle RGB-Farbmodell - verwendet die Grundfarben Rot, Grün und Blau zur 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

6 §4-6 §4 Rendering und Visibilität Computergrafik - SS Farbmodelle RGB-Farbmodell (cont.) RGB-Farbwürfel R B G

7 §4-7 §4 Rendering und Visibilität Computergrafik - SS Farbmodelle RGB-Farbmodell (cont.) -Das Modell ist bezüglich der Farbwahrnehmung nicht linear: Betrachtet man eine typische Farbauflösung von 8 Bit pro Grundfarbe (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 einer gewünschten Farbe (z. B. Kastanienbraun) ein entsprechendes (r, g, b)- Tupel zu ermitteln oder eine Farbe beispielsweise ein wenig abzuschwächen (erfordert ungleiche Änderungen von r, g und b ). HSV-Farbmodell

8 §4-8 §4 Rendering und Visibilität Computergrafik - SS Farbmodelle HSV-Farbmodell -entwickelt zur Unterstützung einer intuitiven Farbauswahl (wahrnehmungsorientiertes Farbmodell) -der Farbkörper im 3D-Farbraum ist eine Pyramide mit sechseckiger Grundfläche -verwendet Zylinderkoordinaten Hue:Farbe (Farbfamilie) als Farbwinkel in Grad: Saturation:Sättigung: (Verkleinerung addiert Weiß) Value:Helligkeit: (Verkleinerung addiert Schwarz) Cyan

9 §4-9 §4 Rendering und Visibilität Computergrafik - SS 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 folgende korrespondierende Punkte: - Bemerkung: Im HSV-Modell besitzen Komplementärfarben eine Winkeldifferenz von 180° im H -Wert RGBFarbeHSV (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)

10 §4-10 §4 Rendering und Visibilität Computergrafik - SS 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.)

11 §4-11 §4 Rendering und Visibilität Computergrafik - SS 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 hat eine 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!

12 §4-12 §4 Rendering und Visibilität Computergrafik - SS 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 Objekten ist zwar trivial, die Darstellung einer 3D-Szene wirkt allerdings 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!

13 §4-13 §4 Rendering und Visibilität Computergrafik - SS 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: -Objektraumverfahren geräteunabhängig, Genauigkeit ist Maschinengenauigkeit -Bildraumverfahren geräteabhängig, Genauigkeit ist Auflösung des Ausgabegerätes

14 §4-14 §4 Rendering und Visibilität Computergrafik - SS 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.:

15 §4-15 §4 Rendering und Visibilität Computergrafik - SS 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

16 §4-16 §4 Rendering und Visibilität Computergrafik - SS Visibilitätsverfahren Back-Face-Culling Die Entfernung verdeckter Flächen und Linien kann sehr aufwendig sein. Es erweist sich daher als günstig, mit einem möglichst einfachen Test das Problem möglichst stark zu vereinfachen, bevor kompliziertere Verfahren eingesetzt werden. Einen ebenso einfachen wie wirkungsvollen Ansatz stellt das 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 werden nicht mehr dargestellt!

17 §4-17 §4 Rendering und Visibilität Computergrafik - SS Visibilitätsverfahren Back-Face-Culling (cont.) Klassifikation der Rückseiten: -es werden die Normalenvektoren N i aller Flächen betrachtet - bei einer Vorderseite enthält der Normalenvektor N i eine Komponente in Blickrichtung, d. h. es gilt für das Skalarprodukt aus Vektor zum Augpunkt (viewing vector) v und N i : v N5N5 N4N4 N6N6 N1N1 N2N2 N3N3 Sichtbarkeitsbedingung! hier: Parallelprojektion

18 §4-18 §4 Rendering und Visibilität Computergrafik - SS Visibilitätsverfahren Back-Face-Culling (cont.) Eigenschaften: -Die Zahl der beim Rendering zu berücksichtigenden Polygone wird durch Entfernen der Rückseiten durchschnittlich etwa um die Hälfte reduziert. -Der Aufwand zur Berechnung des Skalarprodukts ist minimal. -Besteht die Szene nur aus einem einzelnen konvexen Polyeder, 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!

19 §4-19 §4 Rendering und Visibilität Computergrafik - SS Visibilitätsverfahren Bekannte Visibilitätsverfahren: -erste Lösung des hidden-line-Problems: Roberts, 1963 Objektraumverfahren für konvexe Objekte -area subdivision (divide-and-conquer): Warnock, 1969 Ausnutzung von Flächenkohärenz; Quadtrees! -sample spans: Watkins, 1970 Ausnutzung von Rasterzeilenkohärenz -depth list: Newell et al., 1972 Prioritätslistenalgorithmus im Objektraum Im Vergleich zum z-Buffer-Algorithmus haben diese Verfahren keine sonderlich große Popularität gewonnen. Teilweise blieben sie speziellen Verwendungszwecken vorbehalten.

20 §4-20 §4 Rendering und Visibilität Computergrafik - SS 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.

21 §4-21 §4 Rendering und Visibilität Computergrafik - SS 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) ein und 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.

22 §4-22 §4 Rendering und Visibilität Computergrafik - SS 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 m m m m m m m m m m 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 =

23 §4-23 §4 Rendering und Visibilität Computergrafik - SS Visibilitätsverfahren z-Buffer-Algorithmus (cont.) Beispiel: (cont.) - addiere ein Polygon, welches das 1. Polygon schneidet

24 §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+d x,y)=(-D – A(x+d x ) – By) / C =z(x,y) – d x * A/C Nur eine Subtraktion notwendig da A/C konstant ist und d x =1! 4.2 Visibilitätsverfahren

25 §4-25 §4 Rendering und Visibilität Computergrafik - SS 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 der Objekte notwendig (z. B. Tiefensortierung)

26 §4-26 §4 Rendering und Visibilität Computergrafik - SS Visibilitätsverfahren z-Buffer-Algorithmus (cont.) Nachteile: -Auflösung des z-Buffers bestimmt Diskretisierung der Bildtiefe, z. B. sind bei 20 Bit genau 2 20 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 Antialiasing nur durch aufwendige Modifikationen möglich

27 §4-27 §4 Rendering und Visibilität Computergrafik - SS Visibilitätsverfahren Scan-Line z-Buffer-Algorithmus - Variation des z-Buffer-Algorithmus zur Einsparung von Speicher -arbeitet auf einer Rasterzeile (z-Buffer der Pixelhöhe 1) Vergleich der Vorgehensweisen: z-Buffer:Initialisierung für alle Polygone für alle Rasterzeilen im Polygon... Scan-Line z-Buffer:für alle Rasterzeilen Initialisierung für alle Polygone...

28 §4-28 §4 Rendering und Visibilität Computergrafik - SS 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

29 §4-29 §4 Rendering und Visibilität Computergrafik - SS 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 ist in diesem Pixel sichtbar Eye Pixel

30 §4-30 §4 Rendering und Visibilität Computergrafik - SS Visibilitätsverfahren Ray Casting (cont.) Beispiel: Schnittpunktberechnung mit einem Polygon 1. Berechne den Schnittpunkt mit der Ebene, in der das Polygon liegt 2.Teste, ob der Schnittpunkt innerhalb des Polygons liegt (Punktklassifizierung). Im Falle eines Dreiecks: Summe der Flächeninhalte der Teildreiecke p1 p2 p3 p2 p1 p3 gleich Flächeninhalt Dreieck Punkt innerhalb! größer Flächeninhalt Dreieck Punkt außerhalb!

31 §4-31 §4 Rendering und Visibilität Computergrafik - SS 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!

32 §4-32 §4 Rendering und Visibilität Computergrafik - SS 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

33 §4-33 §4 Rendering und Visibilität Computergrafik - SS 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.

34 §4-34 §4 Rendering und Visibilität Computergrafik - SS 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

35 §4-35 §4 Rendering und Visibilität Computergrafik - SS Visibilitätsverfahren Ray Casting (cont.) Raumteilung: (cont.) - Nur wenn ein Strahl eine Partition schneidet, müssen Schnittpunktberechnungen mit den assoziierten Objekten durchgeführt werden

36 §4-36 §4 Rendering und Visibilität Computergrafik - SS 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.

37 §4-37 §4 Rendering und Visibilität Computergrafik - SS Visibilitätsverfahren Increasing Reality... Was können wir bisher? Was fehlt uns noch? Farben Beleuchtung Highlights Schatten Transparenz Reflexionen Refraktionen


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

Ähnliche Präsentationen


Google-Anzeigen