Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
Welcome!
Intro to Computer Graphics
© 2020 Enrique Rosales
What is computer graphics?
© 2020 Enrique Rosales
Intro to Computer Graphics
Imaging
© 2020 Enrique Rosales
Intro to Computer Graphics
Any technology to create, preserve or duplicate images
Imaging (creation)
© 2020 Enrique Rosales
Intro to Computer Graphics
• 2D imaging
• Computer Graphics (usually 3D with a virtual camera involved)
• Visual Arts (Digital Photography, Sculpture, and Sketching)
• LIDAR Imagery (3D scanner for environments)
• Medical imaging
What is computer graphics?
© 2020 Enrique Rosales
Intro to Computer Graphics
The study of algorithms and systems for generating images with
Computers.
What is computer graphics?
© 2020 Enrique Rosales
Intro to Computer Graphics
The study of algorithms and systems for generating images with
Computers.
Almost every synthetic image that you can produce with a
computer is computer graphics.
Topics in Computer Graphics
© 2020 Enrique Rosales
Intro to Computer Graphics
• Imaging (2D)
• Modeling (dgp)
• Rendering
• Animation
• Interaction
• Simulation
• Digital Characters
• Virtual Reality
• Augmented Reality
• Capture
• Sketching
2D Imaging
© 2020 Enrique Rosales
Intro to Computer Graphics
Raster Images
Composed of
Individual pixels
Computer Graphics / 2D Imaging / Raster images
2D Imaging
© 2020 Enrique Rosales
Intro to Computer Graphics
Raster Images
Composed of
Individual pixels
Computer Graphics / 2D Imaging / Raster images
2D Imaging
© 2020 Enrique Rosales
Intro to Computer Graphics
Vector Images
Composed of Curves
Computer Graphics / 2D Imaging / Vector images
Modeling (3D surfaces)
© 2020 Enrique Rosales
Intro to Computer Graphics
CAD Models
Surfaces defined by
curves
Computer Graphics / Modeling / CAD models
Modeling (3D surfaces)
© 2020 Enrique Rosales
Intro to Computer Graphics
Polygon Meshes
Surfaces defined by
faces
Computer Graphics / Modeling / Polygon Meshes
Modeling (3D surfaces)
© 2020 Enrique Rosales
Intro to Computer Graphics
Computer Graphics / Modeling / Polygon Meshes
Polygon Meshes
Surfaces defined by
faces
Modeling (3D surfaces)
© 2020 Enrique Rosales
Intro to Computer Graphics
Computer Graphics / Modeling / Polygon Meshes
Example
Modeling (3D volumes)
© 2020 Enrique Rosales
Intro to Computer Graphics
Voxels
The equivalent of
pixels in 3D
Computer Graphics / Modeling / Voxels
Modeling (3D volumes)
© 2020 Enrique Rosales
Intro to Computer Graphics
Voxels
The equivalent of
pixels in 3D
Computer Graphics / Modeling / Voxels
Modeling (3D volumes)
© 2020 Enrique Rosales
Intro to Computer Graphics
Tetrahedral meshes
Computer Graphics / Modeling / Tetrahedral meshes
Modeling (3D volumes)
© 2020 Enrique Rosales
Intro to Computer Graphics
Hexahedral meshes
Computer Graphics / Modeling / Hexahedral meshes
HexaLab.net: an online viewer for hexahedral meshes
Matteo Bracci, Marco Tarini, Nico Pietroni, Marco Livesu, Paolo Cignoni
Procedural Modeling
© 2020 Enrique Rosales
Intro to Computer Graphics
Objects created from a
set of rules
Computer Graphics / Modeling / Procedural Modeling
Procedural Modeling of Buildings
[Müller et al. 2006]
Procedural Modeling
© 2020 Enrique Rosales
Intro to Computer Graphics
Computer Graphics / Modeling / Procedural Modeling
Cities Skylines
Objects created from a
set of rules
Rendering
© 2020 Enrique Rosales
Intro to Computer Graphics
Computer Graphics / Rendering /
Online Rendering
(Real-time rendering)
http://madebyevan.com/webgl-water/
Rendering
© 2020 Enrique Rosales
Intro to Computer Graphics
Computer Graphics / Rendering /
Offline Rendering
(Pre-rendering)
Animation
© 2020 Enrique Rosales
Intro to Computer Graphics
Computer Graphics / Animation /
More in CPSC 426
Interaction
© 2020 Enrique Rosales
Intro to Computer Graphics
Computer Graphics / Interaction /
HCI
(Human Computer
Interaction)
Simulation
© 2020 Enrique Rosales
Intro to Computer Graphics
Computer Graphics / Simulation /
Physics simulation
(RealFlow example)
Simulation
© 2020 Enrique Rosales
Intro to Computer Graphics
Computer Graphics / Simulation /
Simulation
© 2020 Enrique Rosales
Intro to Computer Graphics
Computer Graphics / Simulation /
http://david.li/fluid/
Digital Characters
© 2020 Enrique Rosales
Intro to Computer Graphics
Computer Graphics / Rendering /
Virtual Reality
© 2020 Enrique Rosales
Intro to Computer Graphics
Computer Graphics / VR /
Surface reconstruction
from VR drawings
Augmented Reality
© 2020 Enrique Rosales
Intro to Computer Graphics
Computer Graphics / Rendering /
Education
Capture
© 2020 Enrique Rosales
Intro to Computer Graphics
Computer Graphics / Capture /
LIDAR scanning
Sketching
© 2020 Enrique Rosales
Intro to Computer Graphics
Computer Graphics / Rendering /
Sketch cleanning
Applications of Computer Graphics
© 2020 Enrique Rosales
Movies
Games
CAD
Computer-Aided Analysis
Geomatics
ML training
Education
Training
Intro to Computer Graphics
Museography
Medical imaging
Information visualization
Architecture
VR
Therapy
Fabrication
SIGGRAPH
© 2020 Enrique Rosales
Intro to Computer Graphics
What you will learn
© 2020 Enrique Rosales
Computer Graphics Algorithms that usually NOT stay forever…
New Alternative Mathematical Tools
3D shapes
Transformations
Rendering algorithms
Shading models
Basic animation algorithms
Raytracing
Intro to Computer Graphics
How much math we will cover?
© 2020 Enrique Rosales
• Vectors
• Matrices
• Coordinate systems
• Transformations (linear, Affine)
• Forward kinematics
• Inverse kinematics
• Quaternions
• Rotors (A bit of Geometric Algebra)
• Intersections (A bit of Projective Geometric Algebra)
• Barycentric coordinates
• Bézier curves
• And more…
Intro to Computer Graphics
What you will not learn
© 2020 Enrique Rosales
• Hardware details
• OpenGl, three.js or DirectX tricks and hacks
• Software packages
• Artistic skills
• Deep theoretical proofs
• Machine Learning
Intro to Computer Graphics
What do you need to take this course?
© 2020 Enrique Rosales
Pre-requisites
CPSC 221 and one of MATH 200, MATH 217, MATH 226, MATH 253 and one of MATH 152, MATH 221, MATH 223.
Linear Algebra
Algorithms
Basic Data structures
Basic Geometry
Intro to Computer Graphics
Staff
© 2020 Enrique Rosales
Instructor
Enrique Rosales
Office hours:
Wednesday
4:30 – 5:30 pm
Intro to Computer Graphics
Teaching Assistant
Yibo JiaoTeaching Assistant
Tianxin Tao
Teaching Assistant
Jake Wong
Teaching Assistant
Mandy Wong
RequiredSoftware
© 2020 Enrique Rosales
• Geogebra
• 3ds Max
• Maxscript
• Blender
• Photoshop
• Illustrator
• Meshlab
Intro to Computer Graphics
• Javascript
• GLSL
• C++
• WebGL
• Three.js
SupportingSoftware
Communication
© 2020 Enrique Rosales
• Lectures on zoom TWF 3:00 to 4:00 pm (recorded)
• Labs on zoom
• Website: https://www.students.cs.ubc.ca/~cs-314/Vsep2020/
Lectures, assignments and other resources
• Piazza
• Canvas
• Textbooks (links on the website)
Intro to Computer Graphics
Grading
© 2020 Enrique Rosales
1 - Intro 5% (1 extra late day)
2 - Theory 1 4%
3 - Theory 2 4%
4 - Transformations 7% (4 bonus points)
5 - Shading 7% (4 bonus points)
6 - Theory 3 5%
7 - Raytracing 10% (8 bonus points)
8 - Theory 4 7% (4 bonus points)
midterm 1 12% (two-stage-exam TBD)
midterm 2 12% (two-stage-exam TBD)
Participation 2%
final exam 25%
3 late days for use during the term.
Intro to Computer Graphics
Expected outcome
© 2020 Enrique Rosales
A lot of fun learning!
SIGGRAPH Faculty Submitted Student Work
Intro to Computer Graphics
Next lecture
© 2020 Enrique Rosales
Topic:
Math review
We recommend:
• Check Piazza
• Check the Intro Assignment
• Check a couple of WebGl tutorials
• Play with Three.js• Optional reading: Chapters 4 and 5 from 3D math primer for graphics and game development
Intro to Computer Graphics
Questions?
Enrique Rosales
Thanks
Enrique Rosales