Computer Graphics
Jochen Lang
[email protected]
Faculte de genie | Faculty of Engineering
Jochen Lang, EECS [email protected]
Objectives of the Course
General
The course is designed to teach the fundamentals of computer graphics
3D Graphics
Geometric primitives
Meshes
Image-based techniques Animation
Rasterization pipeline
Intro to ray tracing
Curves and Splines
Left Subdivision
Right Subdivision
Jochen Lang, EECS [email protected]
Objectives of the Course
Specifics
Focus on interactive 3D rendering
Focus on rasterization pipeline
Course topics independent of any specific rendering API
Examples and labs use WebGL, Three.js and modern OpenGL
Goal
Understanding of rendering techniques
Working knowledge of Three.js, WebGL, some OpenGL
applicable cross-platform; desktop, mobile and web.
Geometry
Vertex Processor
Fragment Processor
Frame- buffer
Geometry Processing (Per- vertex operation)
Rasterization
Texturing (Per-fragment operations)
Textures and Images
Per- fragment operations
Jochen Lang, EECS [email protected]
Course Organization
Complete syllabus at https://www.site.uottawa.ca/~jlang/csi4130.html
(Also as pdf from Virtual Campus)
Course notes, laboratory exercises and assignments will be made available through Virtual Campus.
All lectures, laboratories, discussions and office hours will occur through MS Teams.
Please ask questions:
General questions about lectures and the course in the general channel.
Questions about assignments in the assignment channel.
Individual questions in the 1:1 chat.
Jochen Lang, EECS [email protected]
Textbooks
Strongly Recommended
Steve Marschner and Peter Shirley, Fundamentals of Computer Graphics, 4th ed., A.K. Peters, 2015.
This is an excellent textbook for this course. It is more teaching- and research-oriented. It does not try to describe any API or code.
Recommended
Tomas Akenine-Moller, Eric Haines, Naty Hoffman, Angelo Pesce, Micha Iwanicki, and Sebastien Hillaire, Real-Time Rendering, A K Peters/CRC Press, 4th ed., 2018.
This text describes real-time rendering techniques suitable for games and on-line applications. It provides (mostly) additional information to the course.
Jochen Lang, EECS [email protected]
Programming References
Dan Ginsburg, Budirijanto Purnomo, Dave Shreiner and Aaftab Munshi, OpenGL ES 3.0 Programming Guide, 2nd Ed., Addison-Wesley Professional, 2014.
Kouichi Matsuda and Rodger Lea, WebGL Programming Guide: Interactive 3D Graphics Programming with WebGL, Addison-Wesley Professional, 2013.
Jos Dirksen, Learning Three.js: Programming 3D Animations and Visualizations for the Web with HTML5 and WebGL, 3rd ed., 2018
John Kessenich, Graham Sellers, Dave Shreiner, OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.5 with SPIR-V, 9th ed., Addison-Wesley, 2016.
Jochen Lang, EECS [email protected]
Syllabus
Introduction
Applications , brief history, research areas, class organization Self-Study: Basic math, Textbook, on-line appendix
Drawing and Animation
Drawing and graphics pipeline Modelling a Tetrahedron
Projections from 3D to 2D
Rasterization
Animations
Introduction to OpenGL, WebGL and Three.js
Game or Rendering Engines, Graphics API, Low-level APIs Three.js, OpenGL (ES) and WebGL
Programmable pipeline
Drawing a triangle (yeah!)
Jochen Lang, EECS [email protected]
Syllabus (contd)
Transformations in 2D
Why spatial transformations in computer graphics?
Scaling, shearing and rotation
Multiple transformations: Matrix composition and decomposition
Self-Study: Basic linear algebra, Textbook, on-line appendix
Transformations in 3D
Translations and homogeneous transforms 3D Transformation
Coordinate Transformations Inverse transforms
Coordinate transforms
Jochen Lang, EECS [email protected]
Syllabus (contd)
Scenegraph and Viewing Transformations Scenegraph transforms
Viewing and canonical viewing volume
Camera Modelling
3D to 2D projection
Projection matrix
Camera modelling in WebGL
Curves and Surfaces
2D implicit and parametric curves 3D implicit and parametric curves 3D parametric surfaces
Linear interpolation
Jochen Lang, EECS [email protected]
Syllabus (contd)
Triangles and Rasterization
Linear interpolation
Triangles
Baricentric coordinates and triangle rasterization
ReadingWeek..Feb14-20 No classes, no lab
Midterm Feb. 22 Material covered in class and labs
Jochen Lang, EECS [email protected]
Syllabus (contd)
Shading
Lighting
Diffuse Shading
Phong Shading
OpenGL lighting and shading
Vertex Pipeline Review
OpenGL/WebGL programs and review of vertex pipeline
Vertex shader
Loading, compiling and linking a shader
Setting up vertex attributes
Sending uniforms
Drawing calls
Jochen Lang, EECS [email protected]
Syllabus (contd)
Meshes and 2D Texture Mapping Indexed meshes
2D texture mapping
Sphere mapping
3D Texture and Noise
3D texture mapping
Noise textures
OpenGL Perlin noise shader
More Texturing Techniques Bump Mapping
Displacement Mapping Environment Maps
Shadow Mapping
Jochen Lang, EECS [email protected]
Syllabus (contd)
Bezier Curves
Bezier curves
Subdivision
Bernstein-Bezier formula De Casteljau algorithm
Splines
Canonical form, constraint and basis matrix Catmull-Rom splines
Spline Surfaces
Bi-linear patches Bezier surfaces Loop subdivision
Jochen Lang, EECS [email protected]
Syllabus (contd)
Physics-based rendering
Motivation and goals
Particle systems
Time stepping and basic equation ODE solvers
Raytracing
Basic algorithm
Eye and shadow rays
Acceleration data structures Commercial ray tracers
Jochen Lang, EECS [email protected]
Syllabus (contd)
Graphics Pipeline Clipping
Z-buffer
Perspective correct texture mapping
Spatial Data Structures
Spatial data structures
Binary Space Partioning tree
Colour and Illumination
Brief overview of human vision
CIE Tristimulus Values
Chromaticity and Luminance
RGB Colours and Colour Manipulatio
Jochen Lang, EECS [email protected]
Marking Scheme
On-line quizzes (labs and lectures)
10 marks
Assignments (3)
9 + 9 + 8 = 26 marks
Final Assignment (incl. presentation on Teams, groups of 2)
20 marks
Midterm
14 marks
Final exam
30 marks
Assignments 1-3 to be carried out alone.
The four programming assignments must be submitted via Virtual Campus.
Late hand-ins will NOT be accepted.
Jochen Lang, EECS [email protected]
Assignment 4
Assignment 4 is a small project
It includes a project presentation on Teams
Recommended in groups of 2
Presentation of the project by a 3-4 minute video to be uploaded on MS Teams.
Early upload will be rewarded by bonus marks!
The best video will be selected by you!
If the presentation is missing, assignment 4 will receive at most 10 marks.
Examples from the past.
Jochen Lang, EECS [email protected]
Academic Fraud and Plagiarism
Any copying on an assignment will result in an automatic zero for the assignment.
For any plagiarism or fraud possible university sanctions apply.
The plagiarism rules of the University of Ottawa apply. Please familiarize yourself with them.
Jochen Lang, EECS [email protected]
Computer Graphics Applications
Movies
Games
Digital printing
Virtual reality
Scientific visualization
Medical
Industrial design
E-commerce
Architecture
Cultural Heritage
Art
(Mobile) User interfaces
Pixar http://www.pixar.com
Jurassic Park,
Universal Studios, 1993.
The Matrix, Warner Brothers, 1999.
Lord of the Rings, 2001-2003 New Line Productions, Inc.
Jochen Lang, EECS [email protected]
Computer Graphics Applications
Movies
Games
Virtual reality
Digital printing
Scientific visualization
Industrial design
Medical
E-commerce
Architecture
Cultural heritage
Art
(Mobile) User interfaces
EA Canada, Vancouver and Montreal Radical Entertainment Activision, Vancouver BioWare, Edmonton
UbiSoft, Montreal, Quebec, Halifax and Toronto
RockStar, Toronto
Magmic Games, Ottawa Sega/Relic Entertainment, Vancouver Snowed-In Studios, Ottawa
Play Brains, Ottawa
Jochen Lang, EECS [email protected]
Computer Graphics Applications
Movies
Games
Virtual reality
Digital printing
Scientific visualization
Industrial design
Medical
E-commerce
Architecture
Cultural heritage
Art
(Mobile) User interfaces
C. Schumacher, B. Bickel, J. Rys, S. Marschner, C. Daraio, M. Gross: Microstructures to Control Elasticity in 3D Printing, ACM Siggraph 2015
C. Dai, C.C. Wang, C. Wu, S. Lefebvre, G. Fang, Y. J. Liu: Support-free volume printing by multi-axis motion. ACM Siggraph 2018
Jochen Lang, EECS [email protected]
Computer Graphics Applications
Movies
Games
Virtual reality
Digital printing
Scientific visualization
Medical
Industrial design
E-commerce
Architecture
Cultural heritage
Art
(Mobile) User interfaces
D. Weiskopf, K. Engel, and T. Ertl,
VIS Stuttgart, 2003
N. Chentanez and M. Muller, NVIDIA PhysX Research, 2011
E. Vucini, T. Moller and M. E. Groller, SFU and Vienna U., 2009
Jochen Lang, EECS [email protected]
See paraview for more examples.
Computer Graphics Applications
Movies
Games
Virtual reality
Scientific visualization
Medical
Industrial design, CAD, 3D printing
E-commerce
Architecture
Cultural heritage
Art
(Mobile) User interfaces
AutoCAD, Catia, SolidEdge, Autodesk Inventor, SolidWorks
TinkerCad
SketchUp
OpenRT, P.Slusallek et al., Saarbrucken
Jochen Lang, EECS [email protected]
Computer Graphics Applications
Rome Reborn VR, Image The Board of Visitors of the University of Virginia, 2008
M. Levoy et al., Stanford
Movies
Games
Virtual reality
Digital printing
Scientific visualization
Medical
Industrial design
E-commerce
Architecture
Cultural heritage
Art
(Mobile) User interfaces
H. Lensch, J. Lang, M. Goesele, C. Rocchini, P. Cignoni, C. Montani, P. Pingi, R. Scopigno, MPI Informatik, CNR Italy, 2003
F. Bernardini, H. Rushmeier et al., IBM Watson
Jochen Lang, EECS [email protected]
Computer Graphics Applications
Movies
Games
Virtual reality
Digital printing
Scientific visualization
Medical
Industrial design
E-commerce
Architecture
Cultural heritage
Art
(Mobile) User interfaces
Liao J, Yao Y, Yuan L, Hua G, Kang SB, 2017 Copyright ACM
T. Li and D. Mould, 2011
R. Azami, L. Doyle and D. Mould, 2019
M. Zhao, S.-C. Zhu, 2010
Jochen Lang, EECS [email protected]
Research Areas
Core Areas:
See ACM Siggraph Trailer for an Intro
(Geometric) Modeling: curves and surfaces, parameterization
Rendering: global illumination, real-time, hardware support, libraries
Animation: characters, physical phenomena
Further Areas:
User interaction, Virtual and augmented reality, Visualization, 3D Scanning, Image processing, NPR
Current Trends:
Deep learning, visual computing, automatic modeling support, computational photography, digital fabrication
Jochen Lang, EECS [email protected]
Brief History
MIT Harvard Utah
User interfaces: Sketchpad system (Sutherland, MIT, 1962)
Homogeneous coordinates for CG, hidden line removal (Roberts, Harvard, 1960s)
Virtual Reality Harvard 3D Display (Seitz, MIT, late 1960s)
Coons patches (MIT, 1965) Renault
Bezier curves (late 1960s)
Jochen Lang, EECS [email protected]
Next lecture
Drawing and Animation
Drawing and graphics pipeline Modelling a Tetrahedron
Projections from 3D to 2D
Rasterization
Animations
Jochen Lang, EECS [email protected]
Reviews
There are no reviews yet.