0% found this document useful (0 votes)
8 views27 pages

Course Intro

Uploaded by

gurdarshan681
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views27 pages

Course Intro

Uploaded by

gurdarshan681
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

Computer Graphics

Jochen Lang

[email protected]

Faculté de génie | 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 Right Subdivision

• Curves and Splines


Left Subdivision

Jochen Lang, EECS


[email protected]
Objectives of the Course
• Specifics
– Focus on interactive 3D rendering
– Focus on rasterization pipeline Geometry Geometry Processing (Per-
vertex operation)
Vertex Processor

– Course topics independent of any


specific rendering API
Rasterization

– Examples and labs use WebGL, Texturing (Per-fragment


operations)
Fragment
Processor

Three.js and “modern” OpenGL Textures and


Per-
Images Frame-

• Goal
fragment buffer
operations

– Understanding of rendering
techniques
– Working knowledge of Three.js,
WebGL, some OpenGL
• applicable cross-platform;
desktop, mobile and web.
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.
• In-person lectures and laboratories
• Discussions and office hours (also in person) 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 or in person.
– Individual questions in the 1:1 chat or in person.

Jochen Lang, EECS


[email protected]
Textbooks
• Strongly Recommended
– Steve Marschner and Peter Shirley, “Fundamentals of
Computer Graphics”, 5th ed., A.K. Peters, 2021. List
price US $ 150.00
• 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-Möller, Eric Haines, Naty Hoffman,
Angelo Pesce, Michał Iwanicki, and Sébastien Hillaire,
Real-Time Rendering, A K Peters/CRC Press, 4th ed.,
2018. List price US $ 110.00
• 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. List price US $
49.99
• Kouichi Matsuda and Rodger Lea, WebGL Programming
Guide: Interactive 3D Graphics Programming with
WebGL, Addison-Wesley Professional, 2013. Digital List
Price US $47.99.
• Jos Dirksen, Learning Three.js: Programming 3D
Animations and Visualizations for the Web with HTML5
and WebGL, 3rd ed., 2018. List price CAD $ 71.99
• Farhad Ghayour and Diego Cantor, Real-Time 3D
Graphics with WebGL 2, 2nd ed., Packt Publishing,
2018. List price CAD $ 61.99

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 (cont’d)
• 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 (cont’d)
• 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 (cont’d)

• Triangles and Rasterization


– Linear interpolation
– Triangles
– Baricentric coordinates and triangle rasterization
• Midterm . . . . . . . . . . . . . . . . . . Feb. 12
– Material covered in class and labs
– Midterm is on-line on Virtual Campus during class
time
• Reading Week . . . . . . . . . . . . . . Feb 17-21
– No classes, no lab

Jochen Lang, EECS


[email protected]
Syllabus (cont’d)
• Shading
– Lighting
– Diffuse Shading
– Phong Shading
– OpenGL lighting and shading
• 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

Jochen Lang, EECS


[email protected]
Syllabus (cont’d)
• More Texturing Techniques
– Bump Mapping
– Displacement Mapping
– Environment Maps
– Shadow Mapping
• Ray Tracing
– Basic algorithm
– Eye and shadow rays
– Acceleration data structures
• Volume Rendering
– Overview
– Particle-light interaction
– Volume rendering integral, ray casting and alpha blending
– Shear-Warp algorithm, 3D Textures, GPU approaches
– NeRF Rendering

Jochen Lang, EECS


[email protected]
Syllabus (cont’d)
• Point-based Rendering or Splatting
– Pure point representation and neighborhoods
– Surface splats
– PBR or rendering approaches
– 3D Gaussian Splatting
• Bezier Curves
– Bezier curves
– Subdivision
– Bernstein-Bezier formula
– De Casteljau algorithm
• Splines
– Canonical form, constraint and basis matrix
– Catmull-Rom splines

Jochen Lang, EECS


[email protected]
Syllabus (cont’d)

• Spline Surfaces
– Bi-linear patches
– Bezier surfaces
– Loop subdivision
• Physics-based rendering
– Motivation and goals
– Particle systems
– Time stepping and basic equation
– ODE solvers

Jochen Lang, EECS


[email protected]
Marking Scheme
On-line lab quizzes (10) 10 marks
Assignments (3) 9 + 9 + 8 = 26 marks
Final Assignment (incl. presentation
20 marks
on Teams, groups of 2)
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 brief project demo/presentation in the
last lecture (and on MS Teams)
• Groups of 4
• Presentation of the project by a 2-3 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.

Jochen Lang, EECS


[email protected]
Academic Integrity and Academic
Misconduct
– Any copying on an assignment will result in an
automatic zero for the assignment.
– For any academic misconduct possible university
sanctions apply.
– The rules on academic integrity of the University of
Ottawa apply. Please familiarize yourself with them.
• Use of AI tools in CSI4130
– Any code that is not your own, i.e., looked-up from a
webpage with a browser or using a LLM must be
clearly marked in your code.
– You must add a comment which indicates the source
and clearly mark the start and end of the section.
– Remember source code is covered by copyright.

Jochen Lang, EECS


[email protected]
Computer Graphics Applications

• Movies Pixar http://www.pixar.com


• Games
• Fabrication Jurassic Park,
Universal Studios, 1993.
• Virtual reality
• Scientific visualization The Matrix, Warner Brothers, 1999.
• Medical
• Industrial design
Lord of the Rings, 2001-2003
• E-commerce New Line Productions, Inc.
• Architecture
• Cultural Heritage
• Art
• (Mobile) User interfaces
Jochen Lang, EECS
[email protected]
Computer Graphics Applications
EA, Vancouver, Montreal, and other
• Movies Radical Entertainment - Activision,
• Games Vancouver (defunct)
• Virtual reality BioWare (EA), Edmonton
• Fabrication
UbiSoft, Montreal, Quebec, Toronto and other
• Scientific visualization
• Industrial design RockStar, Toronto
• Medical
Magmic Games, Ottawa
• E-commerce
• Architecture Sega/Relic Entertainment, Vancouver
• Cultural heritage
Snowed-In Studios, Ottawa
• Art
• (Mobile) User interfaces
Jochen Lang, EECS
[email protected]
Computer Graphics Applications
Brunton, Alan, and
• Movies Lubna Abu Rmaileh:
Displaced signed
• Games distance fields for
• Virtual reality additive manufacturing,
ACM Siggraph 2021.
• Fabrication
• Scientific visualization
• Industrial design
• Medical
• E-commerce
C. Schumacher, B. Bickel,
• Architecture J. Rys, S. Marschner, C.
Daraio, M. Gross:
• Cultural heritage
Microstructures to Control
• Art Elasticity in 3D Printing,
ACM Siggraph 2015
• (Mobile) User interfaces
Jochen Lang, EECS
[email protected]
Computer Graphics Applications
Panuelos J, Goldade R, Grinspun
• Movies E, Levin D, Batty C. PolyStokes:
A polynomial model reduction
• Games method for viscous fluid
• Virtual reality simulation. ACM Siggraph 2023.

• Fabrication
• Scientific visualization
• Medical
N. Chentanez
• Industrial design and M. Müller,
• E-commerce NVIDIA
PhysX
• Architecture Research, 2011
• Cultural heritage D. Weiskopf, K. Engel,
and T. Ertl, E. Vuçini, T. Möller and M. E.
• Art VIS Stuttgart, 2003 Gröller, SFU and Vienna U., 2009
• (Mobile) User interfaces
Jochen Lang, EECS See paraview for more examples.
[email protected]
Computer Graphics Applications
AutoCAD, Catia,
• Movies
SolidEdge, Autodesk
• Games Inventor, SolidWorks
• Virtual reality
• Scientific visualization TinkerCad
• Medical
• Industrial design, CAD, 3D printing
• E-commerce
SketchUp
• Architecture
• Cultural heritage
• Art OpenRT,
P.Slusallek et al.,
• (Mobile) User interfaces Saarbrücken

Jochen Lang, EECS


[email protected]
Computer Graphics Applications Rome Reborn
VR, Image ©
The Board of
• Movies Visitors of the
University of
• Games Virginia, 2008
• Virtual reality
• Fabrication M. Levoy et
al., Stanford
• Scientific visualization
• Medical
• Industrial design
• E-commerce
H. Lensch, J. Lang, M. Goesele, C.
• Architecture Rocchini, P. Cignoni, C. Montani, P.
• Cultural heritage Pingi, R. Scopigno, MPI Informatik,
CNR Italy, 2003
• Art F. Bernardini, H. Rushmeier
• (Mobile) User interfaces et al., IBM Watson
Jochen Lang, EECS
[email protected]
Computer Graphics Applications

• Movies
• Games
• Virtual reality Liao J, Yao Y, Yuan L, Hua G, Kang SB, 2017
• Digital printing Copyright ACM

• Scientific visualization
T. Li and D.
• Medical
Mould, 2011
• Industrial design
• E-commerce
• Architecture
• Cultural heritage R. Azami, L.
Doyle and D. M. Zhao,
• Art Mould, 2019 S.-C. Zhu,
• (Mobile) User interfaces 2010

Jochen Lang, EECS


[email protected]
See ACM Siggraph Trailer for
Research Areas an Intro

• Core Areas:
– (Geometric) Modeling: curves and surfaces,
parameterization
– Rendering: global illumination, real-time, hardware
support, libraries, cloud
– Animation: characters, physical phenomena
• Further Areas:
– User interaction, Virtual and augmented reality,
Visualization, 3D Scanning, Image processing, NPR
• Current Trends:
– Generative models (LLMs and Diffusion), deep
learning, neural rendering, digital fabrication,
physical properties
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
– Bézier 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]

You might also like