Welcome to CS559

by Eftychios Sifakis on September 3, 2020

Dear Students,

Welcome to CS559 “Introduction to Computer Graphics”. This web page (along with our online Piazza forum) will be your portal for all announcements related to the class, information about class logistics, and repository of lecture notes and supplemental information.

To get started, make sure to check out the Syllabus page for the most important general class information (including grading and administrative logistics), and the Calendar for a time-indexed view of topics and important special scheduling notices.

IMPORTANT NOTE ON IN-PERSON vs. REMOTE ATTENDANCE: As detailed in this Piazza post only one-third of the enrolled students will be allowed to attend in-person lectures in each day that the class meets. See the Calendar for a time-indexed view of which subset of the class is allowed to attend in person. All others (including waitlisted students) should attend remotely, via live-stream or by viewing the recorded lectures asynchronously (again, read this post).

UPDATE : ALL IN-PERSON ATTENDANCE HAS BEEN SUSPENDED FROM SEPTEMBER 10-25, AS REFLECTED IN THE CLASS CALENDAR.

You will be getting information on reading materials as we go, but if you want to prefetch some information that will definitely be useful, take a look at the following tutorials/discussions:

That should be a good starting point! Please keep track of the posted deadlines for assignments (via Canvas; postings on this forum and/or Piazza will also be made to announce rollout of assignments). Also, make sure to verify you have access to the Piazza and Canvas pages (see the Syllabus page). Have a great start to your semester and enjoy the class!

{ 0 comments }

Final exam study guide

by Eftychios Sifakis on December 9, 2020

As was the case for your midterm, the primary resource for your review would be the online lectures, lecture slides and whiteboard notes; you should be able to fully perform in the final exam with the information communicated to you in the lectures. That being said, the following references might be useful to you, especially if you feel you would welcome reading about the material we covered from a structured textbook as well.

From Foundations of Computer Graphics :

  • From Chapter 4 [Link] : The most relevant sections are : Introduction, Section 4.1, 4.5, 4.8.
  • From Chapter 8 [Link] : Focus on Sections 8.1 (mostly subsection 8.1.2), 8.2, and 8.3.
  • From Chapter 11 [Link] : This is all good information. You may skip 11.1, and 11.3.1. For sections 11.4 through 11.7 don’t worry about the formulas.

From The Big Fun Graphics Book :

  • From Chapter 15 [Link] : All good material – you may skip Section 15.2. The explanations are more technical and in-depth than what we covered in class; don’t worry about this, for the exam you will just need the depth of exposition we covered in lectures.
  • From Chapter 16 [Link] : This is all useful and accessible (too bad the chapter is incomplete!). Again, this gets more technical with deeper mathematical foundations of the techniques, which is informative if you want to understand more about the concepts, but just the level of coverage we had in our lectures will be well sufficient for the exam.

From Real Time Rendering :

  • Chapter 6 [Link] is a fantastic reference for texturing, although it includes substantially more detail than we covered in class (or needed for your exam). It’s a great read if you want to learn more about these techniques though. You can very safely skip Summed Area Tables (p. 167) and Anisotropic Filtering (p. 168), as well as Sections 6.2.3, 6.2.5, 6.2.6, 6.3 (interesting, but we didn’t cover it in class), 6.4, 6.5, 6.6., 6.7.4 and 6.7.5.

Our discussion of global illumination and ray tracing is restricted (for the purposes of the exam) to just the information included in the Dec 8th lecture and associated slides.

{ 0 comments }

Programming Assignment #7

November 29, 2020

Due: Wednesday, December 9th. (see the class late policy on the Syllabus) Synopsis: You get to use WebGL to create a 3-dimensional scene, with your own shaders, models, and associated data (vertex attributes, colors, normals, textures, etc). Learning Objectives: To familiarize yourselves with the complexities of using the WebGL API and the GLSL shading language […]

Read the full article →

Programming Assignment #6

November 14, 2020

Due: Friday, November 20th. (see the class late policy on the Syllabus) Synopsis: You get to write some shaders! You will experiment with the shdr.bkcore.com interactive shader editor to create your own pair of vertex & fragment shader, and test it with the provided 3D geometric models Learning Objectives: To familiarize yourselves with the GLSL […]

Read the full article →

Programming Assignment #5

November 4, 2020

Due: Wednesday, November 11th. (see the class late policy on the Syllabus) Synopsis: You will write a program that visualizes a 3D scene, as viewed from a movable camera, and use 2D Canvas drawing operations to construct a 2D projected view of it on your screen. Learning Objectives: To familiarize yourselves with the 3D viewing […]

Read the full article →

Reading list (from textbooks) for midterm

October 25, 2020

Dear students, As we discussed in class, all the information included in the lecture materials (slides, videos, whiteboard notes) is included in your midterm reading list. In addition, please review the following specific sections from your textbooks, which will also be deemed as required readings: Foundations of Computer Graphics From Chapter 6, review subsection 6.1 […]

Read the full article →

Programming Assignment #4

October 12, 2020

Due: Wednesday, October 21st. (see the class late policy on the Syllabus) Synopsis: You will make a program that uses a parametric curve to define an intricate trajectory, and use this representation both to draw such a curve as well as move/animate an object along it. Learning Objectives: To exercise your understanding of parametric curves […]

Read the full article →

Programming Assignment #3

October 1, 2020

Due: Wednesday, October 7th. (see the class late policy on the Syllabus) Synopsis: You will make a program with an object (or more) that uses the concept of hierarchical modeling and have it be animated, using explicit matrix and vector representations for the points and transforms involved. Learning Objectives: To obtain experience in using mathematical […]

Read the full article →

Programming Assignment #2

September 19, 2020

Due: Wednesday, September 30th. (see the class late policy on the Syllabus) Synopsis: You will make a program with an object (or more) that uses the concept of hierarchical modeling and have it be animated. Learning Objectives: To see how transformations in 2D and hierarchical objects are useful in modeling and animation, obtain exposure to […]

Read the full article →

Programming Assignment #1

September 10, 2020

Due: Wednesday, September 16th. (see the class late policy on the Syllabus) Synopsis: You need to create a program that draws a picture on a 2D Canvas on a Web page. Your submission must demonstrate the use of lines and polygons, and the use of slider elements for input. Learning Objectives: To make sure everyone […]

Read the full article →

Books

September 10, 2020

For this class, all readings will be made available to you via the web. For the textbooks, we will either use small portions (so we can provide the chapters via academic fair use), or Wendt Library has arranged to provide online versions of the book. So, you don’t need to buy any books. However, if […]

Read the full article →