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

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

Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CSE 167: Lecture #8: Lighting. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CSE 167: Lecture #4: Vertex Transformation. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

CS535: Interactive Computer Graphics

CSCE 441 Computer Graphics Fall 2018

CIS 581 Interactive Computer Graphics

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018

CIS 581 Interactive Computer Graphics (slides based on Dr. Han-Wei Shen s slides) Requirements. Reference Books. Textbook

CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation

CS380: Computer Graphics Introduction. Sung-Eui Yoon ( 윤성의 ) Course URL:

Outline. Intro. Week 1, Fri Jan 4. What is CG used for? What is Computer Graphics? University of British Columbia CPSC 314 Computer Graphics Jan 2013

Intro. Week 1, Fri Jan 4

CSCD18: Computer Graphics. Instructor: Leonid Sigal

Welcome to CS 4/57101 Computer Graphics

Today. Rendering algorithms. Rendering algorithms. Images. Images. Rendering Algorithms. Course overview Organization Introduction to ray tracing

CSE 167: Introduction to Computer Graphics Lecture #4: Coordinate Systems

CSE 167: Lecture 11: Textures 2. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CSE 167: Introduction to Computer Graphics Lecture #11: Visibility Culling

Computer Graphics Disciplines. Grading. Textbooks. Course Overview. Assignment Policies. Computer Graphics Goals I

CSE 167: Introduction to Computer Graphics Lecture #7: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2015

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015

Today. Rendering algorithms. Rendering algorithms. Images. Images. Rendering Algorithms. Course overview Organization Introduction to ray tracing

Overview. Computer Graphics CSE 167

ce Hours: MW 12:30 PM 1:30 PM (till 12/12/18), or by appointment

Lahore University of Management Sciences. CS 452 Computer Graphics

CSE 167: Lecture #15: Procedural Modeling. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

Programming Game Engines ITP 485 (4 Units)

CSE 167: Lecture #8: GLSL. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

EECE.2160: ECE Application Programming Spring 2017

CSE 167: Introduction to Computer Graphics Lecture 12: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

Exercise Max. Points Total 90

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

CMPS 182: Introduction to Database Management Systems. Instructor: David Martin TA: Avi Kaushik. Syllabus

CSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

Course Producer. Prerequisites. Textbooks. Academic integrity. Grading. Ming Chen. Same office hours as TA. The Hobbit: The Desolation of Smaug (2013)

Lahore University of Management Sciences. CS 452 Computer Graphics

San José State University Department of Computer Science CS049J, Programming in Java, Section 2, Fall, 2016

Computer Science 175. Introduction to Computer Graphics lib175 time: m/w 2:30-4:00 pm place:md g125 section times: tba

CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling

Advanced Computer Graphics: Non-Photorealistic Rendering

CSE 167: Introduction to Computer Graphics Lecture #6: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

Advanced Programming CMPS 109

I expect to interact in class with the students, so I expect students to be engaged. (no laptops, smartphones,...) (fig)

Lecture 0 of 41: Part A Course Organization. Introduction to Computer Graphics: Course Organization and Survey

CSE 167: Lecture #17: Procedural Modeling. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018

Binghamton University. EngiNet. Thomas J. Watson. School of Engineering and Applied Science. State University of New York. EngiNet WARNING CS 560

CSE 167: Introduction to Computer Graphics Lecture #5: Projection. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017

CS 410: Computer Graphics

CS 3270 Mobile Development for Android Syllabus

CSE 167: Introduction to Computer Graphics Lecture #6: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2014

0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves

CS559: Computer Graphics. Lecture 1 Introduction Li Zhang University of Wisconsin, Madison

ESET 349 Microcontroller Architecture, Fall 2018

CSE 167: Introduction to Computer Graphics Lecture #6: Colors. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

CSE 167: Introduction to Computer Graphics Lecture #8: Scene Graph. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015

Luxo Jr. Plan. Team. Movies. Why Computer Graphics? Introduction to Computer Graphics. Pixar Animation Studios, 1986 Director: John Lasseter

Introduction to Data Structures

CSE 167: Lecture #7: Color and Shading. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

SWE3004: Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

CSE 167: Introduction to Computer Graphics Lecture #3: Projection. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

CS 241 Data Organization using C

CSc 2310 Principles of Programming (Java) Jyoti Islam

San Jose State University College of Science Department of Computer Science CS185C, Introduction to NoSQL databases, Spring 2017

Course and Contact Information. Course Description. Course Objectives

CS354 Computer Graphics Introduction. Qixing Huang Januray 17 8h 2017

CSC 111 Introduction to Computer Science (Section C)

ESET 369 Embedded Systems Software, Fall 2017

Exercise Max. Points Total 80

CS5620 Intro to Computer Graphics

Lecturer Athanasios Nikolaidis

CSE 167: Lecture #17: Volume Rendering. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

AE Computer Programming for Aerospace Engineers

San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Fall 2017

Problem Max. Points Total 80

Cornell CS4620 Fall 2011!Lecture Kavita Bala (with previous instructors James/Marschner) Cornell CS4620 Fall 2011!Lecture 1.

Course Syllabus. Course Information

CSE 167: Introduction to Computer Graphics Lecture #18: More Effects. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

CS380: Computer Graphics Introduction. Sung-Eui Yoon ( 윤성의 ) Course URL:

ESET 369 Embedded Systems Software, Spring 2018

Data Structures and OO Development II

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

CMPE012 Computer Engineering 12 (and Lab) Computing Systems and Assembly Language Programming. Summer 2009

EECE.2160: ECE Application Programming Spring 2019

Internet Web Technologies ITP 104 (2 Units)

Course and Contact Information. Course Description. Course Objectives

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

Pipelines for Games and Interactives CSCI 281, (3 Units)

Goals. Computer Graphics (Fall 2008) Course Outline. Course Outline. Course Outline. Demo: Surreal and Crazy World (HW 3)

CSC 443: Web Programming

COSE212: Programming Languages. Lecture 0 Course Overview

San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015

EE , GPU Programming

Curves & Splines. Assignment #3. Overview & Objectives. Due Dates. CPSC 453 Fall 2018 University of Calgary

INFS 2150 (Section A) Fall 2018

CSE 167: Introduction to Computer Graphics Lecture #5: Visibility, OpenGL

Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Sciences and Technologies

CSE 167: Introduction to Computer Graphics Lecture #19: Wrapping Up. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017

Transcription:

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

Today Course organization Course overview 2

Course Staff Instructor Jürgen Schulze, Ph.D. Adjunct Professor in CSE Research Scientist at Qualcomm Institute Assistants Teaching Assistants: Jose Navas Jean Choi Tutors: Sebastian Dang Anish Shandilya Hoang Tran Guillermo Valdez 3

Weekly Schedule Lecture Tue/Thu, 2:00pm-3:20pm, Center Hall 216 Homework Discussion Mondays, 3:00-3:50pm, Perterson Hall 104 (may change) Homework Grading Due dates are every other Friday at 2:00pm Turn in by demonstration in CSE lab 260 or 270 and submission to class Github 4

Office Hours Instructor Tue 3:30pm-4:30pm, Atkinson Hall, room 2125 TAs and Tutors Office hours held in basement lab 260 Times posted on Piazza 5

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

Course Web Site URL: http://ivl.calit2.net/wiki/index.php/cse167f2016 Provides: Course schedule Lecture slides Textbook recommendations Homework assignments Grading + exam information 7

TritonEd Lists homework and exam grades Check your grades regularly Let us know if a grade is missing or incorrect Upload source code Only ASCII (text) files 8

Textbooks Recommended textbooks: Peter Shirley: Fundamentals of Computer Graphics, Fourth Edition Earlier editions useful but using older OpenGL Google Books has full text version of edition 3 9

Programming Projects 5 programming assignments First four projects are individual projects, 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 by 2pm All programming projects have extra credit option 10

If you can t come to grading Submit source code by 2pm on due date as usual Email instructor: Reason of absence When you can demo instead (in TA/tutor office hours) 11

Written Examinations Two in-class written exams Closed book No notes or cheat sheets Allowed: pen, pencil, ruler, eraser blank scratch paper Dates posted on course schedule 12

Grading Homework Assignments 1-4: 2 midterm exams: Final project: 20% 15% each 10% each 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

Grading Key Final Score Letter Grade 100+ A+ 95+ A 90+ A- 85+ B+ 80+ B 75+ B- 70+ C+ 65+ C 60+ C- 14

Today Course organization Course overview 15

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

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

Photorealistic rendering 18

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

Interactive rendering 20

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

Modeling Procedural tree Scanned statue Procedural city 22

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

Topics OpenGL: Lighting Texturing Shading GL Shading Language 24

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

Topics Visual Effects: Environment Mapping Shadows Deferred Rendering 26

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

Announcements Homework discussion on Monday 28