News

Jun 17, 2017: Haptic and hand tracking demos at the Open Campus 2017.

Feb-Apr 2017: David Vilela (Mechanical Engineering Laboratory, University of Coruna, Spain) visited our lab. He is working on benchmarks to compare different intersection calculation methods in collisions, and also different force models.

Feb 2017: G. Zachmann and J. Teuber visited the Mahidol University in Bangkok, Thailand as part of a delegation from the University of Bremen. The goal of the visit was to foster the cooperation between the two universities and lay ground-work for future colaborations.

Jun 2016: Radio Bremen visited our lab to film the works of the Creative Unit "Intra-Operative Information" for a news magazine on the local TV station. Click here for the film at Radio Bremen. And Click here for the same film on our Website.

May 16, 2016: Patrick Lange was honored with the SIGSIM Best PhD Award at the ACM SIGSIM PADS Conference 2016.

Jun 19-21, 2015: G. Zachmann gives invited talk at the DAAD-Stipendiatentreffen in Bremen, Germany.

Jun 2015: Haptic and hand tracking demos at the Open Campus 2015.

Dec 08-10, 2014: ICAT-EGVE 2014 and EuroVR 2014 conferences at the University of Bremen organized by G. Zachmann.

Sep 25-26, 2014: GI VR/AR 2014 conference at the University of Bremen organized by G. Zachmann.

Sep 24-25, 2014: VRIPHYS 2014 conference at the University of Bremen organized by G. Zachmann .

Feb 4, 2014: G. Zachmann gives invited talk on Interaction Metaphors for Collaborative 3D Environments at Learntec.

Jan 2014: G. Zachmann got invited to be a Member of the Review Panel in the Human Brain Project for the Competitive Call for additional project partners

Nov 2013: Invited Talk at the "Cheffrühstück 2013"

Oct 2013: Dissertation of Rene Weller published in the Springer Series on Touch and Haptic Systems.

Jun 2013: G. Zachmann participated in the Dagstuhl Seminar Virtual Realities (13241)

Jun 2013: Haptic and hand tracking demos at the Open Campus 2013.

Jun 2013: Invited talk at Symposium für Virtualität und Interaktion 2013 in Heidelberg by Rene Weller.

Apr 2013: Rene Weller was honored with the EuroHaptics Ph.D Award at the IEEE World Haptics Conference 2013.

Jan 2013: Talk at the graduation ceremony of the University of Bremen by Rene Weller.

Oct 2012: Invited Talk by G. Zachmann at the DLR VROOS Workshop Servicing im Weltraum -- Interaktive VR-Technologien zum On-Orbit Servicing in Oberpfaffenhofen, Munich, Germany.

Oct 2012: Daniel Mohr earned his doctorate in the field of vision-based pose estimation.

Sept 2012: G. Zachmann: Keynote Talk at ICEC 2012, 11th International Conference on Entertainment Computing.

Sep 2012: "Best Paper Award" at GI VR/AR Workshop in Düsseldorf.

Sep 2012: Rene Weller earned his doctorate in the field of collision detection.

Aug 2012: GI-VRAR-Calendar 2013 is available!

Computergraphik 1 - WS 12/13

Diese Vorlesung soll eine Einführung in die theoretischen und methodischen Grundlagen der Computergraphik geben, als auch die Grundlagen für die praktische Implementierung von computergraphischen Systemen legen.

Der Schwerpunkt liegt auf Algorithmen und Konzepten zur Repräsentation und Visualisierung von polygonalen, 3-dimensionalen graphischen Szenen. Die Übungsaufgaben werden teils theoretisch, teils praktisch sein, wobei die praktischen Aufgaben gewisse Programmierfähigkeiten in C++ verlangen. (Zu Beginn der Vorlesung wird deshalb nochmals ein kurzer "Refresh" Ihrer C/C++-Kenntnisse gemacht.) Ich empfehle den Besuch des "Propädeutikums C/C++" vor der Computergraphik-Vorlesung. Die theoretischen Aufgaben setzen teilweise einfache Matrix-Vektor-Rechnung voraus.

Bemerkung: in der Vorlesung wird nicht die Modellierung & Animation mit Hilfe von Animationssoftware (z.B. Blender, Maya, Cinema4D, etc.) behandelt!

Aus dem Inhalt:

  1. Mathematische Grundlagen
  2. OpenGL and C++
  3. 2D Algorithmen der Computergraphik (Scan Conversion, Visibility Computations, etc.)
  4. Theorie der Farben, Farbräume (hauptsächlich physikalische, neurologische, und technische Aspekte)
  5. 3D Algorithmen der Computergraphik (Rendering Pipeline, Transformationen, Beleuchtung, etc.)
  6. Techniken zum Echtzeit-Rendering
  7. Shader
  8. Texturierung

Aktuelles

Prüfungstermine: 7.2. und 8.4. 2013

Folien

Die folgende Tabelle wird die behandelten Themen und die dazugehörigen Folien enthalten.

Woche Thema Folien Übungs-
aufgaben
Frameworks
1. Orga, Intro, Geschichte, Displays, Gammakorrektur PDF1 PDF2 Blatt 1 OpenGL-"Hello World"
"Sphere-Flake"
2. Mathe Wdhg. (Flächeninhalte, Spatprodukt, Volumeninhalte, geometrische Prädikate, lineare Interpolation);
Wiederholung bzw. Einführung in C++
PDF1 PDF2 Blatt 2 cpp_Framework
3. Einführung in OpenGL;
Übersicht über die Pipeline;
Scanline-Konvertierung von Linien und Kreisen
PDF PDF PDF Blatt 3 Tetraflakes
4. Baryzentrische Koordinaten (affine Koombination, affine Abbildungen, konvexe Hülle, baryzentrische Koordinaten im Dreieck, baryzentrische Interpolation);
Polygon Scan Cnversion (Triangulation, Art Gallery Theorem, ein Triangulations-Algorithmus, Rasterisierung von Dreiecken, Algorithmus von Pineda, Pixel Planes, Odd-Even-Rule, Winding-Number-Rule)
PDF1 PDF2 Blatt 4 Pineda
5. Visibility Computations: Painter's Algorithm, Z-Buffer, Depth-of-Field, Depth Complexity & Overdraw, Hierarchischer Z-Buffer, Object-Space & Image-Space-Algorithmen, BSP-Tree, Warnock's Algorithmus & Quadtree, Double Buffering, Quad-Buffers, Stencil Buffer, Rendering planarer Spiegelungen, Rendering von Schatten mittels Shadow Volumes PDF Blatt 5 Transparent_with_BSP
6. Clipping: Problemstellung, Motivation für Clipping vor der Projektion
Wiederholung Matrix-Rechnung (Matrizen, Operationen darauf, Rechengesetze, Inverse, 3x3-Determinante, Spur)
Transformationen: Koordinatensysteme, homogene Koordinaten, Translation, Rotation, Skalierung, Scherung, Spiegelung, Concatenation, Euler-Winkel, Gimbal Lock, Rotation um beliebige Achse, Basiswechsel, Zerlegung einer Rotationsmatrix
PDF1 PDF2 Blatt 6 Billard
7. Quaternionen, Darstellung von Rotationen mittels Quaternionen, Interpolation von Quaternionen, starre Transformationen, Klassifikation aller Transformationen, Transformationen in OpenGL, relative Transformationen, Objekthierarchien, Matrix-Stack in OpenGL.
Projektionen & Perspektive, Kamera-Transformation.
Farben 1: Licht, Chromatizität, Reflectance spectrum, das Auge, Human Spectral Sensitivity.
PDF1 PDF2 PDF3 - -
8. Farben 2: wahrgenommener Stimulus, Metamere, Linearkombination und Gleichheit von Lichtquellen, Definition des Begriffes "Farbe", Grassmann'sche Experimente, Farb-Basiswechsel, CIEXYZ-Farbraum, Chromatizitätsdiagramm, Gegenfarbenmodell, Farbmodelle (RGB, CMY, HSV, Interpolation von Farben, Abstand zwischen Farben, uniforme Farbräume, Gamut.
Lighting 1: Lichtquellen, diffuse Reflexion, spiegelnde Reflexion, Phong-Beleuchtungsmodell, Blinn-Phong-Modell.
PDF1 PDF2 Blatt 7
8. Lighting & Shading 2: BRDF's, Lafortune-Modell, Gouraud-Shading.
Shader Programming: fixed-function pipeline, programmable pipeline, Einführung in GLSL, Per-Pixel-Lighting, Depth-of-Field-Effekt.
PDF1 PDF2 Blatt 8 Planetenbillard
9. Texturierung: Übersicht, diskrete & prozedurale Texturen, Formalisierung, Texturkoordinaten (stückweise lineare Parametrisierung), Texturkoordinaten-Interpolation (nur linear), Modulation der Beleuchtung durch Texturen, gloss map, alpha map, bump mapping, normal maps, Textur-Interpolation, MIP-Maps, einfache 2-stufige Parametrisierung. PDF

Literatur

Folgende Literatur eignet sich als begleitende Literatur:

Falls Sie sich diese Bücher anschaffen möchten sollten Sie vielleicht überlegen, gebrauchte Exemplare zu erwerben -- oft gibt es diese zu einem Bruchteil des Neupreises. Zwei gute Internetadressen sind Abebooks und BookButler.

Noten aus den Fachgesprächen

Matrikelnummer: 2615879 Note: 2.3
Matrikelnummer: 2718887 Note: 1.0
Matrikelnummer: 2615596 Note: 3.0
Matrikelnummer: 2616280 Note: 1.0
Matrikelnummer: 30754 Note: 2.0
Matrikelnummer: 2718541 Note: 3.3
Matrikelnummer: 2616228 Note: 3.0
Matrikelnummer: 2616191 Note: 2.7
Matrikelnummer: 2470213 Note: 2.3
Matrikelnummer: 2555380 Note: 1.7
Matrikelnummer: 2616207 Note: 1.3
Matrikelnummer: 2565870 Note: 2.3
Matrikelnummer: 2553320 Note: 1.7
Matrikelnummer: 2616254 Note: 1.3
Matrikelnummer: 2475447 Note: 1.0
Matrikelnummer: 2615727 Note: 1.0
Matrikelnummer: 2616689 Note: 2.7
Matrikelnummer: 2385123 Note: 3.0
Matrikelnummer: 2718625 Note: 3.3
Matrikelnummer: 2616390 Note: 2.3
Matrikelnummer: 2473787 Note: 1.3
Matrikelnummer: 2283723 Note: 2.7
Matrikelnummer: 2616233 Note: 1.0
Matrikelnummer: 2480310 Note: 1.3
Matrikelnummer: 2616982 Note: 1.7
Matrikelnummer: 2616186 Note: 1.0
Matrikelnummer: 2469962 Note: 2.0

Übungsbetrieb

Die Übungsblätter werden jeweils am Montag Abend auf der Homepage der VL (also hier) ins Netz gestellt.

Die Abgabe der Lösungen ist jeweils am Montag bzw. Dienmstag eine Woche später direkt in der Vorlesung bzw. in der Übung. Theoretische Aufgaben werden schriftlich abgeliefert, praktische Aufgaben werden in der Übung am Rechner vorgeführt.

Hinweise und Downloads zur Bearbeitung der Übungsblätter

Zum Shader-Übungsblatt

Die in der Vorlesung demonstrierten GLSL-Shader finden Sie in diesem Archiv. Sie enthalten den Source-Code und teilweise Mac-Executables. (Es sind auch noch einige fortgeschrittenere Shader dabei, für diejenigen, die Geschmack an der Sache gefunden haben.)

Den im Übungsblatt und in der Vorlesung erwähnten Shader Maker finden Sie hier.

Online Literatur und Links zum Programmieren in C/C++ und in OpenGL

Online Literatur und Resources zu Computergraphik

Change Monitoring:

 by ChangeDetection (it's free and it's private).

If you enter your email adress in the box above and then press the "Monitor" button, then ChangeDetection will send you an email whenever I make changes to this page.

Gabriel Zachmann
Last modified: Tue May 07 12:37:53 MDT 2013