cse 5542 - real time rendering. tbt (not so) real time rendering

80
CSE 5542 - Real Time Rendering

Upload: scot-morgan

Post on 02-Jan-2016

238 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

CSE 5542 - Real Time Rendering

Page 2: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

TBT

(Not So) Real Time Rendering

Page 3: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Time - TR 10:20 AM – 11:15 AMPlace - DL 0264

Where ?

Page 4: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering
Page 5: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Name: Raghu Machiraju

Email: [email protected]

Office hours: MWF 11:30 – 1:00 PM

The Instructor

Page 6: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering
Page 7: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Name: TBD

Email: TBA

Office hours: TBA

The Grader

Page 8: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering
Page 9: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Information

Web: http://www.cse.ohio-state.edu/~raghu/5542 Piazza: https://piazza.com/osu/autumn2014/cse5542/home

Prerequisite: 3901 (560) or 3902 or 3903 math 2568 (568) or 571 permission from the instructor

Page 10: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Pre-reqs

Page 11: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Must Haves

You need to be enthusiastic about Computer Graphics

You need to be fluent in C/C++ programming

You need to be comfortable with linear algebra

You need to be willing to get hands-dirty: OpenGL, 3D Printing, GLSL, hardware

Page 12: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering
Page 13: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

The Book

Page 14: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

OpenGL programmingGuide , 8th edition

OpenGL shading language 3rd edition

http://proquest.safaribooksonline.com

Useful Books

Page 15: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Reference Books

Computer GraphicsPrinciple and Practice3rd edition

Real-Time Rendering3rd edition

Page 16: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Reference Books

OpenGL 4.0 ShadingLanguage Cookbook

Graphics shaders: Theory and Practice, 2nd edition

Page 17: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Und Others

Page 18: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Grading- Four Labs: 40% - Strict deadlines.

- Quizzes: 4 x 5% - Date is a stochastic variable

- Midterm Exam: 20% - Firm date.

- Final Exam: 20% - Firm date.

Page 19: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Labs ?• Your own machine …

• Graphics PC Lab – CL 112D

• Graphics cards that supports at least OpenGL 2.1

• Platforms: PC (visual studio), Mac OS X or Linux

Page 20: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

What do we Study ?

Page 21: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Teapots

Page 22: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

A Real One

Page 23: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Drawing Teapots

Page 24: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Step 1

Page 25: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Step 2

Page 26: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Step 3

Page 27: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Step 4

Page 28: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Step 5

Page 29: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Step 6

Page 30: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Manufacturing Teapots

Page 31: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Manufacturing Teapots

https://www.ted.com/talks/lisa_harouni_a_primer_on_3d_printing

http://oncampus.osu.edu/replicating-in-3d/

http://news.cornell.edu/stories/2013/04/rapid-reality-students-design-3-d-printed-products

Page 32: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

You will all make these

http://www.thingiverse.com/thing:68880

Page 33: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

http://www.thingiverse.com/thing:68880

Page 34: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Manufacturing Teapots

http://onderin.de.buro.la/cura-ani-500-64c.gif

Page 35: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

We will not do this …

Page 36: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Virtual Teapots

Page 37: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

An Icon !

Page 38: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Which one is real ?

Page 39: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Real vs Virtual – Boston Museum

Page 40: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

More fake ones !

http://codegolf.stackexchange.com/questions/22620/draw-the-utah-teapot

Page 41: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Shutterbug !

Page 42: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Toy Story

Page 43: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

A Platonic Relationship !

Page 44: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Building with Blender

https://www.youtube.com/watch?v=QyiBwL2Scec

Page 45: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Another Method

https://www.youtube.com/watch?v=x8AiEi4aJ4g

Page 46: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

You will be doing this …

Page 47: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

And better than this !

Page 48: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

OpenGL, GLSL

Page 49: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

OpenGL, GLSL

Page 50: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Learning Outcomes- Basic understanding of graphics

hardware/software

- Basics of modeling and 3D Printing

- OpenGL/GLSL to control graphics hardware

- Advanced real time rendering algorithms

Page 51: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Specific Topics• Overview of Graphics Hardware and

Software• Coordinate systems • OpenGL geometry drawing

- OpenGL vertex buffer objects• OpenGL Shading Language

- Vertex and fragment shaders• 3D transformation and Viewing• Quaternion and virtual trackball

Page 52: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Specific Topics• Illumination

– Flat, Gourad, Phong shading models – Fixed function pipeline and shaders

• Visibility and Z-buffering • Texture Mapping

– Image and procedural textures

• Bump, environment, & projective texture mapping

Page 53: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Specific Topics

• Real time shadows

• Advanced topics in shaders– Geometry shader– Tessellation shader

• Advanced topics in rendering and graphics

Page 54: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

54

Angel and Shreiner: Interactive Computer Graphics6E © Addison-Wesley 2012

Image Formation

Page 55: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

55

Image Formation

– Cameras– Microscopes– Telescopes– Human visual system

Page 56: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

56

Synthetic Camera Model

center of projection

image plane

projector

p

projection of p

Page 57: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

57

Ray Tracing and Geometric OpticsProblemo ?

Image Formation (Eine Explanation)

Page 58: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

The Real Thing !

http://www.uccs.edu/~rtirado/Astronomy_Texts/Light_Image_Formation.pdf

Page 59: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

59

Essentials of Image Formation

• Objects

• Camera

• Light source(s)

• Light-material interaction

• Independence of objects, viewer, and light source(s)

Page 60: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

60

Light

Page 61: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

61

Luminance vs. Color

http://www.workwithcolor.com/color-luminance-2233.htm

Page 62: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

62

How Many Colors ?

Human visual system – Rods: monochromatic, night vision– Cones

• Color sensitive• Three types of cones• Only three values (the tristimulus

values) are sent to the brain

– Three primary colors – R, G, B

Page 63: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

63

Angel and Shreiner: Interactive Computer Graphics6E © Addison-Wesley 2012

In Days Long Gone

Page 64: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Even in these days !

Page 65: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

The Camera

Page 66: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Real Cameras

Page 67: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Viewing

Page 68: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

68

Angel and Shreiner: Interactive Computer Graphics6E © Addison-Wesley 2012

Eine Simple Camera – The Pinhole

xp= -x/z/d yp= -y/z/d

Simple Perspective - find projection of point at (x,y,z)

zp= d

Page 69: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Perspective

Page 70: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

DYC

http://www.pinhole.cz/en/pinholecameras/dirkon_01.html

Page 71: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Not Bad

Page 72: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Let Us Go Digital

http://electronics.howstuffworks.com/digital-camera.htm

Page 73: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Rasters

Page 74: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Pixels & Resolution

Page 75: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Is A Pixel Really A Square ?

http://alvyray.com/Memos/CG/Microsoft/6_pixel.pdf

Page 76: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

An image ?8 bits/pixel

0

255

Page 77: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

CCD Cameras - Resolution

http://www.dalsa.com/shared/content/pdfs/CCD_vs_CMOS_Litwiller_2005.pdf

Page 78: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Image Digitization

Sampling: ResolutionQuantization: Measured Value

Page 79: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering

Image Digitization

Sampling Quantization

Page 80: CSE 5542 - Real Time Rendering. TBT (Not So) Real Time Rendering