Graphics Programming and Applications 

Show lecture details »

Description

In GraPA, you will learn how to handle and solve practical problems of computer graphics.
This time, the course consists of two parts that focus on each of the two mayor rendering techniques: Simulating the physical light transport with Raytracing and producing fast game graphics with Rasterisation. You will learn about major concepts and problems in both areas, and be given hints how to solve them on your own. For each part you will have to work on two assignments, one that deals with basic problems and one that is dedicated to advanced topics. Furthermore, there will be a fifth "free-style" task where you have to design your own assignment and work on it. All assignments have to be handled in teams of two people!

The course is based on two preceeding GraPA courses, GraPA: Game and GraPA: Ray. You may want to have a look at the corresponding homepages to get a first rough idea about the content of this course.

The tasks

There will be five major tasks to work on. Depending on each task, you will also have some room for own ideas to customize your implementation.

    • Ray: Understanding of PBRT, modeling the original Cornell box, intersection tests
    • Ray: Metallic car paint BRDF implementation
    • Game: Understanding of game engine, meshes, materials, terrain rendering
    • Game: Vegetation, shadows, water rendering
    • Freestyle: Own assignment!

 

1. Basic raytracing Original Cornell Box Some random Tori ;)
2. Advanced raytracing Metallic CarPaint on a Dodge Metallic CarPaint on some simple geometry
3. Basic game programming grapa_ss08c.jpg grapa_ss08b.jpg
4. Advanced game programming grapa_ss08d.jpg grapa_ss08a.jpg
5. Freestyle
(Matthäus Chajdas und Michael Zollhöfer)
Clouds Shadows
5. Freestyle
(Manuel Müller und Florin Schwappach)
Custom Game Menu Staircase Game
5. Freestyle
(Matthias Nießner und Vincent Christlein)
Armageddon Smoking Chimney
5. Freestyle
(Martin Kraus und Christian Schmidt)
Particle System Deferred Shading

 

Points / Grading

With each task the amount of points you can achieve is constant. However, you sometimes have to bring in some of your own ideas: The basic tasks (1+3) set all of your goals (fixed points) while the advanced tasks give your some room for own extensions. Finally, the last assignment requires you to specify your own topics and how to solve them. The problems you set for yourself in each assignment will be checked by the tutors so that they are within the scope of the main task and allow for a reasonable amount of complexity. The following table shows the distribution of fixed and free points:

Task Fixed Points Free Points
1 20 0
2 15 5
3 20 0
4 15 5
5 0 20


Graded / ungraded Schein: For the ungraded Schein you need to get at least 60 out of 100 possible points. If you need a graded Schein, you additionally have to create and submit an elaboration about the tasks you worked on in your own assignment 5: You need to hand in a final paper of about three pages wherein you sum up all the tasks, details of your implementation and specific problems and solutions that you came up with. Your final grade will then be calculated from your points in the five assignments as well as from the elaboration you will have to submit in the end of the course.

The grade from your assignment points will be calculated as follows:

Grade Points
1.0
97 - 100
1.3
- 96
1.7
- 92
2.0
- 88
2.3
- 84
2.7
- 80
3.0
- 76
3.3
- 68
3.7
- 64
4.0
- 60


Independently, you will get a grade for your elaboration that you submit in the end of the course. Your final grade will be a weighted grade of
0.7 (assignments grade) + 0.3 (elaboration grade)