GraphicsUniversiteit Utrecht  Information and Computing Sciencesacademic year 2014/15 – 4th period 


Navigation 


News 
Recent news July 10:
July 4:
June 26:
June 25:
June 23:

Course Overview 
Course: "Graphics" is an introductory lecture about computer graphics. Computer graphics deals with the algorithmic processing of visual (images) and spatial (geometry) data. The lecture will focus on the very basics of modeling and rendering, i.e., the mathematical description of threedimensional scenes and how to create (realistic) images of such models. This is the core area of computer graphics. Math: The course will start with a short coverage of the mathematical basics needed for computer graphics. This part will introduce fundamental concepts of linear algebra and other areas of higher mathematics that are important far beyond the field of graphics. Foundations of computer graphics: Next, we discuss the foundations of computer graphics, such as transformations and projection of 3D models, hidden surface removal, triangle rasterization, shading, texture mapping, shadows, and ray tracing. Finally, we will also look briefly into more advanced topics in physicallybased global illumination (more details are discussed in the master course "Advanced Graphics"). The lecture will be given in English. 
Lecture 
Lecturer: Jacco Bikker (j.bikker@uu.nl) Teaching Assistants:
Lecture:
Theory Tutorials: Thu 15h17h (after the lecture, three parallel slots)
Practicals tutorial/consultation hours Practical tutorials are offered before the lectures on Tuesdays.
Practical tutorials start on Tue Apr 28 (second week of the course).

Topics 



The list is intended to give a rough orientation; topics might still be subject to change, and additional aspects might be covered. 
Lecture Slides & Recommended Readings 
Below is a list of all lectures
with a very brief summary of the topics, slides downloads,
and recommended readings to prepare for the lecture. 












Final Exam Tue, June 23 
Final Exam: Tue June 23 2015, 08:3010:30. 
Retake Exam Thu, July 09 
Retake Exam: Thu July 09 2015, 13:3016:30. 
Course Schedule 

Period 4 Schedule

Tutorials 
Overview The lectures are accompanied by tutorials (werkcolleges).
Tutorial Sessions
Assignment Sheets / Downloads Tutorial
1  math recap, vectors (and: solutions) 
Practicals 
PRACTICAL ASSIGNMENTS There will be three practical assignments, covering traditional rasterization algorithms, shaders and ray tracing. The first assignment will be online on Tuesday, April 21. We recommend that you start working on it right away. Practicals tutorial/consultation hours On Tuesdays, teaching assistants will be present in
various rooms to help you if you have questions. These
practical tutorials are offered before the lectures on
Tuesdays.
Remarks:
Important Rules Because of the large group of students taking this lecture, we need strict rules to keep everything manageable. The most important rules are listed below. Further explanations might be given during the lecture.
Soft / Hardware and Infrastructure:
Forum: There is an online discussion forum where the TAs and lecturer answer your questions (this is a besteffort offer; no guarantees; in particular, close to deadlines): Assignments: Assignment P1: XNA
Tutorial




The first assignment is a tutorial gives you a walkthrough of the XNA framework that we'll be using. It will also introduce some of the basics of graphics programming. It is based on an online tutorial written by Riemer Grootjans (see here for Riemer's 3D Series 1: Terrain tutorial). If you do not feel challenged enough from this course and want to learn more, you might want to check out his other tutorials as well. Because we needed to make some adaptations to the tutorial to fit the needs of the course and local restrictions, it is password protected. You get the password in the first lecture (or you can ask your friendly TA about it). Downloads:
Deadline(s):
The goal of the second practical
assignment is for you to learn basic shader programming. Downloads: Deadline(s):
In this final assignment, you
will do more advanced shader programming. This assignment
will feature various tasks of different levels of
difficulty: Easy, Medium and Hard. There are 6 easy, 6
medium and 5 hard tasks. You will be able to compose your
assignment by choosing from these tasks. As preliminary
knowledge we expect you to have completed the two previous
assignments, and understand the workings and purpose of
the things you implemented. Downloads:
Deadline(s):

Exam & Grading 
GRADING Programming assignments: There will be three programming assignments throughout the semester. The final grading P for your programming assignments makes up 1/3 of your overall grade for this course. P must be at least 5.0 (before rounding) to pass the course. Exams: There will be a midterm exam T1
and a final exam T2. The final grading T for your exams
makes up 2/3 of your overall grade for this course. It is
calculated as follows: T = 0.5*T1 + 0.5*T2. T must be at
least 5.0 (before rounding) to pass the course. Final grade: If both T (= the grade for
the written exams) and P (= the programming grade) are at
least 5.0, the final grade for the course is (2T + P) / 3.
Your final grade must be at least 6 (after rounding) to
pass the course. RETAKES AND REQUIREMENTS Retake (exams): If you handed in all programming assignments, took part in both written exams, and your final grade for the course is at least 4.0 (before rounding), you are entitled to participate in the retake exam T3. This exam will cover all lectures and tutorials. The result from your retake exam T3 will replace the lower one of your original scores, i.e. either T1 or T2 if and only if it improves your final grade. Criteria for passing stay the same as indicated above (i.e. T must be at least 5.0 before rounding, and your final grade must be at least 6 after rounding). Notice that if you passed the course, you are allowed to participate in the retake exams if you want to improve your grade. In that case, please send a short email note to the lecturer about it, so we know how many exams we have to print. Retake (practicals): If and only if you failed the course due to the practicals, handed in all programming assignments, took part in both written exams, and your final grade for the course is at least 4.0 (before rounding), you are entitled to participate in the retakes for the practicals. There will be one retake assignment that can replace either P1, P2, or P3 if it improves your final grade. The topic for the retake assignment is decided individually. To get your assignment and related deadlines, contact the instructor on or before Monday, July 14. Unfortunately, there is no retake option for the practicals if you passed the course or if your grade P for the practicals is >5.0. Exceptions: No rules without exceptions. If you did not participate in either the midterm or the final exam for a good reason and informed us about this before the exam you can take the retake of the exam you missed. In all other cases, it is up to us to decide if we make an exception or not. That is, if you do not match the requirements specified above (e.g. your final grade was just 3.8) but you demonstrated significant effort and feel confident that you can pass this course by participating in the retake, we might make an exception based on your reasons and overall performance. Please be aware, that your chances to get such an exception increase, the earlier you contact us. Results To be released.

Literature & Links 
Textbook:
Additional resources for the practicals: Resources that might be helpful, especially for programming assignment 2 and 3:
Web references:

News Archive 
Old posts June 18:
June 16:
June 12:
June 11:
June 10:
June 9:
June 4:
June 2:
May 29:
May 19:
May 18:
May 15:
May 12:
May 6: May 4:
April 30:
April 28:
April 23:
April 21:
April 13:
