Welcome! []Intro to Computer Graphics • 2D imaging • Computer Graphics (usually 3D with a...

Preview:

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

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

Recommended