DM567 3D Graphics Programming

August 2018

Rolf Fagerberg


Time and Place

The course is a summer course, and takes place from August 13 to August 24. Expect to work 8-16 each day (Mon-Fri) during these two weeks (and maybe a little in the evening). The time will be divided into lectures, exercises/labs, and reading time. The room will be generally be U168

Textbook

As textbook, we will use the following:

Computer Graphics Programming in OpenGL with Java
By John L. Clevenger and V. Scott Gordon
Published by Mercury Learning, 2017
ISBN 978-1683922193

The book has a website with among other things a list of errata.

Examination

The exam is a multiple-choice test, taking place the last day of the course (Friday 24, August 2018). Grading on the 7-point marking scale.

Useful Links

Lectures

Date Time Room Contents Reading
Monday, Aug 13 8-10 General introduction to the SDU summer schools.
Monday, Aug 13 10-12 U168 Introduction to course (slides). The graphics rendering pipeline (slides). The slides.
Monday, Aug 13 12-13 Lunch
Monday, Aug 13 13-14 U168 More on the graphics rendering pipeline. Intro to OpenGL/JOGL (slides) The slides. Chapter 2 in the textbook (2.1.3 and 2.1.4 may skipped).
Monday, Aug 13 14-15 U168 Installation of software Chapter 1 in the textbook.
Monday, Aug 13 15-16 U168 Programming exercises
Monday, Aug 13 16-17 U168 Study time All material from today (see above)
Monday, Aug 13 17- U45 Welcome reception

Tuesday, Aug 14 8-9 U168 Recap, questions, and quiz on yesterday's material.
Tuesday, Aug 14 9-11:30 U168 Transformations (slides) The slides. Chapter 3 in the textbook.
Tuesday, Aug 14 11:30-12:30 Lunch
Tuesday, Aug 14 12.30-14 U168 Examples of transforms in practice Chapter 4 in the textbook, except sections 4.6.1 and 4.9-11.
Tuesday, Aug 14 14-15 U168 Programming exercises
Tuesday, Aug 14 15-16 U168 Study time All material from today (see above)

Wednesday, Aug 15 8-9 U168 Recap, questions, and quiz on yesterday's material.
Wednesday, Aug 15 9-11:30 U168 Change of coordinate system (notes). The general rotation matrix (notes). The notes
Wednesday, Aug 15 11:30-12:30 Lunch
Tuesday, Aug 14 12.30-14 U168 Misc. from Chapter 4. Textures (slides) Rest of Chapter 4 in the textbook (Sections 4.6.1 and 4.9-11). The slides. Chapter 5 in the textbook.
Wednesday, Aug 15 14-15 U168 Programming exercises
Wednesday, Aug 15 15-16 U168 Study time All material from today (see above)

Thursday, Aug 16 8-9 U168 Recap, questions, and quiz on yesterday's material.
Thursday, Aug 16 9-10 U168 Demo of yesterdays exercises. Course feedback
Thursday, Aug 16 10-11:30 U168 Procedural model building Chapter 6.1-2 in the textbook.
Thursday, Aug 16 11:30-12:30 Lunch
Thursday, Aug 16 12:30-14 U168 Model formats and model loading Chapter 6.3 in the textbook.
Thursday, Aug 16 14-15 U168 Programming exercises
Thursday, Aug 16 15-16 U168 Study time All material from today (see above)

Friday, Aug 17 8-9 U168 Recap and questions on yesterday's material.
Friday, Aug 17 9-11:30 U168 Barycentric coordinates (notes). The notes.
Friday, Aug 17 11:30-12:30 Lunch
Friday, Aug 17 12:30-14 U168 Shading (slides) The slides. Chapter 7 in the textbook.
Friday, Aug 17 14-15 U168 Programming exercises
Friday, Aug 17 15-16 U168 Study time All material from today (see above)

Monday, Aug 20 8-10 U168 Recap, questions, and quiz on yesterday's material.
Monday, Aug 20 10-11:30 U168 Programming exercises (start on larger project)
Monday, Aug 20 11:30-12:30 Lunch
Monday, Aug 20 12:30-13:30 U168 Camera movement (teacher's code)
Monday, Aug 20 13:30-15 U168 Programming exercises (add camera to scene of project).
Monday, Aug 20 15-16 U168 Study time All material from today (see above)

Tuesday, Aug 21 8-9 U168 Recap and questions on yesterday's material.
Tuesday, Aug 21 9-10 U168 Perspectively correct interpolation (notes). The notes.
Tuesday, Aug 21 10-11 U168 Shadows Chapter 8 in the textbook.
Tuesday, Aug 21 11-11:30 U168 Programming (add shadows to project)
Tuesday, Aug 21 11:30-12:30 Lunch
Tuesday, Aug 21 12:30-13:00 U168 More programming.
Tuesday, Aug 21 13:00-14:00 U168 Intro to physics simulation Suggestion for reading: notes on particle dynamics from a course by Andrew Witkin (not part of exam curriculum in DM567).
Tuesday, Aug 21 14:00-15:00 U168 More programming.
Tuesday, Aug 21 15-16 U168 Study time All material from today (see above)

Wednesday, Aug 22 8-9 U168 Recap and questions on yesterday's material.
Wednesday, Aug 22 9-10 U168 Quaternions Sections 6.3.1 and 6.3.2 in Sumanta Guha: Computer Graphics Trough OpenGL, CRC Press (handout).
Wednesday, Aug 22 10-11:30 U168 Exercises on quaternions. More on quaternions and rotations. Sections 6.3.1 and 6.3.2 in Sumanta Guha: Computer Graphics Trough OpenGL, CRC Press (handout). Teacher's notes on using quaternions for interpolation. Teacher's overview of methods for representating rotations.
Wednesday, Aug 22 11:30-12:30 Lunch
Wednesday, Aug 22 12:30-13:00 U168 Cube maps and environment mapping. Chapter 9 in the textbook.
Wednesday, Aug 22 13:00-14:00 U168 Programming.
Wednesday, Aug 22 14:00-15:00 U168 More on the general rotation (Rodrigues' rotation formula). Last half of notes on the general rotation matrix.
Wednesday, Aug 22 15-16 U168 Study time All material from today (see above)

Thursday, Aug 23 8-10 U168 Recap, quiz, questions, and follow-up lecture (the length of the product of two quaternions is the product or their lengths) on yesterday's material.
Thursday, Aug 23 10-11:15 U168 Perspective projection, the full version (typed version, handwritten version with a few extra details). The notes.
Thursday, Aug 23 11:15-12 Lunch
Thursday, Aug 23 12:00 U168 Summer school group photo
Thursday, Aug 23 12:15-13:15 U168 More on the perspective projection, the full version (typed version, handwritten version with a few extra details). The notes.
Thursday, Aug 23 13:15-14:30 U168 Demo of project work. Wrapping up.
Wednesday, Aug 22 14:30-16 U168 Study time All material from today (see above)

Friday, Aug 24 10:00-12.30 U168 Examination.