Top Banner
1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha
31

1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

Dec 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 1

Introduction

Computer GraphicsCOMP 770 (236)Spring 2009

Instructor: Dinesh Manocha

Page 2: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 2

Welcome to COMP 770 (236)

■ Instructor: Dinesh ManochaEmail: [email protected]: Brooks 250Office hours: W 1:00–2:00 (or by appt.)

■ Webpage: http://www.cs.unc.edu/~dm/UNC/COMP236/comp236.html

Page 3: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 3

About you

■ Name

■ Your background

■ What are you studying?

■ Previous graphics experience

Page 4: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 4

Prerequisites

■ COMP 665(235)° Displays and 2D Graphics

° Pixels, lines, images

° Foundations of 3D Graphics° Points, vectors, matrices, transformations

° Foundations of image analysis° Sampling, reconstruction, aliasing

° Foundations of computer vision° Eye, color, perception

Page 5: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 5

Prerequisites

■ COMP 575(136)° Basic graphics pipeline° Transformations, clipping, rasterization° Texture mapping° Ray tracing° Hidden surface removal

Page 6: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 6

Prerequisites

■ Know a programming language in the C family (C / C++ / C# / Java / Python)

■ Some familiarity with graphics API (OpenGL or DirectX)

■ Can use any platform (Windows, Mac or Linux)

Page 7: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

01/12/09 7

Computer Graphics: Overview

Modelling Simulation &Rendering

Image

Computer vision inverts the process

Page 8: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 8

Topics

■ Mathematical tools■ 3D models and

interaction■ Visibility■ Rasterization■ Lighting and shading■ Shadows■ Texture mapping

■ Ray tracing ■ Global illumination ■ Curves and surfaces ■ Simplification and levels

of detail■ Graphics hardware ■ Solid Modeling

Page 9: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 9

Mathematical tools

■ homogeneous coordinates

■ vectors■ planes■ frames■ transformations

Page 10: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 10

3D models and interaction

■ Loading and view models■ Picking and selection■ Modeling a trackball■ VR is all about interaction

COMP 872

a

b

axis

Page 11: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

01/12/09 11

Visibility Computations

■ Classic problem■ BSP trees■ Ray casting■ Depth buffering

Images courtesy of Cornell University

Page 12: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 12

Rasterization

■ Clipping

■ Scan conversion

Page 13: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 13

Lighting and shading

■ Flat, gouraud, and phong shading

■ Empirical and physically-based illumination models

■ BRDFs

Page 14: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 14

Shadows

■ Shadow volumes■ Shadow maps■ Soft shadows

Umbra Penumbra

Images courtesy of Stamminger and Drettakis 02

Page 15: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 15

Texture mapping

■ Surface parameterization

■ Mipmaps and filtering■ Reflection and

environment mapping

Images courtesy of Jeremy Birn (www.3drender.com/jbirn)

Page 16: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 16

Ray tracing

■ Object intersection■ Reflection and refraction■ Depth-of-field, motion blur,

glossy reflections, soft shadows

Page 17: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 17

Global illumination

■ Rendering equation ■ Path tracing, photon

mapping, radiosity■ COMP 870 Advanced

rendering

Images courtesy of Caligari (www.caligari.com)

Page 18: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 18

Curves and surfaces

■ Bezier curves and B-splines■ NURBS and subdivision

surfaces■ Parametric solids■ COMP 767 Geometric and

solid modeling

1-level0-levels 2-levels

3-levels

4-levels

5-levels

Page 19: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 19

Solid Modeling

■ CSG and B-Rep operations■ Generating complex solids

from simple shapes

■ COMP 767 Geometric and solid modeling

Page 20: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

01/12/09 20

Simplification and LOD

■ Levels of detail ■ Progressive meshes

82 million triangles

Page 21: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 21

Graphics hardware

■ History■ Architecture■ Shading languages■ Now:general purpose

Page 22: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 22

Animation & Simulation (less or no coverage)■ Keyframing■ Parameteric splines■ Motion capture■ Simulation■ COMP 768

Page 23: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 23

Textbook

■ No official textbook. Here are some possible references:

Page 24: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 24

Textbook

■ No official textbook. Here are some possible references:

Page 25: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 25

Textbook

■ No official textbook. Here are some possible references:

Page 26: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 26

Course Grading

■ Problem assignments & class participation (50%)

■ Midterm: 20%

■ Final Project: 30%

■ Guest lecture on a topic (optional): 10%

Page 27: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

01/12/09 27

Grading

■ Assignments: 40%Final project: 30%Class participation

1 midterm: 30%

■ Late policy: Assignments will lose 5% each day late (M-F)

Page 28: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 28

Course Project

■ Start thinking about a project idea ASAP

■ Should have some novelty

■ Ok to combine with RAship or other course projects

■ Project proposal due by Feb. 23, 2009

■ Periodic updates

■ Final project presentation (during finals week)

Page 29: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 29

Honor Code

■ Students are here for the learning not the grade.

■ Collaboration encouraged, but assignments must be your own work.

■ Cite any other’s work if you use their code.

Page 30: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 30

About your instructor

■ Have been at UNC for 16+ years

■ Research in geometric/solid modeling, real-time rendering, graphics hardware, simulation, ray tracing, sound rendering, crowd simulation, shadows

■ http://gamma.cs.unc.edu

Page 31: 1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.

1/12/09 31

Next time: 01/14/09

■ Overview of graphics rasterization pipeline

■ Guest lecture by Paul Merrell