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)