Geometrisches Modell bestehend aus Datenstrukturen zur Verknüpfung geometrischer Primitive, welche eine Gesamtszene beschreiben Bildsynthese := Modellabbildung Pixelbasiertes Modell zur Darstellung eines sichtbaren Bereiches bestehend aus Rasterpunkten geeignet zur Ausgabe auf Monitor, Drucker oder zur Speicherung Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/09 3 56
Grundpobleme der Bildsynthese 2D- und 3D-Computergrafik Zeichnen von Linien und Kurven durch spezielle Algorithmen Füllen von Flächen für Flächenprimitive mit zugewiesener Farbe oder Textur Antialiasing: Bestimmung eines gewichteten Farbwerts für ein Pixel, wenn mehrere Geometrien diesen Rasterpunkt durchlaufen (Randpunkte) Clipping: Ausschluß von Geometrien, die außerhalb des darzustellenden Bereichs (Viewport) liegen 3D-Computergrafik Projektion: Abbildung der 3-dimensionalen Szene auf einen 2D-Viewport Bestimmung verdeckter Bereiche räumlich in Blickrichtung hintereinander angeordneter Objekte (mit z-buffern) Mehr Fotorealismus durch Shading als Veränderung von Oberflächeneigenschaften (Farbe, Textur) mittels Beleuchtungsmodellen Raytracing als Verfahren zur Berechnung von Spiegelung, Lichtbrechung etc. (Ray Tracing = Verfolgen von (Licht-)Strahlen) Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/09 3 57
Linien, Kurven und Flächen Algorithmen zum Zeichnen von Linien und Kurven Linien: horizontal, vertikale oder beliebiger Anstieg Kurven wie Kreis- oder Freiformkurven Kriterien für Algorithmen: Kurven müssen geschlossen sein Effizienz des Algorithmus Grundprinzip: Ablaufen der Kurve Algorithmen zum Füllen von Flächen Füllen von Polygonen und beliebig begrenzten Flächen durch eine Zeichenfarbe oder ein Muster Effizienz extrem wichtig, da oft viele Pixel betroffen Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/09 3 58
Grundproblem: Antialiasing Problem bei der Rasterung: mehrere Primitive werden auf ein Pixel abgebildet, z.b. Eine Linie vor dem Hintergrund Kante zwischen 2 Flächen Entscheidung für einen Farbwert führt zu Treppeneffekt Lösung: gewichteter Mischwert aus Farben der angrenzenden Geometrien, z.b. Grauwerte je nach Überdeckung am Rand einer Linie eingeführte Unschärfe ist natürlicher in der Wahrnehmung Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/09 3 59
Grundproblem: Clipping Projektionsbereich Geometrische Objekte können innerhalb, außerhalb oder überlappend abgebildeten Bereich liegen Spezielle Algorithmen notwendig, um für bestimmte Primitive zu entscheiden 2D-Grafik: Objekte (teilweise) innerhalb des dargestellten Zeichenbereichs, auch wenn definierende Punkte außerhalb 3D Echtzeitrendering: Objekte (teilweise) außerhalb des Sichtkörpers ( ) Beim fotorealistischen 3D Raytracing können auch Objekte außerhalb des Sichtbereichs Einfluss auf das Bild haben (durch Spiegelung, Lichtbrechung etc.) Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/09 3 60
3D-Computergrafik Grobe Unterscheidung: Echtzeitrendering 3D-Grafik durch Methoden der Projektion auf Bildebene Sehr schnell, aber kein (ausgeprägter) Anspruch auf fotorealistische Darstellung Geeignet für Echtzeit: erlaubt interaktive Manipulation des Modells und der Bildsynthese Anwendungsbeispiele: CAD, Simulation, Spiele Fotorealistisches Rendering 3D-Grafik durch komplexe optische Verfahren Je nach Anspruch bzgl. Realismus extrem berechnungsaufwändig und dadurch nicht für interaktive Anwendungen geeignet Anwendungsbeispiele: Spezialeffekte in Filmen, Computerkunst Leistungsfähigkeit des Echtzeitrendering nähert sich dem fotorealistischen Rendering an (bessere Grafikprozessoren, Verfahren zur Annäherung an Fotorealismus) Im folgenden Fokus auf Echtzeitrendering Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/09 3 61
Grafik-Pipeline des 3D-Echtzeitrendering Transformation Beleuchtung Projektion Anpassung der Koordinaten für Modell und Kamera durch Modelltransformation und Kameratransformation Ggf. Ergänzung durch Berücksichtigung eines Beleuchtungsmodells für das Shading Durchführung der Projektion mit Berücksichtigung von Tiefeninformationen (z-buffer) Clipping und Culling Rasterung und Shading Entfernung nicht sichtbarer Geometrien außerhalb des Sichtfeldes bzw. z.b. Rückflächen Erzeugung des Rasterbildes unter Zuweisung der korrekten Farbwerte für Pixel Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/09 3 62
3D-Grundproblem: Projektion Abbildung auf Rastergrafik basiert auf Abbildung von Primitiven auf eine Bildebene über die sie definierenden Punkte Verwendung homogenisierter Koordinaten der Punkte Dadurch kann Abbildung mittels einer Projektionsmatrix dargestellt werden Zwei klassische Methoden der Abbildung Perspektivische Projektion (auch Zentralprojektion) Parallelprojektion (auch Orthogonalprojektion) Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/09 3 63
Perspektivische Projektion Projektionsstrahlen für jeden Originalpunkt treffen sich in einem Projektionspunkt (Kamera, Auge) und schneiden eine Projektionsebene im Bildpunkt Verzerrt alle Größenverhältnisse entsprechend Perspektive Entspricht in etwa der menschlichen optischen Wahrnehmung (durch ein Auge) Intuitive Definition möglich durch Kameraposition (Ortsvektor) Blickrichtung der Kamera (Vektor) Up-Vector: wo ist von der Blickrichtung ausgehend oben Öffnungswinkel der Kamera (2 Richtungen oder 1 und Seitenverhältnis) Höhe und Breite der Bildebene erzeugt Sichtkörper für Clipping Sichtkörper für Clipping oft durch vordere und hintere abschliessende Ebenen begrenzt: Far und Near Clipping Plane Objekte außerhalb werden ignoriert woraus die Projektionsmatrix abgeleitet werden kann Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/09 3 64
Parallele Projektion Alle Projektionsstrahlen der Originalpunkte verlaufen parallel und senkrecht zur Bildebene Verzerrt nur Kanten, die nicht parallel zur Bildebene liegen häufig in technischen Szenarien (technisches Zeichnen) oder für 2D-Projektion verwendet Definition zum Beispiel durch Richtungsvektor (Bezugspunkt) der Projektionsstrahlen Up-Vector Höhe und Breite (z.b. ausgehend von Bezugspunkt) Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/09 3 65
3D-Grundproblem: Verdeckung von Objekten Bei Projektion auf 2D-Ebene gehen Informationen über die räumliche Lage der Objekte zueinander verloren welches Objekt verdeckt welches andere auf dem selben Projektionsstrahl Tiefeninformationen werden bei Projektion zwischengespeichert Tiefenpuffer bzw. z-buffer als spezielles internes Raster Tiefenpuffer kommt bei der Rasterung zum Einsatz Erlaubt zum Beispiel auch Berücksichtigung von Transparenz beim Shading Weitere Optimierung: Backface Culling ähnlich Clipping, aber ohnehin verdeckte Rückseiten von Flächen werden beim Rastern ignoriert Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/09 3 66
Fotorealistisches Rendering Berechnungsaufwändige optische Verfahren wie Raytracing (Strahlenoptik) oder Radiosity (Lichtverteilung) Beispiel Raytracing: Ausgehend von der Bildebene werden eintreffende Lichtstrahlen verfolgt Werden diese an Objekten (teilweise) reflektiert, gebrochen und/oder absorbiert, werden umgelenkte Strahlen weiter verfolgt Eingabe kann das gleiche geometrische Modell wie beim Echtzeitrendering sein Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/09 3 67