Photorealistic Rendering vs. Interactive 3D Graphics

Slides:



Advertisements
Similar presentations
Computer Graphics- SCC 342
Advertisements

Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Graphics Pipeline.
3D Graphics Rendering and Terrain Modeling
CS 325 Introduction to Computer Graphics 04 / 09 / 2010 Instructor: Michael Eckmann.
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Object-Order vs. Screen-Order Rendering April 24, 2003.
(conventional Cartesian reference system)
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Adv. Computer Graphics CS6500, Spring 2003.
Global Illumination May 7, Global Effects translucent surface shadow multiple reflection.
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
Computer Graphics An Introduction. Computer Graphics 26/9/2008Lecture 12 What’s this course all about? We will cover… Graphics programming and algorithms.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
1 Computer Graphics Week3 –Graphics & Image Processing.
Advanced Computer Graphics March 06, Grading Programming assignments Paper study and reports (flipped classroom) Final project No written exams.
Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data.
Project Raytracing. Content Goals Idea of Raytracing Ray Casting – Therory – Practice Raytracing – Theory – Light model – Practice Output images Conclusion.
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
1 Introduction to Computer Graphics SEN Introduction to OpenGL Graphics Applications.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1Computer Graphics Lecture 4 - Models and Architectures John Shearer Culture Lab – space 2
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
Ray Tracing II. HW1 Part A due October 10 Camera module Object module –Read from a file –Sphere and Light only Ray tracer module: –No shading. No reflection.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
RENDERING : Global Illumination
CS 325 Introduction to Computer Graphics 04 / 07 / 2010 Instructor: Michael Eckmann.
Chapter 1 Graphics Systems and Models Models and Architectures.
Applications and Rendering pipeline
Graphics Pipeline Bringing it all together. Implementation The goal of computer graphics is to take the data out of computer memory and put it up on the.
Chapter 10: Computer Graphics
- Introduction - Graphics Pipeline
CSE 167 [Win 17], Lecture 15: Ray Tracing Ravi Ramamoorthi
Computer Graphics.
Week 2 - Friday CS361.
Chapter 10 Computer Graphics
The Graphic PipeLine
CSCE 441: Computer Graphics Hidden Surface Removal (Cont.)
Rendering Process of producing “realistic” images or pictures
Deferred Lighting.
Ray Tracing Dr. Scott Schaefer.
3D Graphics Rendering PPT By Ricardo Veguilla.
CS451Real-time Rendering Pipeline
Chapter 10: Computer Graphics
Understanding Theory and application of 3D
Real-time Computer Graphics Overview
Models and Architectures
© University of Wisconsin, CS559 Fall 2004
Chapter 14 Shading Models.
Models and Architectures
Models and Architectures
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
The Graphics Pipeline Lecture 5 Mon, Sep 3, 2007.
UMBC Graphics for Games
CSCE 441: Computer Graphics Hidden Surface Removal (Cont.)
Models and Architectures
CSCE 441: Computer Graphics Hidden Surface Removal (Cont.)
CS5500 Computer Graphics May 29, 2006
Models and Architectures
Illumination and Shading
CSCE 441: Computer Graphics Ray Tracing
GR2 Advanced Computer Graphics AGR
Chapter 14 Shading Models.
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Introduction to 3D Graphics
Introduction to Ray Tracing
Introduction to Computer Graphics
Presentation transcript:

Photorealistic Rendering vs. Interactive 3D Graphics (An Introduction to Digital Image Synthesis)

Short Film Festival I will show a short film at the beginning of each class, so don’t be late!

How Do You Draw a Picture (Without a Computer)? What is your subject? Viewing Parameters: Camera, Picture Frames, Resolutions Many ways to specify it: eye, focus length, image plane eye, direction, FOV, up vector

3D to 2D Projection OK, so we can map a 3D point (or vertex) to 2D image. But what about a 3D surface? Polygons are made from points. Actually, we only need triangles!

Scan Conversion Also called rasterization. The 3D to 2D Projection gives us 2D vertices (points). We need to fill in the interior.

Shading

An Overview of 3D Pipeline The above can be implemented in hardware. Z Buffer to detect hidden surfaces. Other transformations not mentioned here: Modeling and Viewing. Browse Chapters 5 & 6 of Watt’s book if you’re not familiar with it.

“…But They Don’t Look Real.” Most things are not flat or simple geometry like spheres and cones. We need correct surface colors and shapes (and more) 

We also need correct lighting. Textures help, but not enough. Even simple things like CD can be challenging.   

Real-time Graphics They’re becoming darn good!

But… Some effects are hard to do in hardware, such as the caustics:

A Different View: Ray Tracing

Actually inverse ray tracing.

Writing a Very Simple Version Ray Tracing Writing a Very Simple Version

What Makes a Good Picture? Contents (3D models). Lighting. Reflection. Shadow. Surface textures.

Ray Tracing Algorithm An overview in Pharr’s 1.2 More detail in Watt’s 10.3.1 (pp.284-286) and 12.2-12.4 (pp.342-354) Transmitted Reflected

Creating a Ray Parameters: Image Plane (position, size, and resolution) Viewpoint Which ray (x, y)?

Ray-Object Intersection For example: sphere (x-x0)2+(y-y0)2+(z-z0)2=r2 Ray: (x,y,z)=(x1,y1,z1)+t(xd,yd,zd) Find t that satisfy Normal vector? Also easy for planes, cones, …etc.

Shading Models Pixel color = ambient + diffuse + specular + reflected + transmitted The weight of each is determined by the surface properties. We will discuss each of them within the next a few lectures.

Light Source & Shadow Point light is easy to implement, but does not look real. How to determine a surface point is in the shadow? In real world: area light with soft shadow.

Reflection and Refraction Reflected ray is determined by: incoming ray and normal vector. Refracted ray is determined by: Incoming ray Normal vector And density Snell’s law: I sin i = t sin t i t

Recursive Algorithm The reflected ray and refracted ray are traced recursively. Termination condition: Depth of trace Weight (to the final pixel color) of ray

Advantage We get all the following automatically: Hidden surface removal Shadow Reflection Transparency and refraction

Disadvantage Slow. Many rays are spawned. Slow. Ray-object intersection for every ray and every object. (We will discuss how to avoid this in the next lecture). The lighting is still not completely right!

Assignment 1 – A Ray Tracer Split into two parts. Part A due March 28. Camera module Object module (sphere only) No recursive ray tracing Simple output (in text mode) The rest (Part B) are due April 11.

Required Modules Camera Module Object Module Ray Tracer Module (main program) Display (Output) Module

Camera Module Definition of eye position and image plane. Generating a ray if given (x, y) Note that x and y may be real numbers (not integers).

Object Module Sphere type only (for now). Ray-object intersection. Light. Read from files. Camera is sometimes defined in the object file for convenience.

Ray Tracer Module Integration of other modules. Shading. Spawn reflected and refracted rays.

Display (Output) Module Output to a text file for now. Example: output 0 if no intersection and 1 if intersecting an object. May create PPM, TIFF, or JPEG files later.

Part A due March 28 Camera module Object module Ray tracer module: Read from a file Sphere and Light only Ray tracer module: No shading. No reflection and refraction. Display module (in text mode)

Part B due April 11 Object module Ray tracer module: Display module: Add at least a plane type. Ray tracer module: Add shading, reflection, and refraction. Display module: PPM, TIFF, or JPEG library will be provided. Add a demo scene of your own.