Computergrafik 1

 

Prof. Dr. Stefan Müller

Inhalte - ZielgruppePrüfung - Themenübersicht - ProgrammierumgebungÜbungsgruppen - Literatur

Inhalte

Im Rahmen dieser Vorlesung werden die Grundlagen der Computergrafik vermittelt. Hierzu gehört vor allem die Bildgenerierung aus 2D- und 3D-Datensätzen mit den relevanten Datenstrukturen, Methoden und Algorithmen. Einen wichtigen Schwerpunkt bildet dabei das Programmieren von graphischen Systemen, wobei im Rahmen dieser Vorlesung auf praktische Beispiele mit OpenGL in C/C++ zurückgegriffen wird. 

Zielgruppe

Alle Studierende des Bachelor-Studiums Computervisualistik, die Mathematik A und B bestanden haben.

Prüfung

Im Rahmen der Veranstaltung werden zwei Prüfungen angeboten:

  1. Eine CG-Klausur, in der die theoretischen Inhalte der Vorlesung geprüft werden.
  2. Eine CV-Programmierklausur, in der praktische Kenntisse im Rahmen der Veranstaltungen Computergrafik 1 und Bildverarbeitung 1 gemeinsam an einem PC geprüft werden. Die Teilnahme an dieser Klausur ist nur für Studierende des Studiengangs Computervisualistik verpflichtend.

Zeiten, Daten und Räume zu den Klausuren werden später bekannt gegeben.

Themenübersicht

  • Mathematische Grundlagen der Computergrafik
  • Grundlagen und Algorithmen der Rasterisierung
  • Antialiasing, Clipping und Scan-Konvertierung
  • 3D Transformationen
  • Kameratransformation und Kamerasteuerung
  • Orthographische und perspektivische Transformation
  • Grafik-Pipeline von OpenGL
  • Licht, Materialien und Beleuchtung
  • Texturen
  • Parametrische Kurven, Bézier-Kurven und Splines
  • Ray-Tracing

Folien

Die Folien zur Vorlesung finden sich hier.

Programmierumgebung

Folgende Software wird zur Bearbeitung der Programmieraufgaben benötigt. Dabei wird hier exemplarisch davon ausgegangen, dass Eclipse auf einer Windows Umgebung installiert wird. Für andere Entwicklungsumgebungen oder andere Betriebsysteme müssen gegebenenfalls andere Schritte durchgeführt werden. Anleitungen zu anderen Entwicklungsumgebungen folgen später.

Unter dieser Adresse befindet sich eine Video Anleitung von dem WS14/15, in der Schritt für Schritt der Aufbau der Entwicklungsumgebung unter Windows dargestellt und beschrieben ist.

SoftwareBeschreibung
SVN

Zum Herunterladen des Frameworks der Veranstaltung folgende Schritte durchführen:

  1. SVN Client installieren
  2. Diesen Link mit SVN Update herunterladen
MinGW

Zum Kompilieren von C++ Programmen auf einer Windows Umgebung folgende Schritte durchführen:

  1. Installieren der Software in den Ordner "C:\MinGW\"
  2. Der Ordner "C:\MinGW\bin\" muss in der Path Variable gesetzt werden, damit der Compiler gefunden wird. Die Path Variable findet man unter "Systemeinstellungen -> System -> erweiterte Systemeinstellungen -> Umgebungsvariablen". Nähere Informationen unter diesem Link.
  3. (Kopieren der Datei "glfw3.dll" dank statischer Verlinkung nicht länger notwendig.)
Eclipse CDT

Eclipse herunterladen und installieren. Zum Test ein neues C++ Projekt mit "Hello World" erzeugen (dabei unbedingt den MinGW Compiler auswählen). Wenn in der Kommandozeile "Hello World" zu sehen ist, dann funktioniert MinGW als Compiler mit Eclipse.

CMake

Zum Aufsetzen des Frameworks folgende Schritte durchführen:

  1. CMake installieren
  2. Neu: Wird Windows verwendet, dann müssen die Dependancies erst von hier heruntergeladen und entpackt werden. Sie können in einen beliebigen Ordner auf der Festplatte positioniert werden, wichtig ist nur, dass im Anschluss die im Ordner enthaltene "SetEnvironment.bat" ausgeführt wird.
  3. Die setup.bat Datei aus dem mit SVN heruntergeladenen Ordner des Frameworks ausführen und die gewünschte Umgebung auswählen (für Eclipse die Taste "1" drücken).
  4. Anschließend kann man in Eclipse den Projektordner (zum Beispiel: "\cvws1617\framework\CG_demos\BUILD_Eclipse\") importieren (über Import -> General -> Existing Projects...).
  5. In Eclipse unter "Make Targets" das Target "all" builden und zum Test die erste Demo ausführen. Erscheint ein rotes Dreieck, hat alles funktioniert und die Umgebung ist bereit.

 

      Übungsgruppen

      Im Rahmen der Veranstaltung werden Übungsgruppen von 2-3 Personen gebildet. Anmelden zu einer Übungsgruppe kann man sich hier.

      Übungsmaterialien

      Die Übungsblätter  und Übungsfolien finden sich hier. Die Abgabe der Übungsblätter erfolgt über SVN. Die Lösungen der Theorie sind als PDF in den Ordner solutions zu legen.

      Literatur

      • Peter Shirley:
        Fundamentals of Computer Graphics
        AK Peters 2005, 2. Auflage
      • Mason Woo, Jackie Neider, Tom Davis, Dave Shreiner:
        OpenGL(R) Programming Guide: The Official Guide to Learning OpenGL
        Addisson-Wesley, 5. Auflage, 2005
        Online-Version einer älteren Ausgabe.
      • J. Foley, A. van Dam, S. Feiner, J. Hughes:
        Computer Graphics: Principles and Practice (2nd edition)
      • Alan Watt:
        3D Computer Graphics (3rd edition)
      • Michael Bender, Manfred Brill:
        Computergrafik
        Hanser Verlag, 2003
      • Klaus Zeppenfeld:
        Lehrbuch der Grafikprogrammierung
        Spektrum Akademischer Verlag, 2004