CSCI 420: Computer Graphics Fall 2017 Hao Li - - PowerPoint PPT Presentation

csci 420 computer graphics
SMART_READER_LITE
LIVE PREVIEW

CSCI 420: Computer Graphics Fall 2017 Hao Li - - PowerPoint PPT Presentation

CSCI 420: Computer Graphics Fall 2017 Hao Li http://cs420.hao-li.com 1 http://hao.li/ Geometric Capture [Lab] 2 About Me Industrial Light & Magic Weta Digital USC Graphics http://gfx.usc.edu 6 Science, Engineering, & Art High


slide-1
SLIDE 1

CSCI 420: Computer Graphics

Hao Li

http://cs420.hao-li.com

1

Fall 2017

slide-2
SLIDE 2

Geometric Capture [Lab]

http://hao.li/

2

slide-3
SLIDE 3

About Me

slide-4
SLIDE 4

Industrial Light & Magic

slide-5
SLIDE 5

Weta Digital

slide-6
SLIDE 6

USC Graphics

6

http://gfx.usc.edu

slide-7
SLIDE 7
slide-8
SLIDE 8

Science, Engineering, & Art

slide-9
SLIDE 9

High Tech & Capital of Entertainment

Disney

DreamWorks

Activision

Google

slide-10
SLIDE 10

Silicon Beach

slide-11
SLIDE 11

Computer Graphics vs. Vision

11

slide-12
SLIDE 12

Computer Vision

input an image ROI face shrimp 20% lobster 60% crap 40% mouth open 70%

  • utput

Hao is eating a lobster Computer Vision Story Image

slide-13
SLIDE 13

Computer Graphics

computer graphics pipeline and… Action! Computer Graphics Image Story

slide-14
SLIDE 14

Related to many Disciplines

14

slide-15
SLIDE 15

Applications

15

slide-16
SLIDE 16

Computer Aided Design

slide-17
SLIDE 17

Scientific Visualization

slide-18
SLIDE 18

Training / Simulation

slide-19
SLIDE 19

Entertainment

slide-20
SLIDE 20

VFX

slide-21
SLIDE 21

Games

slide-22
SLIDE 22

Computing Illustrations

22

  • A. Hertzmann, D. Zorin

SIGGRAPH 2000

Non-Photorealistic Rendering (NPR)

Pixar

slide-23
SLIDE 23

Into the Mainstream

23

slide-24
SLIDE 24

Home Entertainment

slide-25
SLIDE 25

Human Computer Interfaces

slide-26
SLIDE 26

In Tablet

slide-27
SLIDE 27

Laptops

slide-28
SLIDE 28

Laptops

slide-29
SLIDE 29

Smartphones

slide-30
SLIDE 30

3D Printing

slide-31
SLIDE 31

Fashion Industry

slide-32
SLIDE 32

3D Cities

slide-33
SLIDE 33

Google Earth

slide-34
SLIDE 34

Oculus VR

slide-35
SLIDE 35

Oculus Connect 2 (2015)

slide-36
SLIDE 36

Oculus Oculus Connect 3 (2016)

slide-37
SLIDE 37

AR

slide-38
SLIDE 38

Impacting Science

38

slide-39
SLIDE 39

Cardiology

slide-40
SLIDE 40

Evolutionary Biology

slide-41
SLIDE 41

Cancer Treatment

slide-42
SLIDE 42

Target Audience

42

  • MSc students, undergraduates, or interested PhD students
  • Computer Science, Computer Engineering, Mathematics,

Physics, Game Program, Biomedicine, Bioengineering, etc.

  • Computer Graphics, Computer Vision, Robotics, Machine

Learning, Signal and Image Processing, Medical Imaging

slide-43
SLIDE 43

Administrative Stuff

43

slide-44
SLIDE 44

Administrative

44

When and where?

  • Tuesday, 3:30 pm - 6:50 pm
  • Discussions on Thursday, TBA and only when announced
  • LVL 17 (Leavey Library), 651 W 35th St.

Credits

  • 4 Units

This week

  • No Discussion
slide-45
SLIDE 45

The Team

Instructor

  • Hao Li, hao.li@usc.edu
  • Office: SAL 244
  • Office hours: Tue, 2-3 PM

45

Assistants

  • Chloe Legendre, legendre@ict.usc.edu
  • Office: TBD
  • Office hours: TBD
  • Yijing Li, yijingl@usc.edu
  • Office: TBD
  • Office hours: TBD
  • Zimo Li, zimoli@usc.edu
  • Office: TBD
  • Office hours: TBD
slide-46
SLIDE 46

Course Information On-Line

46

http://cs420.hao-li.com/

  • Schedule (slides, readings)
  • Assignments (details, due dates)
  • Software (libraries, hints)
  • Resources (books, tutorial, links)

http://blackboard.usc.edu/

  • Submit assignments
  • Forum, Q/A
slide-47
SLIDE 47

Prerequisites

47

Math

  • Math 225 (Linear Algebra and Differential Equations)
  • Familiarity with calculus and linear algebra

Coding

  • CSCI 104 (Data Structures and Object-Oriented Design)
  • C/C++ programming
slide-48
SLIDE 48

Textbooks

48

Interactive Computer Graphics

  • A top-down approach with OpenGL, Fifth Edition, Edward

Angel, Addison-Wesley

OpenGL Programming Guide (“Red Book”)

  • Basic version also available on-line (see Resources)
slide-49
SLIDE 49

Grading

49

Exercises

  • Ex 1: 16 %
  • Ex 2: 17 %
  • Ex 3: 17 %

Exams

  • Midterm: 20% (one shee of notes only, in class)
  • Final: 30% (one sheet of notes only)
slide-50
SLIDE 50

Academic Integrity

50

  • Do not copy any parts of the assignments from

anyone

  • Do not look at other student’s code
  • Collaboration only for the project
  • USC Office of Student Judicial Affairs and

Community Standards (Hell) will be notified

  • Don’t cheat, mkay?
slide-51
SLIDE 51

Assignment Policies

51

Programming Assignments

  • Hand in via Blackboard by end of due date
  • Functionality and features
  • Style and documentation
  • Artistic impression

3 late days, usable any time during semester Academic integrity policy applied rigorously

slide-52
SLIDE 52

Computer Graphics

52

One of the “core” computer science disciplines:

  • Algorithms and Theory
  • Artificial Intelligence
  • Computer Architecture
  • Computer Graphics
  • Computer Security
  • Computer Systems
  • Computer Vision
  • Databases
  • Machine Learning
  • Networks
  • Software Engineering
slide-53
SLIDE 53

Course Overview

53

Theory / Computer Graphics Disciplines

  • Modeling: how to represent objects
  • Animation: how to control and represent motion
  • Rendering: how to create images of objects
  • Image Processing: how to edit images

Practice: OpenGL graphics library Not in this course:

  • Human-Computer Interaction
  • Graphic Design
slide-54
SLIDE 54

3D Computer Graphics Pipeline

54

Modeling Design Animation Simulation 3D Rendering

slide-55
SLIDE 55

Emerging Fields

55

3D Capture Modeling Design Animation Simulation 3D Printing 3D Rendering Sound Rendering

slide-56
SLIDE 56

Goals in Computer Graphics

56

Synthetic images indistinguishable from reality Practical, scientifically sounds, in real time Creating a new reality (not necessarily scientific) Practical, aesthetically pleasing, in real time

slide-57
SLIDE 57

SIGGRAPH & SIGGRAPH Asia

57

  • Main computer graphics event
  • Twice a year
  • up to 30K attendees
  • Academia, industry, artists
slide-58
SLIDE 58

Course Overview

58

slide-59
SLIDE 59

1.1 Introduction

59

  • Graphics@USC
  • What is Computer Graphics?
  • Administrative Stuff
  • Course Overview
  • Research Trends
slide-60
SLIDE 60

1.2 OpenGL Basics

60

  • Primitives and attributes
  • Color
  • Viewing
  • Control functions
  • [Angel, Ch. 2]
slide-61
SLIDE 61

2.1 Input & Interaction

61

  • Clients & servers
  • Event driven programming
  • Text & fonts
  • [Angel, Ch. 3]

CPU GPU “Client” “Server”

slide-62
SLIDE 62

2.2 Objects & Transformations

62

  • Linear algebra review
  • Coordinate systems and frames
  • Rotation, translation, scaling
  • Homogenous coordinates
  • OpenGL transformations
  • [Angel, Ch. 4]
slide-63
SLIDE 63

3.1 Viewing and Projection

63

  • Orthographic projection
  • Perspective projection
  • Camera positioning
  • Projection in OpenGL
  • Hidden surface removal
  • [Angel, Ch. 5]
slide-64
SLIDE 64

3.2 Hierarchical Models

64

  • Re-using objects
  • Animations
  • OpenGL routines
  • Parameters and transformations
  • [Angel, Ch. 10]
slide-65
SLIDE 65

4 Curves & Surfaces

65

  • Recall 3D calculus
  • Explicit representation
  • Implicit representation
  • Parametric curves & surfaces
  • Hermite curves and surfaces
  • Bézier curves and surfaces
  • Splines
  • Curves and surfaces in OpenGL
  • [Angel, Ch. 12]
slide-66
SLIDE 66

5.1 Light & Shading

66

  • Light sources
  • Ambient, diffuse, and specular reflection
  • Normal vectors
  • Material properties in OpenGL
  • Radiosity
  • [Angel, Ch. 6]

Tobian R. Metoc

slide-67
SLIDE 67

5.2 Rendering

67

  • Clipping
  • Bounding boxes
  • Hidden-surface removal
  • Line drawing
  • Scan conversion
  • Anti-aliasing
  • [Angel, Ch. 7,8]
slide-68
SLIDE 68

6-8 Textures and Pixels

68

  • Texture mapping
  • OpenGL texture primitives
  • Bump maps
  • Environment maps
  • Opacity and blending
  • Image filtering
  • [Angel, Ch. 8]

texture mapping

slide-69
SLIDE 69

9-10 Ray Tracing

69

www.yafaray.org

  • Basic ray tracing [Angel, Ch. 13]
  • Spatial data structures [Angel, Ch. 10]
  • Motion blur
  • Soft shadows
slide-70
SLIDE 70

11.1 Radiosity

70

  • Local vs global illumination
  • Interreflections
  • Radiosity equation
  • Solution methods
  • [Angel Ch. 13.4-5]
slide-71
SLIDE 71

11.2 Animation

71

  • Traditional Animation
  • Keyframe Animation
  • Computer Animation
slide-72
SLIDE 72

12 Physically Based Models

72

  • Particle systems
  • Spring forces
  • Cloth
  • Collisions
  • Constraints
  • Fractals
  • [Angel, Ch. 11]
slide-73
SLIDE 73

13 Image Processing

73

  • Blending
  • Display Color Models
  • Filters
  • Dithering
  • [Angel, Ch 7-8]
slide-74
SLIDE 74

14-15 Guest & “Wildcard” Lectures

74

  • Realtime 3D Reconstruction
  • Geometry Processing
  • Graphics & Machine Learning
  • Data-Driven Modeling
slide-75
SLIDE 75

Research Trends

75

slide-76
SLIDE 76

From Offline to Realtime

76

slide-77
SLIDE 77

From Graphics to Vision

77

[Newcombe et al. ’11] KinectFusion multi-view photometric stereo

slide-78
SLIDE 78

From Graphics to Fabrication

78

3D printing

slide-79
SLIDE 79

From Production to Consumers

79

  • nline shopping

VFX

slide-80
SLIDE 80

Acknowledgements

80

Lecture based on material from:

  • Jernej Barbic, USC
  • Saty Raghavachary, USC
  • Frank Pfenning, CMU
  • Jessica Hodgins, CMU
  • Mark Pauly, EPFL
  • Justin Solomon, Stanford/Princeton/MIT
  • Cornell, MIT, UC Berkeley, …
slide-81
SLIDE 81

Next Time

81

  • Basic Graphics Programming
  • OpenGL Pipeline
slide-82
SLIDE 82

http://cs420.hao-li.com

Thanks!

82