Mike Merchant Nicholas Hilbert

Slides:



Advertisements
Similar presentations
GR2 Advanced Computer Graphics AGR
Advertisements

Exploration of advanced lighting and shading techniques
Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
1 Graphics CSCI 343, Fall 2013 Lecture 18 Lighting and Shading.
ATEC Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
1. What is Lighting? 2 Example 1. Find the cubic polynomial or that passes through the four points and satisfies 1.As a photon Metal Insulator.
Christian Lauterbach COMP 770, 2/11/2009
CS 325 Introduction to Computer Graphics 04 / 09 / 2010 Instructor: Michael Eckmann.
CS 376 Introduction to Computer Graphics 04 / 09 / 2007 Instructor: Michael Eckmann.
CSCE 641: Computer Graphics Ray Tracing Jinxiang Chai.
Parallelizing Raytracing Gillian Smith CMPE 220 February 19 th, 2008.
1 7M836 Animation & Rendering Global illumination, ray tracing Arjan Kok
CIS 310: Visual Programming, Spring 2006 Western State College 310: Visual Programming Ray Tracing.
Paper by Alexander Keller
Basic Ray Tracing CMSC 435/634. Visibility Problem Rendering: converting a model to an image Visibility: deciding which objects (or parts) will appear.
Ray Tracing Primer Ref: SIGGRAPH HyperGraphHyperGraph.
CSS 522 Topics in Rendering March 01,2011 Scott and Lew.
COMP 175: Computer Graphics March 24, 2015
Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM.
12/05/02(c) 2002 University of Wisconsin Last Time Subdivision techniques for modeling Very brief intro to global illumination.
Reflections Specular reflection is the perfect reflection of light from a surface. The law a reflection states that the direction of the incoming ray and.
-Global Illumination Techniques
Ray Tracing Sang Il Park SEjong University With lots of slides stolen from Jehee Lee, Doug James, Steve Seitz, Shree Nayar, Alexei Efros, Fredo Durand.
CS 376 Introduction to Computer Graphics 04 / 16 / 2007 Instructor: Michael Eckmann.
Ray Tracing Chapter CAP4730: Computational Structures in Computer Graphics.
1 Dr. Scott Schaefer Ray Tracing. 2/42 Ray Tracing Provides rendering method with  Refraction/Transparent surfaces  Reflective surfaces  Shadows.
Week 10 - Wednesday.  What did we talk about last time?  Shadow volumes and shadow mapping  Ambient occlusion.
Gene Au-yeung, Daniel Quach, Jeffrey Su, Albert Wang, Jessica Wang, David Woo.
Recursion and Data Structures in Computer Graphics Ray Tracing 1.
Parallel Ray Tracer Computer Systems Lab Presentation Stuart Maier.
04/30/02(c) 2002 University of Wisconsin Last Time Subdivision techniques for modeling We are now all done with modeling, the standard hardware pipeline.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
Bounding Volume Hierarchy. The space within the scene is divided into a grid. When a ray travels through a scene, it only passes a few boxes within the.
CSCE 441: Computer Graphics Ray Tracing
In the name of God Computer Graphics. Last Time Some techniques for modeling Today Global illumination and raytracing.
More on Ray Tracing Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Wednesday, April 14, 2004.
Global Illumination (3) Photon Mapping (1). Overview Light Transport Notation Path Tracing Photon Mapping –Photon Tracing –The Photon Map.
Global Illumination (3) Path Tracing. Overview Light Transport Notation Path Tracing Photon Mapping.
CS 325 Introduction to Computer Graphics 04 / 07 / 2010 Instructor: Michael Eckmann.
CSL 859: Advanced Computer Graphics Dept of Computer Sc. & Engg. IIT Delhi.
CIS 681 Distributed Ray Tracing. CIS 681 Anti-Aliasing Graphics as signal processing –Scene description: continuous signal –Sample –digital representation.
Section 3: Reflection and Color
Compositing and Rendering
Basic Ray Tracing CMSC 435/634.
Chapter 13 Light and Reflection
Photorealistic Rendering vs. Interactive 3D Graphics
Shading Revisited Some applications are intended to produce pictures that look photorealistic, or close to it The image should look like a photograph A.
Section 3: Reflection and Color
Distributed Ray Tracing
Deferred Lighting.
Ray Tracing Dr. Scott Schaefer.
3D Graphics Rendering PPT By Ricardo Veguilla.
Jim X. Chen George Mason University
© University of Wisconsin, CS559 Fall 2004
RENDERING Rendering is not colouring in! It is the ability to apply tone and colour to a drawing to make it appear 3D and “real”, actually better than.
(c) 2002 University of Wisconsin
Parallel Spectral Renderer
Section 3: Reflection and Color
Distributed Ray Tracing
(c) 2002 University of Wisconsin
Image synthesis using classical optics
Objectives: After completing this module, you should be able to:
Image.
CS5500 Computer Graphics May 29, 2006
CSCE 441: Computer Graphics Ray Tracing
Distributed Ray Tracing
GR2 Advanced Computer Graphics AGR
Introduction to Ray Tracing
Distributed Ray Tracing
Distributed Ray Tracing
Presentation transcript:

Mike Merchant Nicholas Hilbert Ray Tracing Mike Merchant Nicholas Hilbert

What is Ray Tracing? Essentially, tracing a ray that connects a light source to an object to a screen which is made of pixels. The rays will then go through each pixel into a “camera”… basically, this creates perspective for the viewer as well as seeing the correct color. The ray can be either reflected or absorbed into the object (one of this methods beauties)

Color Image plane (pixels) are determined by the color of the light ray that passes through that pixel. (Ultimately… determining the color of each pixel is the point of ray tracing) Each ray’s color is determined by the light around it, the color of the objects around it, and the material aspect of the object itself (including it’s natural color) There are a few other things going on here that we will talk about a little later and then we will come back to this picture to describe everything

Types of Ray Tracing - Forwards Simulates real life (aka Photon Tracing) Accurately determines color of each object Highly inefficient Light Source emits photons which travel in a straight line (do not consider quantum mechanics… that will make this process even more difficult to manage) When these photons hit an object, they bounce in a different direction and only a handful of them actually strike the viewing plane (you can barely see a blue and green spec on the black screen) Teapot… almost

Types of Ray Tracing - Backwards Emits 1 ray from the viewer to each pixel on the screen and tracks its path No unnecessary rays for simple ray tracer (1080p screen = 2,073,600 rays… not too bad) Still time consuming This method does not take as many calculations as the first method… but it’s still bad For every ray shot from the “camera” to the scene, if that ray intersects anything it will bounce and hit another object which will help determine the color of that object There are a few extra properties that ray tracing allows for which help make it one of the most powerful rendering mechanics

Complexity is O(heightscreen * widthscreen * numobjects) Simple Ray Tracer PseudoCode

REFLECTION + REFRACTION Now we need to consider how to show reflections on objects – Bounce another ray of the object opposite of the incoming ray. Or Refraction – bouncing rays through an object and coming out the other end Square root is expensive

Recursively Reflecting/Refracting Rays Create a tree of rays: root note is the original ray, each node is a reflected/refracted ray, and all leaves are non-reflected/non-refracted rays… go until a depth limit is reached or there are no more nodes Rays can bounce off/through objects which can cause many extra rays to appear that don’t actually go straight to the light source These rays can make a tree of rays that can be recursively traced to determine that pixels color Depth limit is to simulate attenuation of light throughout the scene (Otherwise)

((Same complexity as before)number of reflected/refracted rays) For every reflected or refracted ray, the Trace function is recalled

Current Overview Primary Ray: Ray from the viewer’s eye, camera, etc. Reflection Ray: Ray that bounces off object (ie. Sphere, find Normal at the point of intersection and then find angle between) Refraction Ray: Ray that travels through the (based on Normal and refractive index of object) Shadow Ray: Ray that travels to the light source (if possible)

Problems Time Consuming: Aliasing Impossible for real-time graphics Takes time to calculate closest object through ray (usually involves the dreaded square root function) Aliasing Image has perfect reflection (unnatural) Complexity needed Make one ray from center of ray to many different rays and then average the colors using a filter (not part of our presentation) Images unnaturally crisp. (see next slide)

Anti-Aliasing Ray tracing gives a color for all points on image… but a square pixel contains an infinite number of points which might not all be the same color Shoot more rays at each pixel (random or not) then filter the result and color the pixel accordingly

Distributed Ray Tracing – Monte Carlo Ray Tracing Light can bounce off in many directions at one point Can add real world effects, such as: Gloss Soft Shadows Focus More rays per everything Gloss: more rays bounce off an object and then the calculate the color of each ray Soft Shadows: send more shadow rays off an object and grab the average Focus: jitter eye position and shoot more primary rays

Finished Overview Complicated Ray Tracer is able to simulate an image in real life… but must require lots of calculations Add more rays that intersect at a point (for distributed ray tracing)

Accelerated Ray Tracing Adaptive depth control Decrease the depth of possible recursion for reflected/refracted rays Only keep rays needed for basic image Remove features mentioned in the last few slides Bounding Volumes “Embarrassingly parallel” We already mentioned this earlier, but just reduce the depth you can traverse in the recursive tree Bounding volumes will be mentioned on the next slide followed by first-hit speedup

Bounding Volumes Bind objects together into bigger objects If ray doesn’t hit bounded object, it won’t hit objects inside either Also used for single objects

Embarrassingly parallel Wikipedia: “… an embarrassingly parallel workload, is one for which little or no effort is required to separate the problem into a number of parallel tasks” Only need scene and a ray to calculate pixel’s color No information from other rays are needed

Finale Questions?