Computer Graphics

Draft of the course proposed for Spring 2019

Description:
The goal of this course is to provide an introduction to computer graphics. The topics addressed will cover both fundamentals of the field and implementation on modern hardware and software platforms: fundamentals of image representation, manipulation, storage and display; graphics modeling and rendering in 2d and 3d; animated and interactive graphics. Geometry modeling using matrix algebra will be introduced in the class, assuming knowledge of calculus and trigonometry.
Banner
Prerequisites:
  • CCOM3034 Data Structures
  • MATE3152 Calculus II
Content:
  1. 2D image manipulation
    • Raster image representation
    • Vector graphics and rasterization (e.g. HTML5 canvas)
    • Basic image processing
    • Image file formats
  2. Geometry modeling
    • Introduction to matrix calculus for graphics
    • Geometry modeling and transformations
  3. 3D Graphics
    • 3D graphics engine concepts
    • Object models and data structures
    • Materials (texturing, lighting, effects…)
  4. Animation and Interaction
    • Design of animated graphics
    • Interacting with 2D and 3D scenes
Teaching strategy and ressources:

Concepts and theory presented in lectures and in class discussion. Practice trained through programming laboratories (2D image manipulation, geometry, 3d graphics) and a final integrative project. Programming in Javascript with HTML5 Canvas API for 2D graphics and WebGL and Three.js API for 3D graphics. Possible specialized exercices using Python or Matlab/Octave.

Laboratories require computers with OpenGL capable graphic cards and a web browser supporting HTML5 and WebGL.

Textbook:
  • John F. Hughes, Andries van Dam, Morgan McGuire, David F. Sklar, James D. Foley, Steven K. Feiner, Kurt Akeley. Computer Graphics: Principles and Practice (3rd Edition), 2013. ISBN 0321399528.
Additional textbooks:
  • Edward Angel, Dave Shreiner. “Interactive Computer Graphics: A Top-Down Approach with WebGL” (7th Edition, 2014). ISBN 0133574849.
  • Peter Shirley, Steve Marschner, “Fundamentals of Computer Graphics”, 4rd ed, CRC Press, 2015. ISBN 1482229390.
  • Jos Dirksen, Learning Three.js: The JavaScript 3D Library for WebGL, Packt Publishing, 2013. ISBN 1782166289
  • Cornel Pokorny, Computer Graphics with WebGL, ITU Press. http://webgl-hbook.com/book
  • Wilhelm Burger and Mark J. Burge, Principles of Digital Image Processing: Fundamental Techniques, Springer, 2011. ISBN 1848001908.
  • Fletcher Dunn, Ian Parberry, 3D Math Primer for Graphics and Game Development, 2nd Edition. CRC Press, 2011. ISBN 1568817231.
Links: