Computergraphik Grundlagen



Ähnliche Dokumente
Erinnerung. Arbeitsschritte der Computergraphik. Modellierung. Animation. Rendering. Ausgabemedium. Generierung

2.2 Projektionen und Kameramodelle

Computer Vision I. Nikos Canterakis. Lehrstuhl für Mustererkennung, Universität Freiburg

2D-Transformationen. Kapitel Translation. 6.2 Skalierung

6.2 Scan-Konvertierung (Scan Conversion)

Die Übereckperspektive mit zwei Fluchtpunkten

Computer-Graphik I Transformationen & Viewing

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Die Größe von Flächen vergleichen

1 Mathematische Grundlagen

Adobe Flash CS4»3D-Tool«

"rendern" = ein abstraktes geometrisches Modell sichtbar machen

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

Hinweise zur Kalibrierung von Kameras mit einer AICON Kalibriertafel

Erstellen von x-y-diagrammen in OpenOffice.calc

Zeichen bei Zahlen entschlüsseln


Lineare Gleichungssysteme

computer graphics & visualization

Aufgabe 1. Zunächst wird die allgemeine Tangentengleichung in Abhängigkeit von a aufgestellt:

Konzepte der Informatik

Advanced Rendering Interior Szene

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Zahlen auf einen Blick

5. Lineare Funktionen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Bestimmen des Werkstücks in der Vorrichtung

Lichtbrechung an Linsen

Animation ist das Erzeugen von Filmen mit Hilfe der Computergrafik. Objekte bewegen sich hierbei oder Beleuchtung, Augpunkt, Form,... ändern sich.

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN

Teaser-Bilder erstellen mit GIMP. Bildbearbeitung mit GIMP 1

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Kurzeinführung LABTALK

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

3.2 Spiegelungen an zwei Spiegeln

Festigkeit von FDM-3D-Druckteilen

Abbildung durch eine Lochblende

Plotten von Linien ( nach Jack Bresenham, 1962 )

Lineare Gleichungssysteme

Softwareprojekt Spieleentwicklung

Ein Bild in den Text einfügen

:= Modellabbildung. Bildsynthese (Rendering) Bildsynthese

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

Kapitalerhöhung - Verbuchung

Professionelle Seminare im Bereich MS-Office

Primzahlen und RSA-Verschlüsselung

impact ordering Info Produktkonfigurator

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Mathematik. UND/ODER Verknüpfung. Ungleichungen. Betrag. Intervall. Umgebung

Wie lässt sich die Multiplikation von Bruchzahlen im Operatorenmodell und wie im Größenmodell einführen?

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Der Zwei-Quadrate-Satz von Fermat

VON GRUND AUF RICHTIG AUFBAUEN

5 Eigenwerte und die Jordansche Normalform

Woraus besteht ein Bild? (c) Winfried Heinkele

Abiturprüfung Mathematik 2008 (Baden-Württemberg) Berufliche Gymnasien ohne TG Analysis, Aufgabe 1

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Mathematik 1: (ohne Taschenrechner) Korrekturanleitung

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

Barrierefreie Webseiten erstellen mit TYPO3

1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen

Im Original veränderbare Word-Dateien

Nachhilfe-Kurs Mathematik Klasse 13 Freie Waldorfschule Mitte

Modellbildungssysteme: Pädagogische und didaktische Ziele

Musterlösungen zur Linearen Algebra II Blatt 5

Informationsblatt Induktionsbeweis

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Der Einsatz von HDRIs in LightWave 7

PhoToPlan 6.0 Was ist neu?

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen

DAUERHAFTE ÄNDERUNG VON SCHRIFTART, SCHRIFTGRÖßE

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Graphische Datenverarbeitung und Bildverarbeitung

Paper Computer Science Experiment. Computation (NP-Vollständigkeit) Steinerbäume

Virtuelle Fotografie (CGI)

Was ist Sozial-Raum-Orientierung?

7 Rechnen mit Polynomen

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

Grundbegriffe der Informatik

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Geometrie Klasse 5 Basiswissen und Grundbegriffe der Geometrie

1.5 Umsatzsteuervoranmeldung

Bilderzeugung Pixel. Daniela Glatz Jasmin Rießle. Sommersemester 2012

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".

Abituraufgabe zur analytischen Geometrie, Hessen 2013, B2, Grundkurs (TR)

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Repetitionsaufgaben: Lineare Funktionen

2 Darstellung von Zahlen und Zeichen

Algorithmische Kryptographie

Professionelle Seminare im Bereich MS-Office

Funktionen (linear, quadratisch)

DAS ABI-PFLICHTTEIL Büchlein

Resultate GfS-Umfrage November Wie bekannt ist das Phänomen Illettrismus bei der Schweizer Bevölkerung?

Pixel oder Vektor? Die Vor- und Nachteile der verschiedenen Dateiformate. Langner Marketing Unternehmensplanung Metzgerstraße Reutlingen

Wir gehen aus von euklidischen Anschauungsraum bzw. von der euklidischen Zeichenebene. Parallele Geraden schneiden einander nicht.

SICHERN DER FAVORITEN

Computer Vision I. Nikos Canterakis. Lehrstuhl für Mustererkennung, Universität Freiburg,

Transkript:

Computergraphik Grundlagen V. Die Rendering-Pipeline Prof. Stefan Schlechtweg Hochschule Anhalt Fachbereich Informatik

Inhalt Lernziele 1. Der Begriff Rendering 2. Die Rendering-Pipeline Geometrische Modellierung Modellierung von Kamera und Lichtquellen Entfernen verdeckter Modellteile Transformation der 3D-Daten in 2D Überführung in ein Pixelbind Bestimmen der Farbe der Pixel Modellaufbau und algorithmische Schritte transformationen Zusammensetzen der Pipeline 3. transformationen LC WC WC EC EC NPC NPC SC SC PC Zusammenfassung Transformationen Prozesse bei der Bilderzeugung kennenlernen Strukturierung der Rendering-Pipeline erkennen und Datenfluß zwischen den Teilprozessen identifizieren systeme kennen, die im Verlauf der Rendering-Pipeline verwendet werden transformationen zwischen diesen Systemen kennen 2

1. Der Begriff Rendering Bilderzeugung = Rendering Gegeben sei ein Modell in dreidimensionalen sowie die Beschreibung einer Sicht auf die modellierte Szene (Kameramodell). Gesucht ist ein Pixelbild, das das gegebene Modell möglichst realitätsnah darstellt. 3

1. Der Begriff Rendering Was wird zur Bilderzeugung benötigt? Szenenbeschreibung in mathematischanalytischer Form Geometriemodell Beschreibung der Sicht auf die Szene Kameramodell Transformation von 3D in 2D Projektion Möglichkeiten zu bestimmen, was sichtbar ist Hidden Surface Removal Beschreibung der Beleuchtung der Szene und der Interaktion des Lichts mit den Objekten Lighting und Shading Transformation von Vektor- in Pixeldaten Rasterung Gegeben sei ein Modell in dreidimensionalen sowie die Beschreibung einer Sicht auf die modellierte Szene (Kameramodell). Gesucht ist ein Pixelbild, das das gegebene Modell möglichst realitätsnah darstellt. 4

1. Der Begriff Rendering Der Prozeß der Bilderzeugung setzt sich aus verschiedenen Teilprozessen zusammen, die voneinander unabhängig sind und aufeinander aufbauen. Modellierung von 3D-Objekten Aufbau eines Gesamtmodells (Geometrie + Licht + Kamera) Entfernen nicht benötigter Modellteile (Rückseiten und alle Objekte, die außerhalb des Sichtkörpers liegen) Projektion Entfernen von unsichtbaren Flächen (Verdeckungen) Beleuchtung (Shading) + Rasterung Zusammenfassung dieser Prozesse in der Rendering- Pipeline 5

2. Die Rendering-Pipeline Rendering-Pipeline setzt sich aus geometrischen und algorithmischen Schritten zusammen Geometrisch: im allgemeinen transformationen Wechsel zwischen verschiedenen systemen Projektion eingeschlossen Algorithmisch, z.b. Entfernen nicht sichtbarer Flächen(-teile) Beleuchtungsberechnungen Rasterung (Darstellung in der Bildebene) 6

2. Die Rendering-Pipeline 2.1. Geometrische Modellierung Darstellung von 3D-Objekten durch mathematisch-analytische Methoden am Computer Grundlage für Berechnung geometrischer Eigenschaften (Volumen,...) graphische Darstellung weitergehende graphische Anwendungen Berechnung des physikalisch-geometrischen Verhaltens der Körper nach einer weiteren Attributierung mit physikalischen Eigenschaften bzw. Materialparametern Modellierung der Geometrie 7

2. Die Rendering-Pipeline 2.2. Modellierung von Kamera und Lichtquellen Kamera beschreibt Sicht auf die Szene durch Position und Orientierung durch interne Parameter angelehnt an reale Kamera Lichtquellen ermöglichen die Wahrnehmung von Objekten Position der Lichtquelle und geometrische Eigenschaften der Lichtausbreitung Strahlungseigenschaften des Lichts, wie Farbe außerdem: Reflexionseigenschaften der Objektoberflächen Modellierung der Geometrie Modellieren von Kamera und Lichtquellen 8

2. Die Rendering-Pipeline 2.3. Entfernen verdeckter Modellteile nicht alles in einer Szene ist sichtbar Vom Betrachter wegzeigende Flächen (Rückseiten) Objekte (Flächen), die außerhalb des Sichtfeldes liegen (Teil-)Flächen, die von anderen Objekten in Sichtrichtung verdeckt werden Entfernen dieser nicht sichtbaren Anteile spart Rechenzeit bei den anderen Prozessen aber: oftmal selber sehr aufwändige Älgorithmen Modellierung der Geometrie Modellieren von Kamera und Lichtquellen Entfernen verdeckter Modellteile 9

2. Die Rendering-Pipeline 2.4. Transformation der 3D-Daten in 2D modellierte Kamera beschreibt eine Sicht auf die Szene und somit, wie die Projektion von 3D in 2D auszuführen ist hauptsächlich bestimmt durch die internen Parameter der Kamera nur der Bereich im Sichtkegel der Kamera muß projiziert werden Modellierung der Geometrie Modellieren von Kamera und Lichtquellen Entfernen verdeckter Modellteile Projektion 10

2. Die Rendering-Pipeline 2.5. Überführung in ein Pixelbild liegen in kontinuierlicher Form vor (Vektordaten, 3D) Ergebnis der Bilderzeugung ist ein Pixelbild mit diskreten Bildpunkten Bestimmung, welcher Punkt in der Szene auf welches Pixel abgebildet wird Modellierung der Geometrie Modellieren von Kamera und Lichtquellen Entfernen verdeckter Modellteile Projektion Rasterung 11

2. Die Rendering-Pipeline 2.6. Bestimmen der Farbe der Pixel Mit der Rasterung ist klar, welcher Ort im Pixel dargestellt wird Farbe des Pixels ergibt sich aus den Beleuchtungsverhältnissen in der Szene, genauer an dem im Pixel dargestellten Ort Beleuchtung muß aus Lichtquellen und Oberflächeneigenschaften berechnet werden Art der Berechnung bestimmt Realismusgrad des erzeugten Bildes Überführung der berechneten Beleuchtungswerte in die Pixelfarbe Verfahren so wählen, daß für möglichst wenig Punkte in 3D die Beleuchtung direkt berechnet werden muß Modellierung der Geometrie Modellieren von Kamera und Lichtquellen Entfernen verdeckter Modellteile Projektion Rasterung Beleuchtung und Shading 12

2. Die Rendering-Pipeline 2.7. Modellaufbau und algorithmische Schritte Geometrieobjekte, Kamera und Lichtquellen müssen erstellt werden: Modellaufbau Algorithmen arbeite auf dem Modell und berechnen neue Informationen (Sichtbarkeit, Pixelpositionen und farben) Algorithmische Schritte der Rendering-Pipeline Projektion als transformation gehört zu den geometrischen Schritten der Rendering-Pipeline Modellierung der Geometrie Modellieren von Kamera und Lichtquellen Entfernen verdeckter Modellteile Behandlung der einzelnen Prozesse später in de Lehrveranstaltung Projektion Rasterung Beleuchtung und Shading 13

2. Die Rendering-Pipeline 2.8. transformationen Während der Abarbeitung der Rendering-Pipeline sind transformationen notwendig Projektion (3D 2D) Kontinuierliche 2D-Daten Pixelpositionen im Anzeigefenster weitere systeme erleichtern die Algorithmen durch geometrische Konventionen geometrische Schritte der Rendering-Pipeline: Kette von transformationen Verschiedene systeme Transformationen zwischen diesen 14

2. Die Rendering-Pipeline 2.8. transformationen Lokale : Modellierung der Objekte erfolgt in n jedes Objekt hat sein eigenes system und ist in diesem definiert Intrinsisches system eines Objektes effektiv zur Modellierung Weltkoordinaten Bezugskoordinatensystem der Szene Einheitliche, in dem alle Objekte der Szene sowie Kamera und Lichter definiert sind Bezüge zwischen Objekten können hergestellt werden effektiv für Beleuchtungsberechnungen 15

2. Die Rendering-Pipeline 2.8. transformationen Kamerakoordinaten (Viewing-) ebenfalls globales system für die Szene Kamera als Bezugspunkt (Ursprung) Im Prinzip: Betrachten der Welt aus Sicht der Kamera effektiv zum Entfernen von Rückseiten Projektionskoordinaten Umrechnung basierend auf internen Kameraparametern in ein System mit normierter Größe [-1 1]³ oder [-1 1]² [0 1] Effektiv zum Entfernen der Objekte außerhalb des Sichtkegels 16

2. Die Rendering-Pipeline 2.8. transformationen () Bildschirmkoordinaten zweidimensional: [0 1]² Rasterkoordinaten Pixelkoordinaten auf dem Ausgabegerät [0 x max ] [0 y max ] () 17

2. Die Rendering-Pipeline 2.9. Zusammensetzen der Pipeline Lokale Modellierung der Geometrie einzelner Objekte lokal Welt Plazierung der Objekte Weltkoordinaten Plazierung der Lichtquellen Plazierung der Kamera Beleuchtungsberechnung Transformation in Kamerakoordinaten Kamerakoordinaten Entfernen verdeckter Rückseiten Viewing-Transformation Projektionskoordinaten Clipping gegen Sichtkörper Entfernen verdeckter Modellteile Projektion () Bildschirmkoordinaten Rastertransformation Rasterung Rasterkoordinaten Shading Entfernen verdeckter Modellteile 18

2. Die Rendering-Pipeline 2.9. Zusammensetzen der Pipeline ein Beispiel für die Abfolge in einer Rendering-Pipeline abhängig von der Art der verwendeten Algorithmen insbesondere Hidden-Surface-Removal (Entfernen verdeckter Objektteile) in verschiedenen Ausführungen an unterschiedlichen Stellen der Pipeline auch Erweiterungen möglich Texture-Mapping Animation Real-Time weitere Algorithmen Pipeline kann auch komplett anders aussehen bei globaler Beleuchtung Raytracing Radiosity 19

3. transformationen () Rendering als Abfolge mehrerer transformationen Rendering als Abfolge verschiedener Prozesse Zusammenfassung beider Sichtweisen ergibt (eine Variante der) Rendering-Pipeline Frage: Welche Transformationen sind notwendig und welche Algorithmen werden in welchem system ausgeführt? Modellierung der Geometrie Modellieren von Kamera und Lichtquellen Entfernen verdeckter Modellteile Projektion Rasterung Beleuchtung und Shading 20

3. transformationen 3.1. Lokale in Weltkoordinaten () Voraussetzung: Objekte liegen in n vor, in denen sie modelliert wurden Ursprung des Weltkoordinatensystems ist bekannt Ziel: Alle Objekte sind im einheitlichen Weltkoordinatensystem beschrieben Erforderlich: Objekte erhalten ihre Position, Orientierung und Größe im Weltkoordinatensystem durch Translation, Rotation und Skalierung 21

3. transformationen 3.1. Lokale in Weltkoordinaten Weltkoordinaten y Lokale z () Lokale Weltkoordinaten Ursprung x 22

3. transformationen 3.2. Weltkoordinaten in Kamerakoordinaten () Voraussetzung Objekte der Szene liegen in einem einheitlichen Weltkoordinatensystem vor Ziel Objekte im Kamerakoordinatensysten, d.h. Kameraposition ist ursprung, Blickrichtung der Kamera entspricht z-achse Erforderlich: Erstellen des Kamerakoordinatensystems Translation, um Ursprünge aufeinander abzubilden Basiswechsel, um systeme ineinander zu überführen 23

3. transformationen 3.2. Weltkoordinaten in Kamerakoordinaten 3.2.1. Erstellen des Kamerakoordinatensystems () Lage und Orientierung der Projektionsebene (view plane) im Raum eindeutig festlegen Referenzpunkt in der Projektionsebene festlegen (view reference point, VRP) Normalenvektor der Projektionsebene festlegen (view plane normal, VPN) definiert die n-achse des Kamerakoordinatensystems Rotation der Projektionsebene um die VPN wird durch den View-Up- Vektor (VUP) festgelegt darf nicht senkrecht auf Projektionsebene stehen senkrechte Projektion des VUP auf Projektionsebene definiert v-achse des Kamerakoordinatensystems system in der Projektionsebene braucht zweite Achse: Rotation der v-achse um -90 u-achse Angabe von (u min,v min ) und (u max,v max ) definiert sichtbaren Bereich auf der Projektionsebene Vereinfachtes Kameramodell 24

3. transformationen 3.2. Weltkoordinaten in Kamerakoordinaten 3.2.1. Erstellen des Kamerakoordinatensystems v Projektionsebene (view plane) VUP VRP () n VPN u 25

3. transformationen 3.2. Weltkoordinaten in Kamerakoordinaten 3.2.2. Überführen Kamerakoordinaten in Weltkoordinaten Zu erreichen: Projektionsebene ist mit einer der ebenen ausgerichtet VRP liegt im Ursprung Schritte: Verschieben des VRP in den Ursprung Rotation des verschobenen Kamerakoordinatensystems so, dass uvn mit xyz ausgerichtet ist v y v v () n VRP z u x n z y VRP x u n z y VRP x u 26

3. transformationen 3.2. Weltkoordinaten in Kamerakoordinaten 3.2.2. Überführen Kamerakoordinaten in Weltkoordinaten Verschieben des VRP in den Ursprung ist einfache Translation () Rotation des verschobenen Kamerakoordinatensystems so, dass uvn mit xyz ausgerichtet ist Der Vektor VPN soll auf die z-ebene rotiert werden Die u-achse soll senkrecht auf VUP und VPN stehen Die v-achse soll senkrecht auf n und u stehen 27

3. transformationen 3.2. Weltkoordinaten in Kamerakoordinaten 3.2.2. Überführen Kamerakoordinaten in Weltkoordinaten Um Punkte, die in einem system (hier Weltkoordinatensystem) gegeben sind, in einem anderen (hier Kamerakoordinatensystem) auszudrücken, dass gegenüber dem ersten rotiert ist, muss man sie mit einer Matrix multiplizieren, die die Basisvektoren enthält () Die Gesamttransformationsmatrix lautet dann: 28

3. transformationen 3.2. Weltkoordinaten in Kamerakoordinaten 3.2.3. Zwischenzustand Projektionsebene z y x Projektionsebene z y x () Kamerastandpunkt Kamerastandpunkt 29

3. transformationen 3.2. Weltkoordinaten in Kamerakoordinaten 3.2.4. Perspektivische Transformation () Bei perspektivischer Projektion muß das Ganze noch in den Kamerastandpunkt (projection reference point, PRP) verschoben werden, also zusätzlich noch die Translation Insgesamt: M zen = T zen M 30

3. transformationen 3.3. Kamerakoordinaten in Projektionskoordinaten () Voraussetzung: bisher betrachtete Transformationen sind durchgeführt Ursprung der systems ist der Betrachterstandpunkt (PRP) z-achse zeigt jetzt in die Tiefe, y-achse nach oben und x-achse nach rechts Annahme: z-achse geht durch Zentrum des mit (u min,v min ) und (u max,v max ) festgelegten Sichtfensters (sonst noch Scherung notwendig) Ziel: Transformation des Sichtkörpers in den sogenannten kanonischen Sichtkörper Quader mit den beiden maximalen Eckpunkten bei (-1, -1, 0) und (1, 1, -1) Erforderlich: Skalierung des Sichtkörpers bei perspektivischer Projektion zusätzlich nichtlineare Transformation, die den Pyramidenstumpf in einen Quader überführt 31

3. transformationen 3.3. Kamerakoordinaten in Projektionskoordinaten () Wichtig für die weitere Betrachtung: near clipping plane und far clipping plane beschränken das Sichtvolumen in der Tiefe alle Objekte vor der near clipping plane und hinter der far clipping plane werden später verworfen und nicht dargestellt Gründe: Rechenzeitersparnis: Objekte, die weit von der Kamera entfernt sind und im endgültigen Bild kaum sichtbar sein werden, können von den Berechnungen ausgeschlossen werden Einfachere Mathematik: man umgeht Singularitäten bei der Berechnung der Projektion (Objekt im Projektionszentrum) und vermeidet, daß Objekte hinter der Kamera berechnet werden müssen 32

3. transformationen 3.3. Kamerakoordinaten in Projektionskoordinaten Transformation des Sichtvolumens in das kanonische Sichtvolumen erfordert zwei Skalierungen 1. nicht-uniforme Skalierung paßt die x- und y-achse auf die erwünschte Größe an x/y d () PRP z VRP F B 33

3. transformationen 3.3. Kamerakoordinaten in Projektionskoordinaten Transformation des Sichtvolumens in das kanonische Sichtvolumen erfordert zwei Skalierungen 2. uniforme Skalierung bringt far clipping plane auf den Abstand -1 1 x/y () z -1-1 34

3. transformationen 3.3. Kamerakoordinaten in Projektionskoordinaten Abbildung des Sichtvolumens der perspektivi-schen Projektion in ein rechteckiges Sicht-volumen, das durch -1 x 1; -1 y 1und -1 z 0 begrenzt ist 1 x/y 1 x/y z -1 z -1 () -1 z max -1 35

3. transformationen 3.3. Kamerakoordinaten in Projektionskoordinaten () Nicht-lineare Transformation (Division durch w ergibt die gewünschten Resultate) Skalierung mit ½ in x- und y-richtung ergibt dann den Sichtkörper in den gewünschten Ausmaßen 36

3. transformationen 3.3. Kamerakoordinaten in Projektionskoordinaten () Diese Transformation erzeugt die perspektivi-sche Verzerrung vor der eigentlichen (Parallel-) Projektion. Der Unterschied zwischen der perspektivischen Transformation und einer perspektivischen Projektion besteht darin, daß erstere auch die z-koordinate transformiert und keine Projektion durchführt. 37

3. transformationen 3.4. Projektionskoordinaten in Bildschirmkoordinaten () Voraussetzung: Objekte liegen jetzt im kanonischen Sichtkörper vor, der quaderförmig ist und dessen Ausdehnungen durch -1 x 1; -1 y 1und -1 z 0 gegeben sind Ziel: Transformation in ein für die Darstellung auf dem Bildschirm ggeignetes system mit 0 x x max und 0 y y max, dabei Übergang zu zweidimensionalen Erforderlich: Translation und Skalierung, dabei beachten, daß die y- Achse entweder nach oben oder nach unten zeigen kann 38

3. transformationen 3.4. Projektionskoordinaten in Bildschirmkoordinaten Transformationsmatrix (für nach unten zeigende y- Achse) () dritte Zeile der Matrix bewirkt einen Wegfall der z- Koordinate, also den Übergang von 3D nach 2D Projektion als solche entspricht dem Zusammenspiel der Transformationen in Projektionskoordinaten und dieser letzten Transformation 39

3. transformationen 3.5. Bildschirmkoordinaten in Rasterkoordinaten () Voraussetzung: Objekte in Projektionskoordinaten Ziel: Pixelkoordinaten für eine Darstellung auf dem Bildschirm Erforderlich: Eigentlich keine transformation, sondern Rasterung Diskretisierung der gegebenen auf Pixelpositionen Möglicherweise Anpassung der (Translation) auf Fensterposition 40

3. transformationen 3.6. Zusammenfassung Transformationen () Rendering-Pipeline ist Kette von transformationen endgültige Pixelkoordinaten nach Anwenden der zusammengesetzten Transformation (Multiplikation aller Matrizen) Kette oftmals in Teile zerlegt, z.b. bei OpenGL ModelView-Transformation bis ins Kamerakoordinatensystem (nur Position und Ausrichtung der Kamera notwendig Projection-Transformation der Rest (interne Kameraparameter notwendig zwischen den Transformationen (in den einzelnen systemen) werden Algorithmen auf die Objektkoordinaten angewendet Transformationen und Algorithmen aufwändig, daher möglichst viele Objekte abschneiden 41

3. transformationen 3.6. Zusammenfassung Transformationen Lokale Modellierung der Geometrie einzelner Objekte lokal Welt Plazierung der Objekte Weltkoordinaten Plazierung der Lichtquellen Plazierung der Kamera Beleuchtungsberechnung Transformation in Kamerakoordinaten Kamerakoordinaten Entfernen verdeckter Rückseiten Viewing-Transformation Projektionskoordinaten Clipping gegen Sichtkörper Entfernen verdeckter Modellteile Projektion () Bildschirmkoordinaten Rastertransformation Rasterung Rasterkoordinaten Shading Entfernen verdeckter Modellteile 42

Video: For the Birds Federn sind einzeln modelliert Academy Award for Best Animated Short Film 2002 43