Skip to content
Andrea edited this page Nov 11, 2015 · 11 revisions

Introduction to Computer Graphics

This course provides an introduction to the field of Computer Graphics with a focus on image synthesis. We will cover the basic mathematical concepts, such as 2D and 3D transformations, examine the interaction of light with geometry to derive suitable shading models, and discuss rendering algorithms such as ray tracing and rasterization. We will investigate how these fundamental components are integrated in current graphics processors and study the corresponding programming APIs. Students will experiment with modern graphics programming and build small demos in C++ and OpenGL (w/ GLSL).

Learning outcomes

By the end of the course, the student will be able to:

  • Explain and apply the fundamental mathematical concepts computer-based image synthesis
  • Implement a basic rendering system based on ray tracing
  • Implement a basic rendering pipeline based on rasterization
  • Explain the core functionalities of the OpenGL graphics API
  • Develop simple graphics programs using shader programming
  • Design and implement procedural synthesis methods

Topics

  • Pixels and images
  • Fundamentals of ray tracing
  • Parametric curves and surfaces
  • Rasterization
  • Transformations in 2D/3D
  • Perspective and visibility
  • Interpolation and lighting
  • OpenGL graphics API (w/ shader programming)
  • Texture mapping
  • Procedural modeling

Textbook & Documentation

Assignments

In this course there will be 4 coding based assignments. Assignments are to be done in C++ and will be turned in via the submission system.

Algorithms, performance and code design will all contribute to your assignment grades. For some assignments, we will define a minimum set of requirements. An assignment which implements these features well will receive a grade of B. To get an A, you will need to improve the basic assignment in some way: new features, technical improvements, good design, better interaction, efficiency, etc. We will discuss possible improvements in class and on the assignment description.

# Weight Assigned Due Topic
1 15% Wed. Week 1 Sun. of Week 3 Ray Tracing (spheres, planes)
2 15% Wed. Week 4 Sun. of Week 6 2D OpenGL (flash-like animation)
2 30% Mon. Week 9 Sun. of Week 12 3D OpenGL (procedural terrain)

Exam

There will be one final which will cover the theoretical material covered in lectures and readings. The final exam will be scheduled by the University during the examination period. You must pass the final to pass the course.

Grading

Coursework Weight
Assignments 60%
Final 35%
Participation (class and lab) 5%

Useful links