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

csci 420 computer graphics
SMART_READER_LITE
LIVE PREVIEW

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

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


slide-1
SLIDE 1

CSCI 420: Computer Graphics

Hao Li

http://cs420.hao-li.com

1

Fall 2014

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

USC Graphics

5

http://gfx.usc.edu

slide-6
SLIDE 6

Science, Engineering, & Art

slide-7
SLIDE 7

High Tech & Capital of Entertainment

Disney

DreamWorks

Activision

Google

slide-8
SLIDE 8

Computer Graphics vs. Vision

8

slide-9
SLIDE 9

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-10
SLIDE 10

Computer Graphics

computer graphics pipeline and… Action! Computer Graphics Image Story

slide-11
SLIDE 11

Related to many Disciplines

11

slide-12
SLIDE 12

Applications

12

slide-13
SLIDE 13

Computer Aided Design

slide-14
SLIDE 14

Scientific Visualization

slide-15
SLIDE 15

Training / Simulation

slide-16
SLIDE 16

Entertainment

slide-17
SLIDE 17

VFX

slide-18
SLIDE 18

Computing Illustrations

18

  • A. Hertzmann, D. Zorin

SIGGRAPH 2000

Non-Photorealistic Rendering (NPR)

Pixar

slide-19
SLIDE 19

Into the Mainstream

19

slide-20
SLIDE 20

Home Entertainment

slide-21
SLIDE 21

Human Computer Interfaces

slide-22
SLIDE 22

In Tablet

slide-23
SLIDE 23

Laptops

slide-24
SLIDE 24

Laptops

slide-25
SLIDE 25

Smartphones

slide-26
SLIDE 26

3D Printing

slide-27
SLIDE 27

Fashion Industry

slide-28
SLIDE 28

3D Cities

slide-29
SLIDE 29

Google Earth

slide-30
SLIDE 30

Oculus VR

slide-31
SLIDE 31

AR

slide-32
SLIDE 32

Into the Mainstream

32

slide-33
SLIDE 33

Cardiology

slide-34
SLIDE 34

Evolutionary Biology

slide-35
SLIDE 35

Cancer Treatment

slide-36
SLIDE 36

Target Audience

36

  • 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-37
SLIDE 37

Administrative Stuff

37

slide-38
SLIDE 38

Administrative

38

When and where?

  • Tuesday, Thursday, 11:00 am - 12:20 pm
  • Discussions on Thursday, 5:00 pm - 5:50 pm
  • TTH 208 (Mark Taper Hall)

Credits

  • 4 Units

This week

  • No Discussion
slide-39
SLIDE 39

The Team

Instructor

  • Hao Li, hao.li@usc.edu
  • Office: SAL 244
  • Office hours: Tue, 2-4 PM
  • Chongyang Ma, chongyang.ma@usc.edu

39

Assistants

  • Kyle Olszewski, olszewsk@usc.edu
  • Office: TBD
  • Office hours: TBD
  • Liwen Hu, liwenhu@usc.edu
slide-40
SLIDE 40

Course Information On-Line

40

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-41
SLIDE 41

Prerequisites

41

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-42
SLIDE 42

Textbooks

42

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-43
SLIDE 43

Grading

43

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-44
SLIDE 44

Academic Integrity

44

  • 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-45
SLIDE 45

Assignment Policies

45

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-46
SLIDE 46

Computer Graphics

46

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-47
SLIDE 47

Course Overview

47

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-48
SLIDE 48

3D Computer Graphics Pipeline

48

Modeling Design Animation Simulation 3D Rendering

slide-49
SLIDE 49

Emerging Fields

49

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

slide-50
SLIDE 50

Goals in Computer Graphics

50

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-51
SLIDE 51

SIGGRAPH & SIGGRAPH Asia

51

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

Course Overview

52

slide-53
SLIDE 53

1.1 Introduction

53

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

1.2 OpenGL Basics

54

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

2.1 Input & Interaction

55

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

CPU GPU “Client” “Server”

slide-56
SLIDE 56

2.2 Objects & Transformations

56

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

3.1 Viewing and Projection

57

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

3.2 Hierarchical Models

58

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

4 Curves & Surfaces

59

  • 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-60
SLIDE 60

5.1 Light & Shading

60

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

Tobian R. Metoc

slide-61
SLIDE 61

5.2 Rendering

61

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

6-8 Textures and Pixels

62

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

texture mapping

slide-63
SLIDE 63

9-10 Ray Tracing

63

www.yafaray.org

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

11.1 Radiosity

64

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

11.2 Animation

65

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

12 Physically Based Models

66

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

13 Image Processing

67

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

14-15 Guest & “Wildcard” Lectures

68

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

Research Trends

69

slide-70
SLIDE 70

From Offline to Realtime

70

slide-71
SLIDE 71

From Graphics to Vision

71

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

slide-72
SLIDE 72

From Graphics to Fabrication

72

3D printing

slide-73
SLIDE 73

From Production to Consumers

73

  • nline shopping

VFX

slide-74
SLIDE 74

Live Demo

Realtime Facial Animation

slide-75
SLIDE 75

Acknowledgements

75

Lecture based on material from:

  • Jernej Barbic, USC
  • Saty Raghavachary, USC
  • Frank Pfenning, CMU
  • Jessica Hodgins, CMU
  • Mark Pauly, EPFL
  • Cornell, MIT, UC Berkeley, …
slide-76
SLIDE 76

Next Time

76

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

http://cs420.hao-li.com

Thanks!

77