Computer Graphics I (Generative Computer Graphics) – WiSe 2012/13

0433 L 310
Instructors: Prof. Dr. Marc Alexa
Contact Olivier Rouiller
Course structure: Integrierte Veranstaltung (IV) – 4 SWS
Room: HL 001
Date: Thursdays 14:00 – 18:00Start : 18.10.2012 End : 12.02.2013
Description: Introduction to Computer Graphics, especially rendering pipeline on modern graphics cards. Examples and exercises use OpenGL as graphics interface. Furthermore global illumination computation.
Requirements: - programming knowledge
- algorithms and data structures
- linear algebra and analysis
Details: - I/O devices
- rasterization
- visibility
- color
- local illumination computation
- global illumination computation
- textures
Registration: Please register for the course until October 18th by sending an eMail mentioning the course title, your name, student id and degree program to Olivier Rouiller.

Ray Tracing Results

dragon_refr_aabunny_refl_aa_noclamp75Light2x

Lectures

Lecture1 – 3D Data Input (.mov) (.mp4)

Lecture2 – Transformations and Scene Representation (part1.mov)(part1.mp4) (part2.mov)(part2.mp4)

Lecture3 – Rotations (.mov) (.mp4)

Links

Graphics and OpenGL

- GLM – Nice small C++ library for OpenGL math
- ComputerGraphics Skript
- Computer Graphics Lecture Notes (D. Fleet, A. Hertzmann)
- Quaternions http://www.geometrictools.com/Documentation/Quaternions.pdf
- NeHe OpenGL tutorials – http://nehe.gamedev.net
- Nate Robins’ OpenGL tutorials – www.xmission.com/~nate/tutors.html
- OpenGL Red Book – http://www.glprogramming.com/red/
- OpenGL.org – http://www.opengl.org
- GLUT http://www.xmission.com/~nate/glut.html for win32
- MIT Open Courseware – CG
- DevMaster.net BSP tutorial – http://www.devmaster.net/articles/bsp-trees/
- BSP tree FAQ – http://www.gamedev.net/reference/articles/article657.asp
- http://www.cs.brown.edu/exploratory/
- www.cg.tu-berlin.de/fileadmin/fg144/Courses/08WS/ComputerGraphics1/derose92threedimensional.pdf

C++ Links and Books

- http://www.boost.org/ c++ library
- http://evil-software.com/dev/main.cpp (Vielen Dank an Ruben Gerlach)
- Scott Meyers: effective c++ (Anfänger)
- Scott Meyers: More effective c++ (Anfänger)
- David Vandevoorde: c++ Templates, (Fortgeschrittene)
- Andrei Alexandrescu: Modern c++ design, (Fortgeschrittene)