TERM 1, 2008/2009INFOGR: Graphics Tuesdays, 11-13h, & Thursdays, 15-17h, AARD-Klein In two programming assignments, you will implement a ray tracer that can render spheres and triangles, does diffuse and glossy shading, has global illumination capabilities, includes vector and matrix algebra, deals with material properties, and does several kinds of texture mapping. The overall goal is to get your hands dirty in order to optain a deeper understanding of the techniques discussed in the lectures and in the textbook. Home · Schedule · Lecture · Tutorials · Practicals · Exams & grading |
|
|
|
SUBMISSION
The assignments must be submitted through our submit system. Do not send your submission by email to the instructor! Detailed submission instructions can be found at the bottom of the pages for the individual assignments. Late submission is not possible: from 18:00h on the days of the deadlines, the submit system refuses to accept any files. Requests for extension of the deadline will generally not be granted. Crashed hard disks at home, sick cats, exams for other courses, having started too late: it's all your own responsibility. Plan your work so that you finish on time, and make frequent backups to prepare for any kind of disasters. |
|
|
PREREQUISITES
The programming assignments are done in Java, which is installed on the lab machines in BBL. If you want to work at home, you need to have the Java 2 platform (Java SE) installed on your computer. It can be downloaded from java.sun.com. Be sure to select the Software Development Kit (JDK 5.0). If you want the same integrated development environment at home as is installed at the ICS, then download and install Eclipse. You don't have to work under MS Windows. Java tools for other operating systems are available as well. Apart from Sun's Java, for instance, gcc (or rather, gcj) translates Java code into C, and compiles the C code into an executable. This should run faster than interpreted byte code in the Java Runtime Environment. However, make sure that your code compiles and runs on the Windows machines in BBL before you submit. |
|
|
COOPERATION
Both programming assignments must be done in groups of two students. If you can't find a programming partner to work with, contact the TAs. They will forward your name to other students who are also still looking for a team mate. Submitting alone is generally not allowed, unless
|
|
|
GRADING
If you implement everything that is required decently, you will get a maximum grade of 8.0. If you show initiative, and make some nice additions to your ray tracer, you may get up to two points extra credits, provided that your program meets the standard requirement fairly well. This somewhat uncommon grading rule serves to remind you that in a university, it's partially up to the students to decide what they want to learn. Both programming assignments count for 50% for the total programming grade: P = P1 + P2. P must be at least 5.0 to pass the course. If you failed the programming assigments, you may do an additional assignment P3, provided that you handed in both programming assignments, took part in both written exams, and your final grade for the course is at least 4.0. The grade of the additional assignment P3 replaces the lower of the two grades P1 and P2. The final grade for the course is (2T + P) / 3, where T is the grade for the written tests. |
|
|
CREDITS
Many thanks to Thomas van Dijk who provided the original ray tracer code and lots of useful input for these assignments. |
| (c) Wolfgang Hürst |
TERM 1, 2008/2009