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) visit our Workgroup from February to April. His main work is 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 visits 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!

Advanced Computer Graphics - SS 2015

This course will introduce students to advanced and more complex methods and techniques of computer graphics. Some of the topics that were touched upon in the Bachelor course "Computer graphics" will be covered in more depth. In addition, more topics will be covered that were not touched upon in the Bachelor's course. This apporach will both broaden and deepen students knowledge about the field of computer graphics.

This course is for you, if you want to acquire ...

There are no formal prerequisites, but some degree of the following skills are desirable:

  1. A little bit of experience with C/C++ ; note that we will need just "C with classes" during this course.
  2. Knowledge of the material of the Bachelor course "Computer graphics" (if you didn't manage to attend that course, you can easily recap that material for yourself).
  3. Algorithmic thinking (and, hopefully, some pleasure when thinking about algorithms)

Some of the envisioned topics (these can change during the semester):

  1. Data structures and the theory of boundary representations (meshes);
  2. Advanced methods for texturing (more realistic ;
  3. Generalized barycentric coordinates and parameterization of meshes;
  4. Advanced shader programming (special effects);
  5. Culling techniques (real-time rendering);
  6. Ray-tracing (photo-realistic images);
  7. Alternative object representations (modeling);
  8. Anti-aliasing (improvement of quality)



The following table contains the topics and the accompanying slides (it will be filled step-by-step).

Week Topics Slides Assignments Frameworks
1. Organization;
Ray-tracing 1: principle, camera models, lighting model, secondary rays, refraction, Fresnel terms, attenuation, dispersion, intersection ray-polygon, intersection ray-triangle, ray-box, ray-sphere
Sheet 1
2. Ray-tracing 2: ray-tracing height fields, numerical robustness, distribution ray-tracing, anti-aliasing, soft shadows, glossy-matte reflection, depth-of-field, motion blur.
Exercise meeting (discussion of solutions of last week's exercise, presentation of the new assignments)
PDF Sheet 2
Raytracing Framework
3. Object representations: implicit surfaces, root finding with Laguerre's method, quadrics, metaballs, generalizations, polygonization of implicit surfaces using Marching cubes, instancing, constructive solid geometry, fractals.
Acceleration data structures 1: taxonomy, light buffer, beam and cone tracing, 3D grids, mailbox technique.
4. Lab meeting (discussion of solutions of last week's exercise, presentation of the new assignments).
Acceleration data structures 2: traversal and storage, recursive grid, hierarchical uniform grid, proximity clouds, octree, 5D ray octree, kd-trees, kd-tree traversal, construction, surface area heuristic (SAH), efficient storage of kd-trees.
PDF Sheet 3
5. Acceleration data structures 3: bounding volumes, bounding volume hierarchies, BVH traversal, construction of BVHs, median cut heuristic, plane sweep along principal axis with SAH PDF Sheet 4
ADS Framework
6. Advanced Shader Techniques 1: procedural textures in the shader, value noise for procedural textures, gradient noise PDF
7. Advanced Shader Techniques 2: refractive objects, the geometry shader, examples, rendering furry/fluffy objects with shells and fins, rendering silhouettes.
Tone Mapping: HDR imaging, image histograms, histogram stretching, histogram equalization, tone reproduction by Ward, the Weber-Fechner law, perceptually-based tone mapping, generating histograms on the GPU
PDF1 PDF2 Sheet 5 Asteroid Framework
8. Advanced texturing methods: seams, texture atlas, cube maps, polycube maps, concept of environment mapping, spherical environment mapping, cube env mapping, parallax mapping, view-dependent displacement mapping, VDM with self-shadowing PDF
9. Culling: Bottlenecks in the rendering pipeline, kinds of culling, backface culling, normal masks, clustered backface culling, hierarchical clustered backface culling, view frustum culling, hierarchical view frustum culling, occlusion culling, batched queries, naive wait-and-draw algorithm, multiqueries, coherent hierarchical culling (CHC++), portal culling, detail culling PDF Sheet 6 Brick Framework
10. Orienting meshes consistently;
Boundary Representations 1: definitions, orientability, 2-manifold, homeomorphism, OBJ file format, indexed face set, doubly-connected edge list (half-edge data structure), mesh traversals using a a DCEL, limitations of DCEL
11. Boundary Representations 2: Euler equation, Platonic solids, Euler characteristic. Striping/Stripification: concepts, NP-completeness, SGI algorithm, FTSG algorithm PDF1 PDF2
12. Generalized Barycentric Coordinates 1: definition, interpolation property, general construction scheme and properties, mean value coordinates PDF
13. Generalized Barycentric Coordinates 2: extension to non-convex polygons, applications, image warping, mesh morphing.
Parameterization: general approach, condition and proof of unique solution, concrete parameterizations.
Mesh smoothing: Laplacian smoothing, extension, global Laplacian smoothing.
14. Procedural modeling: seashells, fractal terrain modeling, terrain modelling using fault lines, L-systems (D0L, parametric, stochastic), L-system for modeling rocks.
Anti-Aliasing: artefacts from aliasing, sampling theorem, supersampling, subpixel masks by LUT, different sampling patterns (RGSS, Quinkunx, Flipquad).

You can download some of the shaders that were discussed in class, plus some some very simple ones (discussed in the Bachelor course).


The following textbooks can help review the material covered in class:

Please note that the course is not based on one single textbook! Some topics might even not be covered in any current textbook! So, I'd suggest you first look at the books in the library before purchasing a copy.

If you plan on buying one of these books, you might want to consider buying a used copy -- they can often be purchased for a fraction of the price of a new one. Two good internet used book shops are Abebooks and BookButler.

Grades and Points achieved by the Assignments

For taking part in a so-called "Fachgespräch" (mini oral exam), you need a grade from the assignments >= 4.0 . You can get this by doing the exercises (assignments). You need at least 30% in total of all points of all asignments to achieve a grade of 4.0 .

Some Additional Literature You Might Want to Read for Deeper Insights

Gabriel Zachmann
Last modified: Thu Jul 16 10:34:06 CEST 2015