OpenGL und die Fixed-Function-Pipeline

Größe: px
Ab Seite anzeigen:

Download "OpenGL und die Fixed-Function-Pipeline"

Transkript

1 OpenGL und die Fixed-Function-Pipeline Proseminar Game Design WS 07/08 Jan-Hendrik Behrmann Einführung In modernen Computerspielen hat sich inzwischen die Darstellung der Spielwelt in dreidimensionaler Grafik durchgesetzt. Dabei zeigt der Trend noch immer in Richtung einer immer realistischeren Abbildung der Wirklichkeit, gleichzeitig soll die Grafik möglichst flüssig laufen. Die dazu notwendigen Berechnungen werden von spezialisierter Hardware übernommen, die heute auf der Grafikkarte in nahezu jedem PC verbaut ist. Um diese Hardware nutzbar zu machen bedarf es einer Software-Schnittstelle, die der Spieleprogrammierer nutzen kann. In den letzten Jahren haben sich zwei dieser Schnittstellen durchgesetzt: DirectX und OpenGL. Im Folgenden soll es um OpenGL und die darunterliegende Rendering-Pipeline gehen. OpenGL Die Open Graphics Library (kurz OpenGL) ist eine Spezifikation einer Programmierschnittstelle (API) zur Programmierung von 3D-Grafik-Anwendungen. Sie wurde von Silicon Graphics Inc. (heute SGI) im Jahr 1992 entwickelt und veröffentlicht. Die OpenGL zeichnet sich dadurch aus, dass sie nicht an bestimmte Hardware oder an ein bestimmtes Betriebssystem gebunden ist. Sie ist als Low-Level-API konzipiert, bietet dem Programmierer also nur sehr grundlegende, nahe an die Hardware angelehnte Funktionen. Die Spezifikation sieht vor, dass eine Implementierung der API alle in der Spezifikation vorgesehenen Funktionen implementieren muss und diese, wenn sie nicht von der Hardware unterstützt werden, notfalls in Software emulieren muss. Der Programmierer kann sich also auf einen verbindlichen Leistungsumfang verlassen, freilich zu dem Preis, dass es passieren kann, dass seine Anwendung sehr langsam läuft, weil ein genutztes Feature auf einer Hardware nicht unterstützt wird und emuliert werden muss. Da die technische Entwicklung im Bereich der 3D-Grafik sehr rasch voranschreitet, muss die Library ständig erweitert und gepflegt werden. Diese Aufgabe hat das Architecture Review Board (ARB) übernommen, ein Industriekonsortium, das 1992 extra zu diesem Zweck gegründet wurde. Mitglied im ARB sind neben SGI weitere einflussreiche Unternehmen der Branche, etwa NVIDIA, AMD/ATI, Intel und weitere. Seit September 2006 ist das ARB eine Untergruppe der Khronos Group, ein Konsortium, das sich der Entwicklung freier Multimediastandards verschrieben hat. Die Fixed-Function-Pipeline Um dreidimensionale Welten auf dem üblicherweise zweidimensionalen Bildschirm wiedergeben zu können (oder in einer Grafikdatei zu speichern), müssen die Daten speziell aufbereitet werden. Die Abfolge der einzelnen Verarbeitungsschritte ist dabei immer dieselbe. Diese Kette von Verarbeitungsschritten bezeichnet man als Rendering-Pipeline. Eine Pipeline bezeichnet dabei eine sequentielle Anordnung von Prozessen, wobei der Output des einen der Input des nächsten Verarbeitungsschrittes ist. Ihre besonderen Vorteile

2 liegen darin, dass sie sich durch ihren festen Ablauf einfach in Hardware implementieren lässt und durch die Anordnung mehrerer Rendering-Pipelines auf der Grafikhardware eine hohe Parallelisierung erreicht werden kann. Damit lässt sich ein hoher Geschwindigkeitsvorteil gegenüber der Berechung auf einer Standard-CPU erreichen. Vor der Version 2.0 benutze OpenGL ausschließlich die sogenannte Fixed-Function-Pipeline. In ihr war die Funktion aller Verarbeitungsschritte fest vorprogrammiert und nur über die Einstellung einiger weniger Parameter zu beeinflussen. Ab der Version 2.0 ist die Pipeline in Teilen über sogenannte Shader-Programme programmierbar. Zur Veranschaulichung des Rendering-Prozesses soll uns die Fixed-Function-Pipeline genügen. Der Rendering-Prozess Die Abbildung zeigt die Rendering-Pipeline in stark vereinfachter Form. Die tatsächliche Pipeline von OpenGL ist viel umfangreicher, würde aber den Rahmen dieser Arbeit sprengen. Zunächst müssen wir wissen, wie OpenGL intern Grafikobjekte beschreibt. Es beschreibt sie als eine Liste von Vertices, die zusammen einen Primitiv ergeben. Per-Vertex Operations Diese Übersicht zeigt die von OpenGL unterstützten Primitive, darunter als Einfachstes eine Punktmenge, Linien, aber auch komplexe Objekte wie Polygone. Am Beispiel des Dreiecks erkennen wir, dass die Vertices die Eckpunkte der Primitive beschreiben. Sie speichern neben den Raumkoordinaten aber auch Farbwerte, Texturkoordinaten und andere Informationen. OpenGL schickt dabei jeden übergebenen Primitiv unverzüglich einzeln durch die Pipeline. Im ersten Verarbeitungsschritt werden alle übergebenen Vertices einzeln wie folgt verarbeitet: Sie werden im dreidimensionalen Raum platziert (Model Transformation). Ihre Koordinaten werden in Kamerakoordinaten umgerechnet (Viewing Transformation). Es werden Beleuchtungsinformationen für jeden Vertex erstellt (Lighting). Sie werden auf zweidimensionale Koordinaten projiziert (Projection Transformation).

3 All diese Schritte werden durch Multiplizierung der Koordinaten, die man als Vektoren auffasst, mit speziellen Matrizen realisiert. Model Transformation Häufig benutzt man bereits vorgefertigte 3D-Modelle für seine Szene. Diese liegen aber nur in ihrem lokalen Koordinatensystem vor. Darum müssen diese Koordinaten in das Weltkoordinatensystem der Szene überführt werden (s. Abbildung). OpenGL bietet dazu vorgefertigte Transformationsmatrizen für das Verschieben, Skalieren und Drehen eines Objekts. Viewing Transformation Als nächster Schritt erfolgt die Viewing Transformation. Dabei werden alle Weltkoordinaten in Kamerakoordinaten umgerechnet. Das ist deswegen erforderlich, weil die Kamera zwar frei im Raum positioniert werden kann, es aus mathematischer Sicht aber wünschenswert ist, wenn sich die Kamera im Ursprung des Koordinatensystems befindet und die Tiefenachse hinunterblickt (OpenGL nutzt ein rechtshändiges Koordinatensystem). Die dazu notwendige Matrix wird über eine spezielle Funktion erzeugt. Lighting An dieser Stelle werden nun für jeden Vertex abhängig von den Lichtquellen im Raum Beleuchtungsinformationen nach dem Phong-Modell berechnet. Für eine genauere Beschreibung sei auf den Vortrag zu diesem Thema verwiesen. Projection Transformation Nun müssen die Vertices auf die zweidimensionale Ebene projiziert werden. Dazu gibt es zwei Verfahren: Die orthogonale und die perspektivische Projektion. Die perspektivische Projektion ist dem menschlichen Auge ähnlich. Das Sichtfeld des Auges kann als Kegel angesehen werden, der seine Spitze am Auge hat und von dort aus immer breiter wird. Bei OpenGL ist es ähnlich, nur bedient man sich hier eines Pyramidenstumpfes, des sogenannten Frustums.

4 Das Sichtfeld der Kamera wird also als eine Pyramide aufgefasst. Zum Stumpf wird sie dadurch, dass man die Pyramide an der Near Clip Plane und Far Clip Plane abschneidet. Alles was sich vor der Near Clip Plane, hinter der Far Clip Plane oder außerhalb der Pyramide befindet ist nicht sichtbar, das Frustum beschreibt also den gesamten sichtbaren Bereich. Der zweite Teil der Projection Transformation besteht darin, dass alle Koordinaten so transformiert werden, dass das Frustum innerhalb eines Einheitswürfels zwischen den Koordinaten (-1, -1) und (1, 1) liegt. Bei der Transformation eines Pyramidenstumpfes zu einem Würfel treten Verzerrungen auf: Nahe Objekte erscheinen größer, während entfernte Objekte kleiner wirken, Winkel verändern sich. Dieser Effekt ist gewollt, entspricht er doch dem menschlichen Seheindruck. Die orthogonale Projektion verläuft analog, nur wird hier das Sichtfeld nicht als Pyramidenstumpf sondern als Quader aufgefasst. Dadurch treten bei der Transformation keine Verzerrungen auf, Größenverhältnisse bleiben erhalten. Diese Art der Projektion ist den meisten aus 3D-Editoren bekannt, wo sie beim Erstellen von Modellen verwendet wird. Primitive Assembly Die Per-Vertex Operations sind damit abgeschlossen. Auf dieser Stufe werden Primitive als Ganzes behandelt. Dabei ist es das Hauptziel, so viele unsichtbare Primitive wie möglich zu entfernen, um Rechenzeit zu sparen. Zunächst werden Primitive, die uns ihre Rückseite zuwenden, entfernt. Sie gelten als nicht sichtbar. Diesen Schritt bezeichnet man als Backface Culling. Als nächstes werden alle Primitive, die nicht innerhalb des sichtbaren Bereiches liegen, entfernt. Durch die Projektion auf den Einheitswürfel ist dies sehr leicht. Primitive, die nur zum Teil innerhalb des sichtbaren Bereichs liegen, werden an den Würfelkanten abgeschnitten. OpenGL fügt selbstständig neue Vertices ein, wenn dies nötig ist. Diesen Schritt bezeichnet man als Clipping. Viewport Transformation Bis zu diesem Moment geschah noch alles im dreidimensionalen Raum, hier werden die Koordinaten endgültig in den zweidimensionalen Raum projiziert, indem man die Tiefenkoordinate einfach entfernt. Verloren ist die Tiefeninformation dennoch nicht, sie wird gespeichert und später noch gebraucht. Anschließend werden die Koordinaten aus dem Einheitssystem ein letztes Mal in ein Koordinatensystem transformiert, das die Ausmaße des Anzeigebereichs auf dem Bildschirm (Viewport) hat.

5 Rasterization Bei der Rasterization werden nun die immer noch in Form von Koordinaten vorliegenden Primitive auf ein Raster übertragen. Der dabei zur Anwendung kommende Algorithmus ist das Scanline Rasterizing. Dabei überprüft der Algorithmus zeilenweise an jedem Bildpunkt, ob dieser vom Primitiv überdeckt wird. Ist dies der Fall, so berechnet der Rasterizer durch Interpolation aus den Farb- und Lichtinformationen der benachbarten Vertices die Farbe, die dieser Bildpunkt erhalten soll. Tragen die Vertices Texturkoordinaten, so wird auch aus ihnen durch Interpolation eine Texturkoordinate für diesen Bildpunkt berechnet. Aus der Textur selbst wird an dieser Stelle allerdings noch nicht gelesen. Ebenso wird aus den Tiefenwerten der Vertices ein Tiefenwert interpoliert. Mit den so berechneten Daten erstellt der Rasterizer für jeden Bildpunkt ein sogenanntes Fragment. Per-Fragment Operations Diese Fragments müssen im letzten Schritt noch einmal einzeln verarbeitet werden. Zunächst wird bei allen Fragments, die im vorherigen Schritt eine Texturkoordinate zugewiesen bekommen haben, der Farbwert an der passenden Stelle der Textur gesucht und dem Fragment zugeordnet. Anschließend wird durch optional aktivierbare Tests überprüft, ob das Fragment dargestellt werden soll. Ein solcher Test ist zum Beispiel der Tiefentest. Dabei wird die Tiefeninformation des Fragments mit dem Depth Buffer, einer Datenstruktur, die über mehrere Durchläufe der Rendering-Pipeline die Tiefenwerte jedes gezeichneten Bildpunktes speichert, verglichen. Wurde an dieser Stelle bereits ein Bildpunkt an geringerer Bildtiefe ( davor ) gespeichert, so wird das Fragment verworfen. Ist dies nicht der Fall und das Fragment besteht auch eventuelle andere Tests, so wird sein Farbwert schließlich in den Framebuffer geschrieben bzw. mit einem bereits bestehenden Farbwert vermischt. Ausblick Wie bereits erwähnt, gilt die Fixed-Function-Pipeline aufgrund ihrer begrenzten Möglichkeiten inzwischen als überholt. Der Trend geht eindeutig zu programmierbaren Grafikchips und OpenGL in seiner aktuellen Version 2.1 unterstützt in Teilen bereits eine programmierbare Pipeline. Die nächste OpenGL Version 3.0 soll diesem Trend folgen können. Die Fixed-Function- Pipeline wurde komplett entfernt und es wurden größere Umbauarbeiten an der API vorgenommen. Allerdings geht dieser Fortschritt zu Lasten der Abwärtskompatibilität, die bei 3.0 erstmals nicht gegeben sein soll. OpenGL 3.0 ist angekündigt für Anfang 2008, bisher jedoch nicht erschienen.

6 Weiterführende Literatur Dave Shreiner, Mason Woo, Jackie Neider: OpenGL Programming Guide (6. Auflage). Addison-Wesley Longman, 2007 Links (Offizielle OpenGL-Homepage) (Homepage der Khronos Group)

OpenGL. (Open Graphic Library)

OpenGL. (Open Graphic Library) OpenGL (Open Graphic Library) Agenda Was ist OpenGL eigentlich? Geschichte Vor- und Nachteile Arbeitsweise glscene OpenGL per Hand Debugging Trend Was ist OpenGL eigentlich? OpenGL ist eine Spezifikation

Mehr

Probelektion zum Thema. Shadow Rendering. Shadow Maps Shadow Filtering

Probelektion zum Thema. Shadow Rendering. Shadow Maps Shadow Filtering Probelektion zum Thema Shadow Rendering Shadow Maps Shadow Filtering Renderman, 2006 CityEngine 2011 Viewport Real reconstruction in Windisch, 2013 Schatten bringen viel Realismus in eine Szene Schatten

Mehr

4. Kapitel 3D Engine Geometry

4. Kapitel 3D Engine Geometry 15.11.2007 Mathematics for 3D Game Programming & Computer Graphics 4. Kapitel 3D Engine Geometry Anne Adams & Katharina Schmitt Universität Trier Fachbereich IV Proseminar Numerik Wintersemester 2007/08

Mehr

(7) Normal Mapping. Vorlesung Computergraphik II S. Müller. Dank an Stefan Rilling U N I V E R S I T Ä T KOBLENZ LANDAU

(7) Normal Mapping. Vorlesung Computergraphik II S. Müller. Dank an Stefan Rilling U N I V E R S I T Ä T KOBLENZ LANDAU (7) Normal Mapping Vorlesung Computergraphik II S. Müller Dank an Stefan Rilling Einleitung Die Welt ist voller Details Viele Details treten in Form von Oberflächendetails auf S. Müller - 3 - Darstellung

Mehr

Computergraphik Grundlagen

Computergraphik Grundlagen 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

Mehr

Computer Graphik. Mitschrift von www.kuertz.name

Computer Graphik. Mitschrift von www.kuertz.name Computer Graphik Mitschrift von www.kuertz.name Hinweis: Dies ist kein offizielles Script, sondern nur eine private Mitschrift. Die Mitschriften sind teweilse unvollständig, falsch oder inaktuell, da sie

Mehr

OpenGL als API für Augmented und Virtual Reality

OpenGL als API für Augmented und Virtual Reality OpenGL als API für Augmented und Virtual Reality Tobias Lang langt@cip.ifi.lmu.de Hausarbeit im Hauptseminar Augmented und Virtual Reality Inhaltsverzeichnis 1. Einleitung... 3 2. Was ist OpenGL... 3 3.

Mehr

Softwareprojekt Spieleentwicklung

Softwareprojekt Spieleentwicklung Softwareprojekt Spieleentwicklung Prototyp I (2D) Prototyp II (3D) Softwareprojekt 12.04. 19.04. 26.04. 03.05. 31.05. Meilenstein I 28.06. Meilenstein II Prof. Holger Theisel, Tobias Günther, OvGU Magdeburg

Mehr

:= Modellabbildung. Bildsynthese (Rendering) Bildsynthese

:= Modellabbildung. Bildsynthese (Rendering) Bildsynthese Geometrisches Modell bestehend aus Datenstrukturen zur Verknüpfung geometrischer Primitive, welche eine Gesamtszene beschreiben Bildsynthese := Modellabbildung Pixelbasiertes Modell zur Darstellung eines

Mehr

"rendern" = ein abstraktes geometrisches Modell sichtbar machen

rendern = ein abstraktes geometrisches Modell sichtbar machen 3. Grundlagen des Rendering "rendern" = ein abstraktes geometrisches Modell sichtbar machen Mehrere Schritte: Sichtbarkeitsberechnung Beleuchtungsrechnung Projektion Clipping (Abschneiden am Bildrand)

Mehr

Grundlagen der Spieleprogrammierung

Grundlagen der Spieleprogrammierung Grundlagen der Spieleprogrammierung Teil I: 3D-Graphik Kapitel 9: Engines, Cg und anderes Peter Sturm Universität Trier Outline 1. Übersicht und Motivation 2. Mathematische Grundlagen 3. Das Ideal: Photorealistisch

Mehr

DirectX und OpenGL. Proseminar Multimedia-Hardwareerweiterungen Michel Weimerskirch, 15. Februar 2006

DirectX und OpenGL. Proseminar Multimedia-Hardwareerweiterungen Michel Weimerskirch, 15. Februar 2006 DirectX und OpenGL Proseminar Multimedia-Hardwareerweiterungen Michel Weimerskirch, 15. Februar 2006 2 Inhalt Einleitung Übersicht DirectX und Komponenten Übersicht OpenGL Sprachlicher Aufbau OpenGL Sprachlicher

Mehr

Spezialprozessoren zur Übernahme Grafik-spezifischer Aufgaben, vorrangig der Bildschirmausgabe

Spezialprozessoren zur Übernahme Grafik-spezifischer Aufgaben, vorrangig der Bildschirmausgabe Grafikprozessoren Spezialprozessoren zur Übernahme Grafik-spezifischer Aufgaben, vorrangig der Bildschirmausgabe 2D: Berechnung der Bildes aus einfachen Grafikprimitiven 3D: Bildaufbau aus räumlicher Beschreibung

Mehr

VHDL - Grundlagen des Pointrenderings

VHDL - Grundlagen des Pointrenderings VHDL - Grundlagen des Pointrenderings Marc Reichenbach, Timo Nieszner Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 2013 1 / 25 Rendern von Dreiecksnetzen Quelle: Inf9, CG-Slides grobmaschiges

Mehr

Einführung in OpenGL. Einführung in OpenGL

Einführung in OpenGL. Einführung in OpenGL OpenGL: Einführung/Standard - OpenGL (Open Graphics Library) ist ein Standard für 3D Rendering und 3D Hardware-Beschleunigung - OpenGL läuft unter Windows, MacOS, Linux, Unix, - Website: http://opengl.org

Mehr

Seminar Game Development Game Computer Graphics. Einleitung

Seminar Game Development Game Computer Graphics. Einleitung Einleitung Gliederung OpenGL Realismus Material Beleuchtung Schatten Echtzeit Daten verringern Grafik Hardware Beispiel CryEngine 2 Kristian Keßler OpenGL Was ist OpenGL? Grafik API plattform- und programmiersprachenunabhängig

Mehr

Computer-Graphik I Transformationen & Viewing

Computer-Graphik I Transformationen & Viewing lausthal Motivation omputer-raphik I Transformationen & Viewing Man möchte die virtuelle 3D Welt auf einem 2D Display darstellen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de. Zachmann

Mehr

Workshop: Einführung in die 3D-Computergrafik. Julia Tolksdorf Thies Pfeiffer Christian Fröhlich Nikita Mattar

Workshop: Einführung in die 3D-Computergrafik. Julia Tolksdorf Thies Pfeiffer Christian Fröhlich Nikita Mattar Workshop: Einführung in die 3D-Computergrafik Julia Tolksdorf Thies Pfeiffer Christian Fröhlich Nikita Mattar 1 Organisatorisches Tagesablauf: Vormittags: Theoretische Grundlagen Nachmittags: Bearbeitung

Mehr

Praktikum: Spieleengine im Eigenbau

Praktikum: Spieleengine im Eigenbau Seite 1/17 Praktikum Spieleengine im Eigenbau Alexander Weggerle, Tobias Bäuerle 19.10.09 http://www.saschawillems.de Praktikum: Spieleengine im Eigenbau Seite 2/17 Praktikum Spieleengine im Eigenbau Alexander

Mehr

Grafikkarten-Architektur

Grafikkarten-Architektur > Grafikkarten-Architektur Parallele Strukturen in der GPU Name: Sebastian Albers E-Mail: s.albers@wwu.de 2 > Inhalt > CPU und GPU im Vergleich > Rendering-Pipeline > Shader > GPGPU > Nvidia Tesla-Architektur

Mehr

OpenGL vs. Direct3D Ein 3D-API Vergleich

OpenGL vs. Direct3D Ein 3D-API Vergleich OpenGL vs. Direct3D Ein 3D-API Vergleich 3D-APIs (Application Programming Interface)sind Software-Schnittstellen, um über einen Standard auf die Hardware des Rechners zugreifen zu koennen. Direct3D von

Mehr

Thema: Hardware-Shader

Thema: Hardware-Shader Seminar Grafikprogrammierung Thema: Hardware-Shader Christian Bauer 03.07.08 Überblick Entwicklung Die Shader im Detail Programmierung GPGPU Zusammenfassung & Ausblick 1/19 Entwicklung (1) Früher: Berechnung

Mehr

Eine Einführung Computergrafik SS14 Timo Bourdon

Eine Einführung Computergrafik SS14 Timo Bourdon Eine Einführung Computergrafik SS14 Timo Bourdon Organisatorisches Übung am Freitag den 11. Juli entfällt! Zum OpenGL-Übungsblatt OpenGL 3.0 oder höher notwendig (Shading Language 1.50 oder höher) CIP

Mehr

Erinnerung. Arbeitsschritte der Computergraphik. Modellierung. Animation. Rendering. Ausgabemedium. Generierung

Erinnerung. Arbeitsschritte der Computergraphik. Modellierung. Animation. Rendering. Ausgabemedium. Generierung Erinnerung Arbeitsschritte der Computergraphik Modellierung Animation Generierung Ausgabemedium Graphik/-Pipeline Wandelt die Beschreibung einer Szene im dreidimensionalen Raum in eine zweidimensionale

Mehr

Einführung in die Computergrafik

Einführung in die Computergrafik Einführung in die Computergrafik Proseminar Computergrafik Zuse Institut Berlin 22. November 2007 Organisatorisches Informationen rund um s Seminar. http://www.zib.de/hotz/teaching/currentlectures.htm

Mehr

computer graphics & visualization

computer graphics & visualization Entwicklung und Implementierung echtzeitfähiger Verfahren zur Darstellung von reflektierenden Objekten auf GPUs echtzeitfähiger Verfahren zur Darstellung von reflektierenden Objekten auf GPUs Motivation

Mehr

2.2 Projektionen und Kameramodelle

2.2 Projektionen und Kameramodelle Graphikprog. GRUNDLEGENDE VERFAHREN UND TECHNIKEN. Projektionen und Kameramodelle Nachdem alle Objekte einer Szenerie mittels der besprochenen Transformationen im D-Weltkoordinatensystem platziert sind,

Mehr

Kapitel 2: Mathematische Grundlagen

Kapitel 2: Mathematische Grundlagen [ Computeranimation ] Kapitel 2: Mathematische Grundlagen Prof. Dr. Stefan M. Grünvogel stefan.gruenvogel@fh-koeln.de Institut für Medien- und Phototechnik Fachhochschule Köln 2. Mathematische Grundlagen

Mehr

Komplexpraktikum Graphische Datenverarbeitung im WS 04/05

Komplexpraktikum Graphische Datenverarbeitung im WS 04/05 Komplexpraktikum Graphische Datenverarbeitung im WS 04/05 von Enrico Leonhardt 28 45 669 TU Dresden Medieninformatik 29. März 2005 Graphische Datenverarbeitung WS 04/05 Einführung Dieser Raytracer entstand

Mehr

Proseminar Computergrafik: OpenGL. Marcel Heckel

Proseminar Computergrafik: OpenGL. Marcel Heckel Proseminar Computergrafik: OpenGL Marcel Heckel 23.5.26 . Inhalt 1. Allgemein Was ist OpenGL Geschichte 2. Etwas 3D-Mathematik Das Koordinatensystem Vektoren Matrizen 3. Grundlegendes zu OpenGL Arbeitsweise

Mehr

Universität Osnabrück Fachbereich Mathematik / Informatik. 5. Vorlesung ( )

Universität Osnabrück Fachbereich Mathematik / Informatik. 5. Vorlesung ( ) Universität Osnabrück Fachbereich Mathematik / Informatik 5. Vorlesung (06.05.2013) Prof. Dr. rer. nat. Oliver Vornberger Nico Marniok, B. Sc. Erik Wittkorn, B. Sc. Game Application Layer Rückblick Game

Mehr

MaTHEMATISCHE GRUNDLAGEN BUGA-AR TELESCOPE. Marko HeRBERTZ

MaTHEMATISCHE GRUNDLAGEN BUGA-AR TELESCOPE. Marko HeRBERTZ MaTHEMATISCHE GRUNDLAGEN BUGA-AR TELESCOPE Marko HeRBERTZ Wiederholung: Objekt-, Welt- und Kamerakoordinaten Kugelkoordinaten in kartesische Mögliche Schwierigkeiten Kameralinse Lage der Festung Lagerichtige

Mehr

Rendering für Augmented Reality

Rendering für Augmented Reality Rendering für Augmented Reality Vorlesung Augmented Reality Prof. Dr. Andreas Butz WS 2006/07 Folien heute von Dr. Martin Wagner LMU München Medieninformatik Butz Augmented Reality WS2006/07 Folie 1 Ein

Mehr

Überblick Echtzeit-Rendering. Uwe Domaratius dou@hrz.tu-chemnitz.de

Überblick Echtzeit-Rendering. Uwe Domaratius dou@hrz.tu-chemnitz.de Überblick Echtzeit-Rendering Uwe Domaratius dou@hrz.tu-chemnitz.de Gliederung 1. Einleitung 2. geometriebasierende Verbesserungen 3. Level-of-Detail 4. Culling 5. Texturen 6. bildbasiertes Rendering Was

Mehr

Zwischenvortrag zum Entwicklungsstand der Bachelor-Arbeit. Direct 3D-Output für ein Rendering Framework

Zwischenvortrag zum Entwicklungsstand der Bachelor-Arbeit. Direct 3D-Output für ein Rendering Framework Zwischenvortrag zum Entwicklungsstand der Bachelor-Arbeit Direct 3D-Output für ein Rendering Framework von Benjamin Betting unter der Betreuung von Daniel Schiffner 1 Gliederung Kapitel I und II: Motivation,Einführung,Grundlagen

Mehr

Jörn Loviscach Hochschule Bremen

Jörn Loviscach Hochschule Bremen Programmierbare Hardware-Shader Jörn Loviscach Hochschule Bremen Überblick Vertex- und Pixel-Shader Anwendungsbeispiele fx-dateien Anwendungsbeispiele Zusammenfassung Puffer Vertex- und Pixel-Shader Hardware-Renderpipeline

Mehr

Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10. computer graphics & visualization

Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10. computer graphics & visualization Praktikum im Bereich Praktische Informatik Echtzeitgraphik in C++ und DirectX10 Billboards Letztes Übungsblatt: Meshes & Instancing um dem Terrain zusätzliche Details (Vegtation) hinzuzufügen. Nachteil:

Mehr

Graphische Datenverarbeitung und Bildverarbeitung

Graphische Datenverarbeitung und Bildverarbeitung Graphische Datenverarbeitung und Bildverarbeitung Hochschule Niederrhein Clippen in 2D und 3D Graphische DV und BV, Regina Pohle, 19. Clippen in 2D und 3D 1 Einordnung in die Inhalte der Vorlesung Einführung

Mehr

Inhaltsverzeichnis. 1 Hardwaregrundlagen

Inhaltsverzeichnis. 1 Hardwaregrundlagen Inhaltsverzeichnis 1 Hardwaregrundlagen 2.4 2.5 Perspektivische 2.6 Parallele 2.7 Umsetzung der Zentralprojektion 2.8 Weitere 2.9 Koordinatensysteme, Frts. 2.10 Window to Viewport 2.11 Clipping 3 Repräsentation

Mehr

Shadingalgorithmen zur Visualisierung nanostrukturierter Oberflächen

Shadingalgorithmen zur Visualisierung nanostrukturierter Oberflächen Universität Hamburg Fachbereich Informatik Arbeitsbereich Technische Aspekte Multimodaler Systeme Seminar Informatikanwendungen in Nanotechnologien Betreuer: Bernd Schütz Sommersemester 2014 Shadingalgorithmen

Mehr

Nichtrealistische Darstellung von Gebirgen mit OpenGL

Nichtrealistische Darstellung von Gebirgen mit OpenGL Nichtrealistische Darstellung von Gebirgen mit OpenGL Großer Beleg Torsten Keil Betreuer: Prof. Deussen Zielstellung Entwicklung eines Algorithmus, der die 3D- Daten einer Geometrie in eine nichtrealistische

Mehr

Seminar 3-D Grafik Mathematische Grundlagen, Räume, Koordinatensysteme, Projektionen. Hermann Schwarz Marko Pilop

Seminar 3-D Grafik Mathematische Grundlagen, Räume, Koordinatensysteme, Projektionen. Hermann Schwarz Marko Pilop Seminar 3-D Grafik Mathematische Grundlagen, Räume, Koordinatensysteme, Projektionen Hermann Schwarz Marko Pilop 2003-11-20 http://www.informatik.hu-berlin.de/~pilop/3d_basics.pdf {hschwarz pilop}@informatik.hu-berlin.de

Mehr

CUDA. Jürgen Pröll. Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg Jürgen Pröll 1

CUDA. Jürgen Pröll. Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg Jürgen Pröll 1 CUDA Jürgen Pröll Multi-Core Architectures and Programming Jürgen Pröll 1 Image-Resize: sequentiell resize() mit bilinearer Interpolation leicht zu parallelisieren, da einzelne Punkte voneinander unabhängig

Mehr

Universität Augsburg. 20. April 2012. B. Möller (U. Augsburg) Computergraphik SS12 20. April 2012 1 / 6

Universität Augsburg. 20. April 2012. B. Möller (U. Augsburg) Computergraphik SS12 20. April 2012 1 / 6 Kapitel 1 Einführung B. Möller Universität Augsburg 20. April 2012 B. Möller (U. Augsburg) Computergraphik SS12 20. April 2012 1 / 6 Begriffsdefinition Computergrafik: realistische Darstellung realer oder

Mehr

Programmieren mit DirectX

Programmieren mit DirectX 2D 3D Programmieren mit DirectX Teil 3: Malte Ried Fachhochschule Gießen-Friedberg 30. Oktober 2005 Inhalt 2D 3D 1 2D 2 3D 3 2D 3D Bis jetzt Windows-Fenster, das man schließen kann initialisiertes Direct3D

Mehr

(13) Hot Topics. Vorlesung Computergrafik T. Grosch

(13) Hot Topics. Vorlesung Computergrafik T. Grosch (13) Hot Topics Vorlesung Computergrafik T. Grosch Heute Vorstellung der besten Flugsimulatoren Hot Topics T. Grosch - - Warum Hot Topics? Typischerweise i Computergrafik 1 : Grundlagen, konstant Computergrafik

Mehr

Lehrbuch der Grafikprogrammierung

Lehrbuch der Grafikprogrammierung Klaus Zeppenfeld Lehrbuch der Grafikprogrammierung Grundlagen Programmierung Anwendung unter Mitwirkung von Regine Wolters mit 2 CD-ROMs Spektrum Akademischer Verlag Heidelberg Berlin LE 1 1 Grundlagen

Mehr

Übersicht 1. Anzeigegeräte 2. Framebuffer 3. Grundlagen 3D Computergrafik 4. Polygongrafik, Z-Buffer 5. Texture-Mapping/Shading 6. GPU 7. Programmierbare Shader 1 LCD/TFT Technik Rotation der Licht-Polarisationsebene

Mehr

8 3D-Grafik mit VPython

8 3D-Grafik mit VPython 8 3D-Grafik mit VPython In diesem Kapitel wird das Python-Erweiterungsmodul Visual-Python bzw. VPython vorgestellt. Mit VPython können interaktive und animierte 3D-Szenen erzeugt werden. Dreidimensionale

Mehr

1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen

1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen 3D-Rendering Ulf Döring, Markus Färber 07.03.2011 1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen Anzeigefläche (a) Worin besteht das Sichtbarkeitsproblem?

Mehr

Games Engines. Realtime Terrain Rendering

Games Engines. Realtime Terrain Rendering Games Engines Realtime Terrain Rendering RTR Gliederung Probleme & Anforderungen Grundlagen Heightmaps und Paging Visibility View Frustrum Culling Occlusion Culling/ Occlusion Map Fogging Level of Detail

Mehr

Landesabitur 2007 Beispielaufgaben 2005_M-LK_A 7. Eine quadratische Pyramide (Grundkante 4 und Höhe 6) steht neben einer Stufe. 1.

Landesabitur 2007 Beispielaufgaben 2005_M-LK_A 7. Eine quadratische Pyramide (Grundkante 4 und Höhe 6) steht neben einer Stufe. 1. I. Thema und Aufgabenstellung Lineare Algebra / Analytische Geometrie Aufgaben Eine quadratische Pyramide (Grundkante 4 und Höhe 6) steht neben einer Stufe. 3. Achse 2. Achse 1. Achse Die Sonne scheint

Mehr

Inhalt. Grundlagen - Licht und visuelle Wahrnehmung 1. Grundlagen - 2D-Grafik (Teil 1) 43. Grundlagen - 2D-Grafik (Teil 2) 67

Inhalt. Grundlagen - Licht und visuelle Wahrnehmung 1. Grundlagen - 2D-Grafik (Teil 1) 43. Grundlagen - 2D-Grafik (Teil 2) 67 Grundlagen - Licht und visuelle Wahrnehmung 1 Physikalische Grundlagen 2 Licht 2 Fotometrie 6 Geometrische Optik 9 Schatten 13 Farben 15 Visuelle Wahrnehmung - vom Reiz zum Sehen und Erkennen 17 Das Auge

Mehr

Planare Projektionen und Betrachtungstransformation. Quelle: Angel (2000)

Planare Projektionen und Betrachtungstransformation. Quelle: Angel (2000) Planare Projektionen und Betrachtungstransformation Quelle: Angel (2) Gliederung Einführung Parallelprojektionen Perspektivische Projektionen Kameramodell und Betrachtungstransformationen Mathematische

Mehr

Spline-artige Kurven auf Subdivision Surfaces. Jörn Loviscach Hochschule Bremen, Germany

Spline-artige Kurven auf Subdivision Surfaces. Jörn Loviscach Hochschule Bremen, Germany Spline-artige Kurven auf Subdivision Surfaces Jörn Loviscach Hochschule Bremen, Germany Überblick Spline-artige Kurven auf Spline-Flächen Kurven auf SDS: Problem, Anwendung Verwandte Arbeiten Spline-artige

Mehr

Photonik Technische Nutzung von Licht

Photonik Technische Nutzung von Licht Photonik Technische Nutzung von Licht Raytracing und Computergraphik Überblick Raytracing Typen von Raytracern z-buffer Raytracing Lichtstrahlen-Verfolgung (engl. ray tracing): Berechnung von Lichtstrahlen

Mehr

Seminar: Programmierung von Grafikkarten (SS 2006)

Seminar: Programmierung von Grafikkarten (SS 2006) Seminar: Programmierung von Grafikkarten (SS 2006) Shader Christian Niemand (nemojr@gmx.de) Johannes Spohr (jspohr@student.uni-kassel.de) Universität Kassel, FB 16 Research Group Programming Languages

Mehr

Computer Graphik (CS231) - Installation der Software

Computer Graphik (CS231) - Installation der Software UNIVERSITÄT BASEL Prof. Dr. Thomas Vetter Departement Mathematik und Informatik Spiegelgasse 1 CH 4051 Basel Tobias Maier (tobias.maier@unibas.ch) Jasenko Zivanov (jasenko.zivanov@unibas.ch) Marc Schmidlin

Mehr

Hardware Tessellation in DirectX11 zur Berechnung von Levels of Detail in Echtzeitanwendungen

Hardware Tessellation in DirectX11 zur Berechnung von Levels of Detail in Echtzeitanwendungen MASTER THESIS zur Erlangung des akademischen Grades Master of Science in Engineering im Studiengang 585 Hardware Tessellation in DirectX11 zur Berechnung von Levels of Detail in Echtzeitanwendungen Ausgeführt

Mehr

19.09.2014. 2D-Texturen. Reflectance Mapping 3D-Texturen. Farbtexturen

19.09.2014. 2D-Texturen. Reflectance Mapping 3D-Texturen. Farbtexturen 2D-Texturen Texturarten Transformationen Generierung Thomas Jung Reflectance Mapping 3D-Texturen Modellierung von Details erfordert Zeit Darstellung ist aufwendig (langsam) Details belegen Speicherplatz

Mehr

Programmierpraktikum 3D Computer Grafik

Programmierpraktikum 3D Computer Grafik Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik Szenegraphen, Texturen und Displaylisten. Agenda Beleuchtungsmodelle in OpenGL Bump-Maps zur Erzeugung von Reliefartigen Oberflächen Height-Maps

Mehr

Shader für Geometrische Grundprimitive. Beispielszene mit vielen Kegeln unterschiedlicher Größe und Farbe

Shader für Geometrische Grundprimitive. Beispielszene mit vielen Kegeln unterschiedlicher Größe und Farbe Shader für Geometrische Grundprimitive Beispielszene mit vielen Kegeln unterschiedlicher Größe und Farbe 0. Gliederung Gliederung: 1. Motivation 2. Verwandte Arbeiten 3. Überblick über das Vorgehen 3.1

Mehr

Vergleich von Forward und Deferred Rendering

Vergleich von Forward und Deferred Rendering Vergleich von Forward und Deferred Rendering Kamil René König Bachelorarbeit Bachelor Informatik 12.08.2014 Betreuer: Prof. Dr. Detlef Krömker, Dr. Daniel Schiffner Übersicht Motivation Definitionen Forward

Mehr

GPU Programmierung. Thorsten Grosch

GPU Programmierung. Thorsten Grosch Thorsten Grosch Willkommen zur ersten Vorlesung! g Heute Organisatorisches Vorstellung von Team und Vorlesung Historischer Rückblick zu GPUs 2 Das Team Vorlesung Jun.-Prof. Thorsten Grosch AG Computervisualistik

Mehr

Lastenheft. zum Projekt. Dynamische Geometrie-Software. Version 1 von 03.05.03. Gruppe geo09, Projektleiter: Andy Stock

Lastenheft. zum Projekt. Dynamische Geometrie-Software. Version 1 von 03.05.03. Gruppe geo09, Projektleiter: Andy Stock Lastenheft zum Projekt Dynamische Geometrie-Software Version 1 von 03.05.03 Erstellt von: R. Hrushchak, P. Kongsto, A. Stock Seite 1 von 9 1) Zielbestimmung: Das Produkt soll seine Anwender in die Lage

Mehr

Vektoren - Basiswechsel

Vektoren - Basiswechsel Vektoren - Basiswechsel Grundprinzip Für rein geometrische Anwendungen verwendet man üblicherweise die Standardbasis. Damit ergibt sich in den Zahlenangaben der Koordinaten kein Unterschied zu einem Bezug

Mehr

Speicherkonzepte von Pixel- und Vektorgrafik

Speicherkonzepte von Pixel- und Vektorgrafik Speicherkonzepte von Pixel- und Vektorgrafik Jahrgangsstufen Lernbereich 1: Modul 1.5 Stand: 20.01.2016 Fach/Fächer Zeitrahmen Benötigtes Material Informationstechnologie 1 Unterrichtsstunde Legoplatten

Mehr

Hochschule Bremen. Rechnerstrukturen Labor WS 04/05 I7I. Thema: Grafikkarten. Laborbericht. Datum 18.01.2005

Hochschule Bremen. Rechnerstrukturen Labor WS 04/05 I7I. Thema: Grafikkarten. Laborbericht. Datum 18.01.2005 Hochschule Bremen Rechnerstrukturen Labor I7I Thema: Grafikkarten Laborbericht Datum 18.01.2005 Carsten Eckert(83912) (72497) Fazit Für unseren Praxisteil zum Vortrag Grafikkarten haben wir uns entschieden,

Mehr

Integration von 3D-Visualisierungstechniken in 2D-Grafiksystemen

Integration von 3D-Visualisierungstechniken in 2D-Grafiksystemen Mitglied der Helmholtz-Gemeinschaft Inhaltsverzeichnis Integration von 3D-Visualisierungstechniken in 2D-Grafiksystemen Motivation Ergebnisse Ausblick 24. August 2012 Florian Rhiem 24. August 2012 PGI/JCNS

Mehr

Legt man die vom Betrachter aus gesehen vor den, wird die spätere Konstruktion kleiner als die Risse. Legt man die hinter das Objekt, wird die perspek

Legt man die vom Betrachter aus gesehen vor den, wird die spätere Konstruktion kleiner als die Risse. Legt man die hinter das Objekt, wird die perspek Gegeben ist ein und ein. Der wird auf eine gezeichnet, der unterhalb von dieser in einiger Entfernung und mittig. Parallel zur wird der eingezeichnet. Dieser befindet sich in Augenhöhe. Üblicherweise wird

Mehr

Modellierung von 3D Wolken auf Basis von 2D Bewölkungsdaten und Rendering mittels Rastergrafik

Modellierung von 3D Wolken auf Basis von 2D Bewölkungsdaten und Rendering mittels Rastergrafik 2011 Modellierung von 3D Wolken auf Basis von 2D Bewölkungsdaten und Rendering mittels Rastergrafik Bachelor-Arbeit von Sascha Kolodzey Fachbereich Informatik - Universität Osnabrück 18.02.2011 Gutachter:

Mehr

Szenengraph-Architekturen im Kontext von VR- und AR-Anwendungen

Szenengraph-Architekturen im Kontext von VR- und AR-Anwendungen Szenengraph-Architekturen - 1 Szenengraph-Architekturen im Kontext von VR- und AR-Anwendungen Hauptseminar Medieninformatik Christina Eicher 10. Mai 2004 Inhalt Szenengraph-Architekturen - 2 Teil 1: Szenengraphen

Mehr

Grundlegende Algorithmen

Grundlegende Algorithmen 3D Spieleprogrammierung Grundlegende Algorithmen Übersicht Game Loop Spielarchitektur Aufäumen von Strukturen Vorbereiten für spätere Aufgaben Bewegungen Zeitmessung Zeitunabhängigkeit GameLoop Game Engine

Mehr

Computergrafik. Peter Rösch Hochschule Augsburg University of Applied Sciences. Sommersemester 2014. Version: 24. März 2014

Computergrafik. Peter Rösch Hochschule Augsburg University of Applied Sciences. Sommersemester 2014. Version: 24. März 2014 Peter Rösch Hochschule Augsburg University of Applied Sciences Sommersemester 2014 Version: 24. März 2014 Sommer 2014, HS Augsburg, Peter Rösch Inhalt [1] 1. Einführung 2. WebGL und GLSL 3. Geometrie und

Mehr

Kurs zur Ergänzungsprüfung Darstellende Geometrie CAD. Ebenes Zeichnen (2D-CAD) und die ersten Befehle

Kurs zur Ergänzungsprüfung Darstellende Geometrie CAD. Ebenes Zeichnen (2D-CAD) und die ersten Befehle CAD Ebenes Zeichnen (2D-CAD) und die ersten Befehle Schnellzugriff-Werkzeugkasten (Quick Access Toolbar) Registerkarten (Tabs) Gruppenfenster (Panels) Zeichenfläche Befehlszeile: für schriftl. Eingabe

Mehr

Computer-Graphik 2 Visibility Computations II Culling

Computer-Graphik 2 Visibility Computations II Culling lausthal omputer-raphik 2 Visibility omputations II ulling lausthal University, ermany zach@in.tu-clausthal.de Klassifikation (Erinnerung) Problemklassen innerhalb des Bereichs "Visibility omputations":

Mehr

C A R L V O N O S S I E T Z K Y. Wavefront OBJ Format. Johannes Diemke. Übung im Modul OpenGL mit Java Wintersemester 2010/2011

C A R L V O N O S S I E T Z K Y. Wavefront OBJ Format. Johannes Diemke. Übung im Modul OpenGL mit Java Wintersemester 2010/2011 C A R L V O N O S S I E T Z K Y Wavefront OBJ Format Johannes Diemke Übung im Modul OpenGL mit Java Wintersemester 2010/2011 Motivation 3D-Modelle bestehen i. d. R. aus Tausenden von Dreiecken Händische

Mehr

MF Breadcrumbs. Sergej Schefer & Fabian Marx

MF Breadcrumbs. Sergej Schefer & Fabian Marx MF Breadcrumbs Sergej Schefer & Fabian Marx MF Breadcrumbs! Entwurf! Algorithmen! Screenshots / Live-Demo Entwurf! 2.5D Jump n Run! Spieler kann sich durch Level bewegen und Punkte aufsammeln! Freie Levelgestaltung

Mehr

Non-Photorealistic Rendering

Non-Photorealistic Rendering Übersicht 1. Motivation und Anwendungen 2. Techniken - Cel Shading - Konturlinien - Hatching Einführung Traditionelle Computergraphik Ziel: Fotorealismus Einführung Motivation Bewusste Vermeidung von

Mehr

y x x y ( 2x 3y + z x + z

y x x y ( 2x 3y + z x + z Matrizen Aufgabe Sei f R R 3 definiert durch ( ) x 3y x f = x + y y x Berechnen Sie die Matrix Darstellung von f Aufgabe Eine lineare Funktion f hat die Matrix Darstellung A = 0 4 0 0 0 0 0 Berechnen Sie

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Dr. Tom Kamphans 1. Vorlesung 12.10.2016 1 Organisatorisches Vorlesung: Mittwochs 14:00 15:30, Raum F 201 Übung: Mittwochs 15:45 19:00, Raum F 225 Übung: alle zwei Wochen

Mehr

Bildtransformationen. Geometrische Transformationen Grauwert-Interpolation

Bildtransformationen. Geometrische Transformationen Grauwert-Interpolation Bildtransformationen Geometrische Transformationen Grauwert-Interpolation Transformation Transformation zwei Schritte geometrische Transformation (Trafo der Koordinaten) Neuberechnung der Pielwerte an

Mehr

Praktikum Computergrafik

Praktikum Computergrafik Praktikum Computergrafik Steven Schlegel Abteilung für Bild- und Signalverarbeitung Betreuer: Steven Schlegel (schlegel@informatik.uni-leipzig.de) Einführung in OpenGL und GLSL OpenGL OpenGL (Open Graphics

Mehr

Computer Graphik I Intro

Computer Graphik I Intro Computer Graphik I Intro 1 Ziele Modellierung 2 Ziele Bildgenerierung 3 Anwendungen Ausgabe 4 Kontakt Marc Alexa TU Berlin Computer Graphik marc.alexa@tu- berlin.de Raum EN 717 hep://www.cg.tu- berlin.de

Mehr

In Inventor werden Stile bzw. Stilbibliotheken zur Formatierung von Objekten benutzt:

In Inventor werden Stile bzw. Stilbibliotheken zur Formatierung von Objekten benutzt: 11. Stile und Stilbibliotheken In Inventor werden Stile bzw. Stilbibliotheken zur Formatierung von Objekten benutzt: In einem Stil werden mehrere Eigenschaften bzw. Parameter zusammengefasst, die für einen

Mehr

GPU Programmierung. Thorsten Grosch

GPU Programmierung. Thorsten Grosch Thorsten Grosch Willkommen zur ersten Vorlesung! g Heute Organisatorisches Vorstellung von Team und Vorlesung Historischer Rückblick zu GPUs 2 Das Team Vorlesung Jun.-Prof. Thorsten Grosch AG Computervisualistik

Mehr

Computergrafik 1. 2D Rendering

Computergrafik 1. 2D Rendering Computergrafik 2D Rendering Hearn/Baker 32., 3.4-3.6,5. 5.8, 6. 6.8, 6. Based on material b Werner Purgathofer, Gerhard Reitmar and Dieter Schmalstieg 2D Racasting Inhalt Einfaches Rendering Model 2D Transformationen

Mehr

Vektoren, Vektorräume

Vektoren, Vektorräume Vektoren, Vektorräume Roman Wienands Sommersemester 2010 Mathematisches Institut der Universität zu Köln Roman Wienands (Universität zu Köln) Mathematik II für Studierende der Chemie Sommersemester 2010

Mehr

Heute. Motivation. Verfügbarkeit. Programmierbare Hardware-Shader. Technische Entwicklung von Grafikhardware. Grafikpipeline (DirectX9)

Heute. Motivation. Verfügbarkeit. Programmierbare Hardware-Shader. Technische Entwicklung von Grafikhardware. Grafikpipeline (DirectX9) t.jung@fhtw-berlin.de Heute Programmierbare Hardware-Shader Thomas Jung Architektur moderner Grafikkarten Rendering von Polygonlisten mit DirectX9 Vertex- und Pixel(Fragment) shader Motivation Spiele kommen

Mehr

Kapitel 3: Geometrische Transformationen

Kapitel 3: Geometrische Transformationen [ Computeranimation ] Kapitel 3: Geometrische Transformationen Prof. Dr. Stefan M. Grünvogel stefan.gruenvogel@fh-koeln.de Institut für Medien- und Phototechnik Fachhochschule Köln 3. Geometrische Transformationen

Mehr

Friedrich Hoermann 12.06.08 Hauptseminar Grafikprogrammierung. Grundlagen und Aufbau einer Grafikkarte

Friedrich Hoermann 12.06.08 Hauptseminar Grafikprogrammierung. Grundlagen und Aufbau einer Grafikkarte Friedrich Hoermann 12.06.08 Hauptseminar Grafikprogrammierung Grundlagen und Aufbau einer Grafikkarte Seite 2 Inhalt - Einleitung - Geschichte - Aufbau der Grafikkarte - Die Grafikpipeline - Ausblick Seite

Mehr

Automatisch-generierte Texturen aus Laserpunktwolken

Automatisch-generierte Texturen aus Laserpunktwolken Automatisch-generierte Texturen aus Laserpunktwolken Sharon Friedrich, Maik Häsner Ruprecht-Karls-Universität Heidelberg Interdisziplinäres Zentrum für wissenschaftliches Rechnen (IWR) Softwarepraktikum

Mehr

3 GRAFIKEN, BILDER, ZEICHNUNGSOBJEKTE

3 GRAFIKEN, BILDER, ZEICHNUNGSOBJEKTE 3 GRAFIKEN, BILDER, ZEICHNUNGSOBJEKTE Grafiken, Bilder und Zeichnungsobjekte können in einer Präsentation mehrere Funktionen haben: Sie können eine Präsentation anschaulicher machen, können das Vorgeführte

Mehr

Inhaltsverzeichnis. V Vorwort 17. V.1 An wen richtet sich dieses Buch? 18. V.2 Ansprüche an den Computer 18. V.4 Bildergalerie 19.

Inhaltsverzeichnis. V Vorwort 17. V.1 An wen richtet sich dieses Buch? 18. V.2 Ansprüche an den Computer 18. V.4 Bildergalerie 19. V Vorwort 17 V.1 An wen richtet sich dieses Buch? 18 V.2 Ansprüche an den Computer 18 V.3 Website 19 V.4 Bildergalerie 19 V.5 Über den Autor 20 1 Einführung 21 1.1 Installation 21 1.2 Projekttypen 22 1.3

Mehr

Koordinaten, Transformationen und Roboter

Koordinaten, Transformationen und Roboter Koordinaten, Transformationen und Roboter Dipl.-Inform. Wolfgang Globke Institut für Algebra und Geometrie Arbeitsgruppe Differentialgeometrie Universität Karlsruhe 1 / 48 Einleitung Seit Anbeginn der

Mehr

3D Rasterization. Unifying Rasterization and Ray Casting. Simon Christoph Stein. 20 Dez 2011. Georg-August-Universität Göttingen

3D Rasterization. Unifying Rasterization and Ray Casting. Simon Christoph Stein. 20 Dez 2011. Georg-August-Universität Göttingen Unifying Rasterization and Ray Casting Georg-August-Universität Göttingen 20 Dez 2011 Inhaltsverzeichnis Traditionelle Renderverfahren Rasterung Raytracing 3D-Rasterung Algorithmus Vergleich 2D/3D-Rasterung

Mehr

Hardware-beschleunigte Textur-Extraktion für ein fotorealistisches prädiktives Display. Tim Burkert

Hardware-beschleunigte Textur-Extraktion für ein fotorealistisches prädiktives Display. Tim Burkert Hardware-beschleunigte Textur-Extraktion für ein fotorealistisches prädiktives Display Tim Burkert Lehrstuhl für Realzeit-Computersysteme Hardware-beschleunigte Textur-Extraktion für ein fotorealistisches

Mehr

1 Transformationen. 1.1 Transformationsmatrizen. Seite 1

1 Transformationen. 1.1 Transformationsmatrizen. Seite 1 Seite 1 1 Transformationen 1.1 Transformationsmatrizen In den folgenden Teilaufgaben sind die Koeffizienten von 4 4 Transformationsmatrizen zur Repräsentation von affinen Abbildungen im R 3 zu bestimmen.

Mehr

3D rendering. Introduction and interesting algorithms. PHP Usergroup Dortmund, Dortmund, 2006-12-14. Kore Nordmann <kore@php.net>

3D rendering. Introduction and interesting algorithms. PHP Usergroup Dortmund, Dortmund, 2006-12-14. Kore Nordmann <kore@php.net> 3D rendering Introduction and interesting algorithms PHP Usergroup Dortmund, Dortmund, 2006-12-14 Kore Nordmann Speaker Kore Nordmann Studies computer science at the University Dortmund

Mehr

Anwendertreffen 20./21. Juni

Anwendertreffen 20./21. Juni Forum cadwork 3D Viewer Der cadwork 3D Viewer ist ein Programm mit dem Sie einfache Präsentationen und Bilder Ihrer Projekte erstellen können. Auch kleinere Animationen und Filme können mit ihm erstellt

Mehr