Graphics

Universiteit Utrecht - Information and Computing Sciences

academic year 2013/14 – 4th period

title image title image title image

Navigation

News (Archive)

Lecture (Topics, Slides)

Tutorials

Exam & Grading

Course Overview

Schedule

Practicals

Literature & Links

News

Recent news

August 22:

  • Final update: the retake exam and practical retakes have been graded. An update of the grading sheet (listing all student IDs for which the grade has changed) can be downloaded here.
  • Please mail the lecturer () immediately if you think that something is incorrect.
  • We hope you have all enjoyed the course! If you have any feedback for the course (suggestions for improvements or things to keep), please send email to .

July 14:

  • The score sheet (password required) has been updated (July 14, 15:00h) to reflect the final grades (after all remaining unclear cases have been discussed / resolved).
  • These are the final grades (as of: after the final exam, before the retake). Please mail the lecturer () immediately if you think that something is incorrect.

Old posts

How to use this website: Any changes made to this site are posted in this "news" section. The links lead you to the updated sections of the web page (some also provide complementary direct links to newly available documents / PDFs). We will also post news for some of the important announcements that have been made during the lecture.

 

Course Overview back to navigation

bunny logo image

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 three-dimensional 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 physically-based global illumination (more details are discussed in the master course "Advanced Graphics").

The lecture will be given in English.

Lecture back to navigation

Lecturer: Michael Wand ()

Teaching Assistants:

Practicals

  • Tigran Gasparian
  • Vazgen Gasparian
  • Gina van Lent
  • Tom Rijnbeek
  • Paul Scharf
    (contact Paul if you are looking for practicals team-mates, or if your team composition changes: )

Theory (tutorials)

Lecture:

  • Tuesdays, 11:00h - 12:45h,
    Room RUPPERT-BLAUW (first week, #17)
    Room ANDRO-C101 (all other weeks, #18-#26)
  • Thursdays, 13:15h - 15:00h,
    Room ANDRO-C101 (all weeks, #17-#26)
  • 4th period (weeks #17-#21, i.e., Apr 21 2014 - July 04 2014)
  • No lectures in herkansing week (week #22, i.e., May 26 - 30)

Theory Tutorials: Thu 15h-17h (after the lecture, four parallel slots)

  • 15.15-17.00 BBL-165 Anna Aljanaki
  • 15.15-17.00 BBL-023 Coert van Gemeren
  • 15.15-17.00 BBL-079 Marcelo Rodríguez López
  • 15.15-17.00 BBL-083 Norman Jaklin
  • Theory tutorials start in the second week of the lecture (May 1st).

Practicals tutorial/consultation hours (all in Room BBL 175).

Practical tutorials are offered before and after the lecture (theory tutorials) on Tue and Thu.

  • Tue 9-11 BBL 175 (B-Slot). TAs: Gina van Lent and Tom Rijnbeek.
  • Tue 13-15 BBL 175 (C-Slot). TAs: Tigran Gasparian and Vazgen Gasparian.
  • Thu 11-13 BBL 175 (C-Slot). TAs: Tom Rijnbeek and Paul Scharf.
  • Thu 17-19 BBL 175 (B-Slot). TAs: Tigran Gasparian and Vazgen Gasparian.

Practical tutorials start on Tue Apr 29 (second week of the lecture).

 

Topics back to navigation

Mathematics (50%)

Linear algebra

  • Points & vectors
  • Matrices & linear maps
  • Affine transformations
  • Linear systems & determinants

Projective geometry

  • Homogeneous coordinates
  • Projection matrices

Geometric modeling

  • Primitives (triangles, spheres, etc.)
  • Curves and surfaces
  • Differential properties / normals
 
Core Graphics (40%)

Rasterization

  • Camera models / perspective projection
  • Visibility algorithms
  • Rasterization pipeline

Raytracing

  • Ray visibility queries
  • Data structures
  • Recursive raytracing (shadows, reflections, transparency)

Special effects

  • Basic materials
  • Shadows
 
Advanced Graphics (10%)

Global Illumination

  • Basic ideas of physically-accurate rendering (radiosity etc.)

Rendering hardware

  • Shaders
  • Programmable shaders

Advanced 3D modeling

(These subjects will be touched upon only briefly.)

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 Readingsback to navigation

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.

Lecture 01
Tue Apr 22

Topic: Introduction. Course structure, organization, formalities. Introduction to the field of computer grahics.

Suggested readings:

No recommendations. Rules / formalities are also listed on this web page.

Slides:

01_Formalities.pdf
(udpated with latest schedule)

02_Introduction.pdf

 
Lecture 02
Thu Apr 24

Topic: Mathematics. Fundamental math (sets, functions). Basic linear algebra (vectors, points, coordinate systems).

Suggested readings:

Textbook Chapter 2.1, 2.4 (these chapters cover more material than the topics listed above; the first halves of the respective chapters are most relevant).

Slides:

03_LinearAlgebra_I.pdf
(updated & extended on May 08 2014).

 
Lecture 03
Tue Apr 29

Topic: Mathematics. Basic linear algebra (vectors, points, coordinate systems).

Suggested readings:

We continue the discussion of Lecture 02. The same chapters in the textbook are relevant.

Slides:

03_LinearAlgebra_I.pdf
(updated & extended on May 08 2014).

 
Lecture 04
Thu Apr 22

Topic: Advanced Graphics. The graphics pipeline from a practical perspective - GPUs and programmable shades. This is a preparation for practical assignment #2. This part of the lecture given by Paul Scharf.

Suggested readings:

Take a look at practical assignment sheet 2.

Slides:

P2_Introduction.pdf (slides by Paul Scharf and Marries van de Hoef)

 
Lecture 05
Tue May 06

Topic: Mathematics. Continuing our discussion of Linear Algebra, specifically: spans and bases, the scalar product, linear maps, matrices.

Suggested readings:

Textbook Chapter 2.4, 5.2, 5.3 on vectors, vector operations, matrices.

Slides:

03_LinearAlgebra_I.pdf
(updated & extended on May 08 2014;
attention: part I now ends before the section on matrices; it used to be one big file. part two is linked on the left).

 
Lecture 06
Thu May 08

Topic: Mathematics. Continuing our discussion of Linear Algebra, specifically: linear maps, matrices.

Suggested readings:

Textbook Chapter 2.4, 5.2, 5.3 on vectors, vector operations, matrices.

Slides:

04_LinearAlgebra_II.pdf
(updated: May 23; attention - the linear algebra slides are now split in two parts, part II starts with matrices).

 
Lecture 07
Tue May 13

Topic: Mathematics. We will look at scalar products determinants, and general matrix algebra.

Suggested readings:

Textbook Chapter 2.4, 5.2, 5.3 on vectors, vector operations, matrices.

Slides:

04_LinearAlgebra_II.pdf (updated May 23)

 
Lecture 08
Thu May 15

Topic: Mathematics. We continue the discussion of basic math / linear algebra. In particular, we will take a closer look at solving linear systems, and introduce the scalar product.

Suggested readings:

The textbook covers the topics except from the Gaussian elimination. This is described very nicely on wikipedia; there are also various further web sources; so there is no need to buy / lent an extra linear algebra textbook for this.

Slides:

04_LinearAlgebra_II.pdf (updated May 23)

 
Lecture 09
Tue May 20

Topic: Mathematics / Questions & Answers. We finish the discussion of basic math / linear algebra. We discuss the scalar product, the cross product, and determinants. We will also take a brief look at general matrix algebra.
In the second part of the lecture, your questions will be addressed. Please think about unclear topics/concepts before the lecture!

Suggested readings:

Textbook Chapter 2.4, 5.2, 5.3 on vectors, vector operations, matrices, determinants.
General Matrix Algebra is not covered in detail in the textbook; a good overview can be found here (this is not central to the lecture; it just helps remembering the rules more easily).

Slides:

04_LinearAlgebra_II.pdf (updated May 23)

 

Midterm Exam
Thu, May 22

Midterm Exam: Thu May 22 2014, 13:30-15:30 in Room EDUC-BETA.

Lecture 10
Tue June 03

Topic: Core Graphics. We will discuss the rasterization pipeline. The first part deals with cameras, transformations & projections, and visibililty algorithms.

Suggested readings:

Textbook Section 7.2, 7.3 on perspective projections, Section 8.2 on visibility algorithms and integration of shaders. Sections 7.1 and 8.1 provide useful additional background, but we will not so much go into details there.

Slides:

05_RasterizationPipeline.pdf (updated June 17; cosmetic changes only)

 
Lecture 11
Thu June 05

Topic: Core Graphics. We continue the discussion of the rasterization pipeline. We will continue with projection and visibility and then cover surface normals and shading models, as well as texture mappings.

Suggested readings:

Section 10.1 and Section 10.2 on surface shading.

Slides:

05_RasterizationPipeline.pdf (updated June 17; cosmetic changes only)

 
Lecture 12
Tue June 10

Topic: Core Graphics. We talk about some more details of the rasterization pipeline.

Suggested readings:

Section 10.1 and Section 10.2 on surface shading.

Slides:

05_RasterizationPipeline.pdf (updated June 17; cosmetic changes only)

Lecture 13
Thu June 12

Topic: Advanced Graphics. This lecture will examine more sophisticated rasterization and shading effects that will also be the subject of practical P3. The lecture will be partially given by the teaching assistants.

Suggested readings:

Take a look at practical assignment sheet 3; it will be posted ahead of time.

Slides:

P3_Introduction.pdf (posted June 12)
Link to the HDR rendering video (Youtube)
 

 
Lecture 14
Thu June 17

Topic: Core Graphics. Advanced Rasterization algorithms.

Topics: Revisiting homogeneous coordinates and projective geometry. Rasterization algorithms & clipping.

Suggested readings:

Section 8.1 discusses clipping and rasterization, but we will only touch upon this briefly (the textbook goes in greater detail).

Slides:
06_AdvancedRasterization.pdf (updated June 24).
 

 
Lecture 15
Tue June 19

Topic: Core Graphics. Advanced Rasterization algorithms, part II.

Topics: Texture mapping, environment mapping, shadow algorithms. Multiple buffers & render targets, vertex and pixel shaders.

Suggested readings:

Section 11 on various texture mapping methods.

Slides:

06_AdvancedRasterization.pdf (updated June 24).
 

Lecture 16
Thu June 24

Topic: Core Graphics. Raytracing.

Some final remarks on texture mapping, and some general remarks (recap & summary) of different modeling techniques for primitives. We then look at recursive raytracing.

Suggested readings:

Textbook Section 4.1, 4.3, 4.7, 4.8.

Slides:
06_AdvancedRasterization.pdf (updated June 24).
07_ModelingOverview.pdf (posted June 24).
08_Raytracing.pdf (posted June 24).
 

 
Lecture 17
Thu June 26

Topic: Advanced Graphics. Global Illumination simulation and summary.

We start the lecture with a discussion of acceleration data structures for raytracing. Afterwards, the lecture will give a brief overview of global illumination models, such as radiosity, path tracing, and photon mapping. Details are postponed to be discussed in the advanced graphics lecture.

Suggested readings:

Textbook chapter 24; remark: this lecture only gives a coarse overview; no need to go deep into the details.

Slides:

08_Raytracing.pdf (posted June 24).
09_Global_Illumination.pdf (updated June 26).
Finally, here is a brief summary of the whole lecture, picking some of the most important slides (not presented in the lecture).

 

   
Final Exam
Thu, July 03

Final Exam: Thu July 03 2014, 17:00-20:00 in Room EDUC-BETA.

Retake Exam
Fri, August 15

Retake Exam: Fri August 15 2014, 09:00-12:00 in Room EDUC-ALPHA.

Course Schedule back to navigation

Period 4 Schedule

Week Date Lecture / Exams Tutorials Practical #1 Practical #2 Practical #3
17 Tue Apr 22
11:00-12:45
Lecture 1:
Introduction
 

Assignment P1
XNA Introduction / Tutorial

   
Thu Apr 24
13:15-15:00
Lecture 2:
Linear Algebra
     
18 Tue Apr 29
11:00-12:45
Lecture 3:
Linear Algebra
 

Assignment P2:

basic shader programming

 
Thu May 01
13:15-15:00
Lecture 4:
Intro P2 (TAs)
Tutorials #1
Thu 15:15-17:00
 
19 Tue May 06
11:00-12:45
Lecture 5:
Linear Algebra
  Deadline:
Tue May 6, 23:59h
 
Thu May 08
13:15-15:00
Lecture 6:
Linear Algebra
Tutorials #2
Thu 15:15-17:00
   
20 Tue May 13
11:00-12:45
Lecture 7:
Linear Algebra
     
Thu May 15
13:15-15:00
Lecture 8:
Linear Algebra
Tutorials #3
Thu 15:15-17:00
   
21

Tue May 20
11:00-12:45

Lecture 9:
Linear Algebra, Q&A
   

Assignment P3:

advanced shader programming

Thu, May 22
13.30-15.30

Midterm Exam (room: EDUC-BETA)    
22 May 26-30 herkansing week
23 Tue June 3
11:00-12:45
Lecture 10:
Rasterization Pipeline I
   
Thu June 5
13:15-15:00
Lecture 11:
Rasterization Pipeline II
Tutorials #4
Thu 15:15-17:00
 
24 Tue June 10
11:00-12:45
Lecture 12:
Rasterization Pipeline III
   
Wed June 11       Deadline: *2nd update*
Wed June 11, 23:59h
Thu June 12
13:15-15:00
Lecture 13:
Introduction Practicals P3
Tutorials #5
Thu 15:15-17:00
   
25 Tue June 17
11:00-12:45

Lecture 14:
Advanced Rasterization I

     
Thu June 19
13:15-15:00
Lecture 15:
Advanced Rasterization II
Tutorials #6
Thu 15:15-17:00
   
26 Tue June 24
11:00-12:45
Lecture 16:
Raytracing
     
Thu June 26
13:15-15:00
Lecture 17:
Global Illumination

Tutorials #7:
Q+A session

Thu 15:15-17:00

    Deadline:
Thu June 26, 23:59h
27 Thu July 3
17:00-20:00
Final Exam (room: EDUC-BETA)
...
33 Fri Aug 15
09:00-12:00
Retake Exam (room: EDUC-ALPHA)

 

Weekly Schedule

time Mon Tue Wed Thu Fri
9-11   Practicals Tue1      
11-13   Lecture Tue   Practicals Thu1  
13-15 (canceled) Practicals Tue2   Lecture Thu  
15-17       Tutorial Thu1 Tutorial Thu2 Tutorial Thu3 Tutorial Thu4  
17-19       Practicals Thu2  

Tutorials back to navigation

Overview

The lectures are accompanied by tutorials (werkcolleges).

  • The tutorials cover the theoretical aspects of the lecture.
  • There will be six assignment sheets throughout the semester. It is expected that you work on them in self studies. Please take this seriously! You will need the practice!
  • For each sheet, four time slots are offered (see below) when a teaching assistant will be present to answer your questions, explain details, and provide further information. You should attend one of them, but it is up to you which one (i.e., you do not have to follow the "groep indeling" given by OSIRS).
  • The purpose of the tutorials is that you do the exercises yourself (either alone or in small groups). A teaching assistant will be present to assist you if you have any questions. Hence, attendance is not mandatory, but highly recommended.
  • The tutorials are a very good preparation for the midterm and final exam.
    Reading the textbook and attending the lectures is a good idea, but you can only be sure that you understood the material if you succeed in solving the assignments. The assignments in the tutorials will be very much like what you can expect in the written tests. Notice that there will be more exercises on the sheets than you could possibly do within the two hours. Exercises will be online a few days before the tutorials. We expect that you work on the questions beforehand, so you can use the two hours tutorial time to ask the TA about things you didn't understand, etc.

Tutorial Sessions

  • 15.15-17.00 BBL-165 Anna Aljanaki
  • 15.15-17.00 BBL-023 Coert van Gemeren
  • 15.15-17.00 BBL-079 Marcelo Rodríguez López
  • 15.15-17.00 BBL-083 Norman Jaklin
  • Theory tutorials start in the second week of the lecture (May 1st).

Assignment Sheets / Downloads

Download the tutorials below:

  • Tutorial 1: Linear Algebra I
    Download the PDF here. (minor update on Apr 30: fixed typos)
    Solutions are provided here.
    (posted May 06)
  • Tutorial 2: Linear Algebra II
    Download the PDF here. (posted May 06; minor update May 13 - fixed typo)
    Solutions are provided here. (posted May 13; includes fixes)
  • Tutorial 3: Linear Algebra III
    Download the PDF here. (posted May 13)
    Solutions are provided here. (updated: May 23; solution to 2a fixed)
  • Tutorial 4: Homogeneous Coordinates & Perspective
    Download the PDF here. (posted June 03)
    Solutions are provided here. (posted June 20; includes minor fixes to the assignment/questions text, as discussed during the tutorial session)
  • Tutorial 5: Rasterization & Shading
    Download the PDF here. (posted June 10)
    Solutions are provided here. (posted June 20)
  • Tutorial 6: Rasterization, Shading, and Raytracing
    Download the PDF here. (posted June 18)
    Solutions are provided here. (posted June 24)
  • Tutorial 7: Supplementary assignment sheet.
    • Summarizing important topics of the second half of the lecture.
    • Additional practice for unclear topics (based on student feedback).
    • Good preparation for the exam (not a formal practice exam though).

Download the PDF here. (posted June 24)
Solutions are provided here. (updated: June 29; matrix product on page 9 fixed)

Practicals back to navigation

PRACTICAL ASSIGNMENTS

There will be three practical assignments, covering traditional rasterization algorithms and shaders. The first assignment will be online on Tuesday, April 22. We recommend that you start working on it right away.

Practicals tutorial/consultation hours

During the following time slots, teaching assistants will be present in Room BBL175 to help you if you have questions (consultation hours will start in the second week of the lecture). Practical tutorials are offered before and after the lecture (theory tutorials) on Tue and Thu afternoon:

  • Tue 9-11 BBL 175 (B-Slot). TAs: Gina van Lent and Tom Rijnbeek.
  • Tue 13-15 BBL 175 (C-Slot). TAs: Tigran Gasparian and Vazgen Gasparian.
  • Thu 11-13 BBL 175 (C-Slot). TAs: Tom Rijnbeek and Paul Scharf.
  • Thu 17-19 BBL 175 (B-Slot). TAs: Tigran Gasparian and Vazgen Gasparian.

Remarks:

  • BBL-175 is not available on June 24 from 11:00-12:00 (this time is during the Tue lecture).
  • The Mo 13-15 has been canceled due to lack of interest.
  • Practical tutorials start on Tue Apr 29 (second week of the lecture).
  • We also might adapt the consultation hours (extend before deadlines, shorten elsewhere).

Important Rules

Because of the large group of students taking this lecture, we need strict rules to keep everything managable. The most important rules are listed below. Further explanations might be given during the lecture.

  • Grading: You have to hand in all practical assignments. Your grade from the practicals has to be at least 5.0 to pass this course (cf. exams & grading).
  • Working in teams: The programming assignments must be done in groups of 2 or 3 students. If you submit alone without prior consultation with the course instructor, the grade of your submission will be reduced by 1.0.
    • Building groups: You can choose your partner(s) yourself among your fellow students. If you ca not find one on your own, contact one of the TAs during the practical consultation hours. They will help you to team up with other students. Contact Paul Scharf ().
    • If your partner drops the course: contact the instructor immediately. You will either be assigned a new partner or be allowed to work alone. Working alone without prior consultation reduces your grade.
    • Project team responsibility: It is up to you how you split the work among your team members. However, this freedom comes at the price that you have to be prepared for situations such as team members dropping the course or not delivering what they promised to you. It is your responsibility to make sure that you are aware of your team's progress, so you can react to such issues in an appropriate way.
  • Students doing the course a second time: The practicals will be comparable to last year, with minor changes. The following rules apply for redoing the practicals:
    • You have participated last year, general case: You re-do the practicals. There are two possible constellations for this case:
      • If you are teaming up with someone who is doing it for the first time, you are not allowed to re-use your code. Be warned that we use software to check for plagiarism (and we have all code from last year at hand).
      • If you are teaming up with someone who also took the course last year, you can re-use parts of your code. However, be aware that we cannot guarantee the same grading (criteria might change slightly). We might be more critical in grading the parts that changed if we get the impression that you didn't put much effort into it but just copy-pasted your old stuff.
    • You have passed last-year's practicals (i.e. got at least a 6.0 for the practical part of the course before rounding): You might get an exception allowing you to "pass on" the result from last year. If you want to take advantage of that, you have to send an email to the lecturer until Thu, April 24. We will arrange a meeting with you; you have bring last year's implementation to this meeting and we will decide then if this exception is applicable for you or not.
    • Other cases (e.g. students who did the course 2 years ago) have to redo the practicals. If you have any doubts about what criteria apply to you, make sure to the lecturer as soon as possible, so we can discuss it.

Soft- / Hardware and Infrastructure:

  • Required equipment: For the practicals, you need a Windows 7 PC with Visual Studio 2010 and XNA Game Studio 4.0.
  • All necessary hard- and software is installed on the computers in room BBL 175. It is reserved for this course the whole week from 9-17h, so you can go there anytime (space in the room is limited; it's first-come-first-served).
  • "Groep indeling" and TA-support: Ignore the "groep indeling" on OSIRIS. There are no groups other than the teams you form with your fellow students, and there are no fixed time slots where you have to be present.

Forum:

There is an online discussion forum where the TAs answer your question (this is a best-effort offer; no guarantees; in particular, close to deadlines):

http://graphics14.amulware.net

(Thanks to Paul Scharf for setting this up!)

 

Assignments:

The assignments are be provided for download below. The first assignment will be published on the afternoon of Tuesday, Apr 22.

(1) Graphics Programming Tutorial

The first assignment is basically a tutorial that teaches you how to set up the framework that we'll be using (VisualStudio, XNA, etc.), and introduce you to some of the basics of graphics programming.

Details

 
(2) Shader Programming

In the second assignment you will learn some basic shader programming.

Details

 
(3) Advanced Shader Programming

In the third assignment we will do some advanced shader programming.

Details

Assignment P1

The first assignment is a tutorial gives you a walkthrough of the XNA framework that we'll be using. I 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):

  • Tuesday, May 6, 2014, 23:59h
  • Late submission: May 7, 2013, 12:00 (noon) (with 0.5 points deduction)
  • Very late submission: May 7, 2013, 23:59 (with 1.0 points deduction)

 

Assignment P2

The second assignment has been published on Tue Apr 29. Please take a look at it before the Thu May 1st lecture; it will be discussed in more detail in class on that day (the TAs will use the first half of the lecture to explain the assignment in more detail). If you look at it earlier, it will be easier to follwow the presentation and you can ask questions.

Downloads:

Deadline(s):

  • Wednesday, June 11, 2014, 23:59 *updated*
  • Late submission: June 12, 2014, 12:00 (noon) (with 0.5 points deduction)
  • Very late submission: June 12, 2014, 23:59 (with 1.0 points deduction)

 

Assignment P3

The second assignment has been published on Tue June 03. Please take a look at it before the Thu June 12 lecture; it will be discussed in more detail in class on that day (the TAs will again give an intro to this assignment). If you look at it before the presentation, it will be easier to follwow the presentation and you can ask questions. We also encourage you to start working on P3 early; it is quite involved.

Downloads:

Deadline(s):

  • Thursday, June 26, 2014, 23:59
  • Late submission: June 27, 2014, 12:00 (noon) (with 0.5 points deduction)
  • Very late submission: June 27, 2014, 23:59 (with 1.0 points deduction)

 

Exam & Grading back to navigation

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

Results of the midterm exam and the final exam: score sheet (password required to open).

 

Literature & Links back to navigation

Textbook:

  • The textbook of this couse is Fundamentals of Computer Graphics by Peter Shirley et al.. The course is designed based on the 3rd edition of the book. Since the basics (which we are covering) did not change that much, older editions might work, too (no promises).
  • Here is the web page of the text book.

Additional resources for the practicals:

Resources that might be helpful, especially for programming assignment 2 and 3:

 

Web references:

 

News Archive back to navigation

Old posts

July 10:

  • The overall scores for midterm exam, final exam, and all three practicals have been published (password required).
    • Please check your scores carefully!
    • Please mail the lecturer () immediately if anything seems to be incorrect!
    • Some of the practical scores are still being finalized - the corresponding rows are marked with a "(*)" at the end (you should have gotten an email about this if your group is affected).
    • The document also lists an overall grade and a "passed?" column. Please note that a grade of 6 or higher is not always sufficient, as there are requirements concerning minimum scores in the practicals and the exams, as detailed below. If these are not met, the final grade for the course will still be insufficient.
    • The table also lists whether you are entitled to a retake exam / retake practicals according to the rules stated on this web page. If you have been granted an exception via email, this is not reflected in the table. Nonetheless, the exception is still granted (no need to worry about that)
  • Important: Next steps
    • If you would like to take a retake of the practicals, please mail the lecturer on or before July 14 2014.
    • If you would like to participate in the retake exam, please mail the lecturer before end of this month (on or before July 31 2014).
    • No reply is required if you do not want to take a retake.
    • Attention: You must sign up for the retakes to be entitled to participate. Otherwise, we might not have a printed exam sheet for you, or not enough seating in the room. Please send an sign-up email in any case, regarless of any prior email correspondence (emails exchanged before July 10).

July 05:

  • The scores for the final exam have been published (password required).

July 02:

June 29:

  • Fixed a mistake in solution of tutorial sheet 7: The matrix multiplication on page 9 of the solutions contained an error; this is fixed now (changes highlighted in the document).

A few remarks concerning the final exam:

  • The exam will take place on Thursday July 03 2014 from 17.00-20.00h in room EDUC-BETA.
  • Content: The final exam in principle covers the whole lecture. Nonetheless, the focus will be on topics from the second half of the lecture (after the mid-term exam).
  • Rules: The same rules apply as for the mid-term exam (closed-book exam - you cannot use any books or notes, no calculators). You should bring a pen (black or blue) and your student id card.

June 26

  • Solutions to the extra tutorial sheet T7 have been posted. Download it at the usual place (link fixed).
  • Final update of the lecture slides updated (small changes to today's lecture's slide set).

June 24

  • Extra tutorial sheet (collection of assignments for tomorrows tutorials, and for preparing for the final exam) has been posted. Download it at the usual place.
  • Extra practicals tomorrow, Wednesday June 25 from 13h-17h:
    Wed 13-15h: Paul Scharf
    Wed 15-17h: Tom Rijnbeek

    Paul and Tom will be present during this additional time slots, as listed above, to answer your questions!
  • All other practicals are held as scheduled.
  • Solutions for T6 have been posted below.
  • Lecture slides updated (for today's lecture and preliminary slides for next Thursday).

 

June 20

  • Clarification: The deadline for P3 is on Thursday, June 26th (Wednesday was mentioned at one place; this was the wrong day of the week).
  • Solutions to tutorials T5 and T6 have been posted.

June 19

  • Slides for today's lecture (update with details on texturing) are posted below.
    • I have added a remark (as mentioned during the lecture) that the term "linear interpolation" often refers to affine functions (linear + offset/translation). In literature, the term "linear" is very common for both truely linear as well as affine (linear+offset) mappings. The slides try to reflect the common terminology (I added a written remark to the updated slides in places where confusion might arise).

June 17

  • Tutorial (theory assignment) T6 posted.
  • Slides for today's lecture are posted below.
  • There will be an additional tutorial session next week (same time slot, same rooms except from BBL-165)
    • The additional tutorials are intended to help with the exam preparations, and to clarify remaining questions from the lecture/tutorials so far.
    • Please mail questions for the Q+A to the lecturer.
    • To make sure the questions are taken into account, please do so before end of this week (Friday, June 20, evening). Later submissions will still be considered, at best effort.

June 11

June 10

June 09

  • Practicals schedule this week adapted to P2 deadline!
  • Schedule
    • Tue 9-11 - will be held
    • Tue 13-15 - canceled (due to programming contest in parallel)
    • Wed 15-17 - additional practical session!
    • Wed 17-19 - additional practical session!
    • Thu practicals - canceled (i.e., moved to Wed)
  • Please remember - deadline for P2 is Wed, June 11, 23:59h CET (daylight saving time!)

June 03

June 02

  • Important update: The deadline for submitting the result for practical assignments #2 has been shifted once again. It is now on

Wednesday, June 11 2014, 23:59 CET

  • The shift was done due to accomodate for the holiday on Monday and the programming contest of the "Datastructuren" lecture on Tuesday.
  • The usual rules for late submissions apply.
  • Additional practicals will be offered on Wednesday, June 11; details tba. Tuesday June 10 afternoon practicals will probably be skipped to make room for the data structures (all details tba.).

May 28

  • The deadline for submitting the result for practical assignments #2 has been shifted to Monday, June 9 2014, 23:59 CET.
  • The usual rules for late submissions apply.
  • Lecture descriptions & suggested readings for next week updated.

May 20

  • The slide set 04_LinearAlgebraII.pdf has received (a really final) update (typo on slide 62, denominator in projection).
  • Solutions for tutorial 3 have been posted.
  • The slide set 04_LinearAlgebraII.pdf has received (probably final) update (minor changes for determinats and optional material).
  • Important information for the midterm-exam (as announced in class today):
    • You cannot bring anything other than writing equipment (bring a pen).
    • Paper will be provided; you will not be allowed to use your own paper.
    • The use of electronic equipment of any type (calculators, cell-phones) is not permitted.
    • You cannot use books or any written notes.
    • The midterm exam will not cover methods that were newly introduced in today's (May 20 2014) lecture (such as the cross-product or determinants). The inner-product (aka scalar product, dot product) however, could be a topic in the midterm.

May 18

  • Clarification: New topics introduced in next Tuesday's lecture (May 20) will not show up in the midterm exam, but they are important for the final exam and the further lecture.
  • Attention: there was a copy & paste error on slide 72/73 of slide set 04_LinearAlgebra_II.pdf (the square root in the denominator was not supposed to be there). This has been fixed in the current version linked on this web page (download the link again, in case).

May 15

  • Topic summary for next lecture (Tue) out. Next Tuesday's lecture will conclude the mathematical foundation and provide a Q&A session with respect to all topics so far (in preparation for the midterm exam). Please collect questions.You can also mail the lecturer or the tutors before the lecture.
  • Posted update of the LinearAlgebraII slides (clarification due to feedback after today's lecture).
  • Please note in particular: <a,bca·<b,c> for vectors a,b,c. However, <λa,bc = <abc = <a,b>·λc for scalars λ. We will discuss this more in detail in the next lecture.

May 14

  • Just a heads-up for your future schedule: Room BBL 175 (practicals computer room) will not be available on June 24 from 11:00-12:00 due to a University event. This time slot is during the lecture, so this should not create conflicts.

May 13

  • Tutorial assignment T3 posted.
  • Solution to T2 posted.
  • The practicals slot on Mondays has been canceled due to lack of interest (very few attendants). The other four practical slots (Tue/Thu before the lecture and after the lecture/tutorials) remain unchanged.
  • Lecture topics updated for the next lecture (May 15). Minimal updates on slides (indexing fixes as discussed in the lecture).

May 12

May 08

May 06

May 01

Apr 29

  • Today's slides (extended set of slide set #03) is now available for download.
  • The first theory tutorial is available for download. It provides a guided walkthrough of some elementary linear algebra concepts (direct link to the PDF; use the first link for details).
  • The second practical assignment is already available for download. Although the deadline for the first has not even passed yet, you should take a brief look so that you can ask questions in Thursday's lecture, where some background of this assignment will be discussed (direct link to the PDF; use the first links for framework + details).

Apr 28

  • Fifth practical slot will be offered Mondays from 13-15, in BBL 175.
  • Attention: This slot will be offered for the first time next week (Mo May 5).

Apr 24

  • The assignment sheet for practical P1 has been updated (fixed a copy and paste error).
  • Slides for Apr 24 lecture posted.

Apr 22

  • Important schedule change (different from plans announced in the lecture due to limitations in room availability):
    • Theory tutorials will be Thu 15-17h, four parallel slots (as original planned and also indicated on the department website)
    • Practical sessions will therefore be rescheduled (details tba.)
    • In order to implement this smoothly, all tutorials start in the second week of the lecture (no practicals this week).
  • Assignment P1 posted.
  • Tue Apr 22 slide sets posted.

Apr 17

  • Website online.
  • First meeting: Tue Apr 22nd, 11:00h-12:45h, lecture hall RUPPERT-BLAUW.