27
CSE 167: Introduction to Computer Graphics Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2016

CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

CSE 167:

Introduction to Computer Graphics

Jürgen P. Schulze, Ph.D.

University of California, San Diego

Spring Quarter 2016

Page 2: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

Today

� Course organization

� Course overview

2

Page 3: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

Course Staff

Instructor

� Jürgen Schulze, Ph.D. Adjunct Professor in CSEResearch Scientist at Qualcomm Institute

Assistants

� Teaching Assistants:

� Dylan McCarthy

� Kevin Lim

� Azeem Ghumman

� Tutors:

� David Nuernberger

� Hoang Tran

� Michelle Wu

3

Page 4: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

Weekly Schedule

Lecture

� Tue/Thu, 2:00pm-3:20pm, Center Hall 214

Homework Discussion

� Mondays, 4:00-4:50pm, Center Hall 113

Homework Grading

� Due dates are every other Friday at 2:00pm

� Turn in by demonstration in CSE lab 260 or 270

4

Page 5: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

Office Hours

Instructor

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

TAs and Tutors

� Held in basement lab 260

� Posted on Piazza

5

Page 6: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

Prerequisites

Expected is familiarity with:

� C++

� Object oriented programming concepts

� CSE 100: Advanced Data Structures

� Advanced data structures in C++, e.g., graphs

� Data structure analysis

� Reason about appropriate data structures to solve problems

� C++ with STL

� GIT for code management

6

Page 7: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

Course Web Site

� URL: http://ivl.calit2.net/wiki/index.php/CSE167S2016

� Provides:

� Course schedule

� Lecture slides

� Textbook recommendations

� Homework assignments

� Grading + exam information

7

Page 8: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

TritonEd

� Lists homework and exam grades

� Check your grades regularly

� Let us know if your grade is missing or incorrect

� Upload source code

� Only ASCII (text) files

8

Page 9: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

Textbooks

Recommended textbooks:

� Peter Shirley: Fundamentals of Computer Graphics, Fourth Edition

� Earlier editions mostly okay

� Google Books has full text version of edition 3

� OpenGL Programming Guide, Version 4.3

� Older versions available on-line

9

Page 10: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

Programming Projects

� 5 programming assignments� Only final project is team project

� Find assignments and due dates on home page� Due dates every other week

� Starter code is also on home page

� Use CSE basement labs or your own PC/laptop� Windows, Mac or Linux

� Individual assistance by TAs/tutors during office hours

� Turn in by demonstration to course staff during homework grading hours on Fridays� Demonstration can be done on lab PC or personal laptop

� Grading from 2pm until at least 3:15pm

� Required: submit source code to TritonEd by 2pm

� All programming projects have extra credit option10

Page 11: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

If you can’t come to grading

� Submit source code by 2pm on due date

� Email instructor:

� Reason of absence

� When you can demo instead (in TA/tutor office hours)

11

Page 12: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

Written Examinations

� Two in-class written exams

� Closed book

� No cheat sheets

� Allowed:

� pen, pencil, ruler, eraser

� blank scratch paper

� Dates listed on course schedule

12

Page 13: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

Grading

� Homework Assignments 1-4: 15% each

� 2 midterm exams: 10% each

� Final project: 20%

� Late submission policy for homework projects:

� Allowed within 1 week of due date, with 25% penalty

� Example: for perfect score of 110 points (including extra credit), when submitted late you will get 83 points)

� No partial penalty if submitting earlier

� No points if submitting later than 1 week after due date

13

Page 14: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

Grading Key

� No grading on curve

� Grading key:

14

Final Score Letter Grade

100+ A+

95+ A

90+ A-

85+ B+

80+ B

75+ B-

70+ C+

65+ C

60+ C-

Page 15: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

Today

� Course organization

� Course overview

15

Page 16: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

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 pixel

� Objectives� Photorealistic

� Interactive

16

Page 17: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

Photorealistic rendering

� Physically-based simulation of light, camera

� Shadows, global illumination, multiple bounces of light

� Slow, can take minutes or hours to render an image

� Used in movies, animation

� Covered in CSE168: Rendering Algorithms

17

Page 18: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

Photorealistic rendering

18

Page 19: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

Interactive rendering

� Produce images within milliseconds

� Using specialized hardware, graphics processing units (GPUs)

� Standardized APIs (OpenGL, DirectX)

� Often “as photorealistic as possible”

� Hard shadows, only single bounce of light

� Used in games

� Covered in this course

19

Page 20: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

Interactive rendering

20

Page 21: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

What to render?

� 3D models

� Basic 3D models consist of array of triangles

� 3D model sources:

� Created with 3D modeling tool

� Loaded from files

� Procedurally generated: by code you write

� Created by scanning real-world objects

21

Page 22: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

ModelingScanned statueProcedural tree

Procedural city

22

Page 23: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

Topics

� Basic skills:� Vector and matrix mathematics� Coordinate system transformations� 3D to 2D projection� Rasterization

23

Page 24: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

Topics

� OpenGL:� Lighting� Texturing� Shading� GL Shading Language

24

Page 25: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

Topics

� High Level Concepts:� Scene Graph� Culling� Parametric Curves and Surfaces� Procedural Modeling

25

Page 26: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

Topics

� Visual Effects:� Environment Mapping� Shadows� Deferred Rendering

26

Page 27: CSE 167: Introduction to Computer Graphicsivl.calit2.net/wiki/images/9/9f/01_OverviewS16.pdf · Use CSE basement labs or your own PC/laptop Windows, Mac or Linux Individual assistance

Previous Final Projects

� The Final Whaleboat (1:00)

� Marco Mendez and Thomas Tucker, Fall 2015

� https://www.youtube.com/watch?v=pX5Tuh6tDXc

� Space Ace! (1:00)

� Jun Heo and Benjamin King, Fall 2015

� https://www.youtube.com/watch?v=Ru-k87JnDJ8

� The Renderers (1:00)

� Jack Lee and Kevin Quong, Fall 2015

� https://www.youtube.com/watch?v=pXn7tbpCGJw

� Fist Bump (2:00)

� Alex Hawker, Jeffrey Johnson, Michael LaPlante, Fall 2015

� https://www.youtube.com/watch?v=ohuvRGDKbog

27