35
CSE 167: CSE 167: Introduction to Computer Graphics Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

CSE 167:CSE 167:

Introduction to Computer Graphics

Jürgen P. Schulze, Ph.D.

University of California, San Diego

Fall Quarter 2012

Page 2: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Today

� Course organization

� Course overview

2

Page 3: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Course Staff

Instructor

� Jürgen Schulze, Ph.D. Lecturer in CSE, Research Scientist at Calit2

Teaching AssistantTeaching Assistant

� Sid Vijay, took CSE167 in 2009

Tutors

� Matthew Religioso, took CSE167 in 2010

� Joey Ly, took CSE167 in 2010

3

Page 4: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Course Organization

Lecture

� Tue/Thu, 2:00pm-3:20pm, WLH 2204

Homework Grading

� Fridays (only on due dates) at 1:30pm, CSE lab 260

Instructor Office Hour

� Tue 3:30pm-4:30pm, Atkinson Hall room 2125� Tue 3:30pm-4:30pm, Atkinson Hall room 2125

Office Hours in Lab 260

� Sid Vijay: Wed+Thu 3:30-5:30pm

� Matthew Religioso: Thu 4:30-6:30pm

� Joey Ly: Tue 6-8pm

4

Page 5: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Prerequisites

Familiarity with

� Linear algebra

� C++

� Object oriented programming

5

Page 6: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

In this class

� Rendering 3D models� Camera simulation

� Interactive viewing

� Lighting

� Shading

� Modeling Triangle meshes� Triangle meshes

� Parametric surfaces

� Applying linear algebra, C++, OpenGL

� Foundation for advanced graphics courses

� Henrik Wann Jensen’s CSE168

� Wolfgang Engel’s CSE 190 on shader programming

� My CSE 190 on 3D user interfaces

6

Page 7: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Course Web Site

� URL: http://ivl.calit2.net/wiki/index.php/CSE_167_Fall_2012orhttp://tinyurl.com/cse167f2012

� Class schedule

Lecture slides� Lecture slides

� Textbook recommendations

� Announcements

� Homework assignments

� Grading information (grades on Ted)

7

Page 8: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Ted

� Go tohttp://ted.ucsd.edu

and select CSE167

� Log in with your Active Directory account

� Used for discussion board and gradesUsed for discussion board and grades

8

Page 9: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Textbooks

� Both textbooks are recommended, not required

� Peter Shirley: Fundamentals of Computer Graphics, any edition (Google Books has full text version)text version)

� OpenGL Programming GuideOlder versions available on-line

9

Page 10: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Programming Projects

� 7 programming assignments

� First and last are group projects

� Find assignments and schedule on home page

� Base code (for Windows and Linux) and documentation on home page

� Use EBU3B 2xx labs or your own PC/laptop� Use EBU3B 2xx labs or your own PC/laptop

� Individual assistance by TA during lab office hours

� Turn in by demonstration to TA, tutors or instructor during homework grading hours on Fridays. Demonstration can be done on lab PC or personal computer.

� Homework projects are due Fridays 1:30pm.Late submissions are possible with 25% point deduction.

10

Page 11: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Written Examinations

Two in-class written exams.

Closed book, handwritten index card is permitted.

Midterm #1:

� Thu 10/24, 2:00pm-3:20pm, WLH 2204

Midterm #2:Midterm #2:

� Thu 11/29, 2:00pm-3:20pm, WLH 2204

11

Page 12: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Grading

� Homework Projects 1-6: 10% each

� Written exams: 10% each

� Final project: 20%

� Late submission policy for homework projects:

75% of original grade if you present your project within seven 75% of original grade if you present your project within seven days of the due date

12

Page 13: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Today

� Course organization

� Course overview

13

Page 14: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

What is computer graphics?

Applications:� Movie, TV special effects� Video games� Scientific visualization� GIS (Geographic Information Systems)� GIS (Geographic Information Systems)� Medical visualization� Industrial design� Simulation� Communication� Etc.

14

Page 15: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

What is computer graphics?

� Rendering

� Modeling

� Animation

15

Page 16: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

What is computer graphics?

� Rendering

� Modeling

� Animation

16

Page 17: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Rendering

� Synthesis of a 2D image from a 3D scene description� Rendering algorithm interprets data structures that

represent the scene in terms of geometric primitives, textures, and lights

� 2D image is an array of pixels� Red, green, blue values for each pixelRed, green, blue values for each pixel

� Different objectives� Photorealistic

� Interactive

� Artistic

17

Page 18: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Photorealistic rendering

� Physically-based simulation of light, camera

� Shadows, realistic illumination, multiple light bounces

� Slow, minutes to hours per image

� Special effects, movies

� CSE168: Rendering Algorithms� CSE168: Rendering Algorithms

18

Page 19: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Photorealistic rendering

19

Page 20: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Interactive rendering

� Produce images within milliseconds

� Using specialized hardware, graphics processing units (GPUs)

� Standardized APIs (OpenGL, DirectX)

� Often “as photorealistic as possible”

� Hard shadows, fake soft shadows, only single bounce of � Hard shadows, fake soft shadows, only single bounce of light

� Games

� CSE167

20

Page 21: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Interactive rendering

21

Page 22: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Artistic rendering

� Stylized

� Artwork, illustrations, data visualization

22

Page 23: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Artistic rendering

23

Page 24: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Live Demo

� NVIDIA Geoforms: Real-Time Renderinghttp://www.nvidia.com/coolstuff/demos#!/geoforms

24

Page 25: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

What is computer graphics?

� Rendering

� Modeling

� Animation

25

Page 26: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Modeling

� Creating 3D geometric data

� The “model” or the “scene”

� By hand

� Autodesk (Maya, AutoCAD), LightWave 3D, …

� Free softwareFree software

� Blender

� Not as easy to use as Notepad…

Maya Screenshot26

Page 27: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Modeling

� Basic 3D models consist of array of triangles

� Each triangle stores 3 vertices

� Each vertex contains

� xyz position

� ColorColor

� Etc.

27

Page 28: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Modeling

� Procedural: by writing programs

� Scanning real-world objects

28

Page 29: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

ModelingScanned statueProcedural tree

Procedural cityProcedural city

29

Page 30: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

What is computer graphics?

� Rendering

� Modeling

� Animation

30

Page 31: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Animation

� Deforming or editing the geometry

� Change over time

� Faces, articulated characters, …

� CSE169: Computer Animation (not offered this year)

31

Page 32: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Animation

32

Page 33: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Physics Based Animation

33

Page 34: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Video

� SIGGRAPH 2012 Technical Papers:http://www.youtube.com/watch?v=cKrng7ztpog

� Blender Demo Reel 2012:http://www.youtube.com/watch?v=P2xzn6bEN_U

34

Page 35: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/2/2d/01_IntroductionF12.pdf · 2012-09-28 · Peter Shirley: Fundamentals of Computer Graphics, any edition (Google

Announcements

� Next Lecture

� Tue 10/2 at 2pm

� Topic: Homogeneous Coordinates

� Preparation: Review three dimensional vector/matrix calculations

� Homework Introduction (optional):Introduction to base code and homework assignment #1:Sid Vijay, CSE lab 260, Monday Oct 1st, 2:30-4:30pm

� Homework assignment #1 due Friday, Oct 5th

35