Consider a partially transparent object that is illuminated with two lights, one visible from each side of the object. Start with a ray from the eye

Similar documents
Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural

Lighting. To do. Course Outline. This Lecture. Continue to work on ray programming assignment Start thinking about final project

Global Illumination. COMP 575/770 Spring 2013

COMP371 COMPUTER GRAPHICS

Computer Graphics. Lecture 13. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura

Recollection. Models Pixels. Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows

Sung-Eui Yoon ( 윤성의 )

Ray Tracing. CSCI 420 Computer Graphics Lecture 15. Ray Casting Shadow Rays Reflection and Transmission [Ch ]

Computer Graphics. Lecture 10. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura 12/03/15

03 RENDERING PART TWO

A Brief Overview of. Global Illumination. Thomas Larsson, Afshin Ameri Mälardalen University

CS580: Ray Tracing. Sung-Eui Yoon ( 윤성의 ) Course URL:

Movie: For The Birds. Announcements. Ray Tracing 1. Programming 2 Recap. Programming 3 Info Test data for part 1 (Lines) is available

Global Rendering. Ingela Nyström 1. Effects needed for realism. The Rendering Equation. Local vs global rendering. Light-material interaction

Computer Graphics. Si Lu. Fall uter_graphics.htm 11/22/2017

Rendering: Reality. Eye acts as pinhole camera. Photons from light hit objects

Motivation. Sampling and Reconstruction of Visual Appearance. Effects needed for Realism. Ray Tracing. Outline

Illumination Algorithms

Computer Graphics. Lecture 9 Environment mapping, Mirroring

Photorealism: Ray Tracing

Intro to Ray-Tracing & Ray-Surface Acceleration

Effects needed for Realism. Computer Graphics (Fall 2008) Ray Tracing. Ray Tracing: History. Outline

Rendering Part I (Basics & Ray tracing) Lecture 25 December 1, 2015

CS354 Computer Graphics Ray Tracing. Qixing Huang Januray 24th 2017

Ray tracing. EECS 487 March 19,

Lighting and Shading

Lecture 18: Primer on Ray Tracing Techniques

Global Illumination. Global Illumination. Direct Illumination vs. Global Illumination. Indirect Illumination. Soft Shadows.

Announcements. Written Assignment 2 out (due March 8) Computer Graphics

Ray tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1

Global Illumination. CSCI 420 Computer Graphics Lecture 18. BRDFs Raytracing and Radiosity Subsurface Scattering Photon Mapping [Ch

Advanced Graphics. Path Tracing and Photon Mapping Part 2. Path Tracing and Photon Mapping

Global Illumination. Global Illumination. Direct Illumination vs. Global Illumination. Indirect Illumination. Soft Shadows.

Ray-Tracing. Misha Kazhdan

I have a meeting with Peter Lee and Bob Cosgrove on Wednesday to discuss the future of the cluster. Computer Graphics

Chapter 11 Global Illumination. Part 1 Ray Tracing. Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.

Global Illumination. Why Global Illumination. Pros/Cons and Applications. What s Global Illumination

Recursion and Data Structures in Computer Graphics. Ray Tracing

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

Photon Mapping. Due: 3/24/05, 11:59 PM

Review for Ray-tracing Algorithm and Hardware

MIT Monte-Carlo Ray Tracing. MIT EECS 6.837, Cutler and Durand 1

CPSC GLOBAL ILLUMINATION

Effects needed for Realism. Ray Tracing. Ray Tracing: History. Outline. Foundations of Computer Graphics (Spring 2012)

Schedule. MIT Monte-Carlo Ray Tracing. Radiosity. Review of last week? Limitations of radiosity. Radiosity

CS 325 Computer Graphics

The Rendering Equation and Path Tracing

Review. Stephen J. Guy

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today!

Topic 9: Lighting & Reflection models. Lighting & reflection The Phong reflection model diffuse component ambient component specular component

So far, we have considered only local models of illumination; they only account for incident light coming directly from the light sources.

Homework #2. Shading, Ray Tracing, and Texture Mapping

Ray Tracing: Intersection

Computer Graphics. Ray Tracing. Based on slides by Dianna Xu, Bryn Mawr College

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University

Ray Tracing. CS334 Fall Daniel G. Aliaga Department of Computer Science Purdue University

Final Project: Real-Time Global Illumination with Radiance Regression Functions

Stochastic Path Tracing and Image-based lighting

Global Illumination The Game of Light Transport. Jian Huang

Luxo Jr. (Pixar, 1986) Last Time. Real Cameras and Ray Tracing. Standard Rasterization. Lights, Cameras, Surfaces. Now Playing:

INFOGR Computer Graphics. J. Bikker - April-July Lecture 10: Ground Truth. Welcome!

Global Illumination CS334. Daniel G. Aliaga Department of Computer Science Purdue University

Lahore University of Management Sciences. CS 452 Computer Graphics

Photo Studio Optimizer

The Rendering Equation. Computer Graphics CMU /15-662

Graphics 2009/2010, period 1. Lecture 8: ray tracing

Today. Anti-aliasing Surface Parametrization Soft Shadows Global Illumination. Exercise 2. Path Tracing Radiosity

lecture 18 - ray tracing - environment mapping - refraction

Lecture 17: Recursive Ray Tracing. Where is the way where light dwelleth? Job 38:19

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker

Problem Set 4 Part 1 CMSC 427 Distributed: Thursday, November 1, 2007 Due: Tuesday, November 20, 2007

COMPUTER GRAPHICS AND INTERACTION

Wednesday, 26 January 2005, 14:OO - 17:OO h.

Render methods, Compositing, Post-process and NPR in NX Render

Computer Graphics. Lecture 14 Bump-mapping, Global Illumination (1)

Lecture 10: Ray tracing

Photon Maps. The photon map stores the lighting information on points or photons in 3D space ( on /near 2D surfaces)

Local vs. Global Illumination & Radiosity

Computer Graphics Global Illumination

Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Ray Tracing. Outline. Ray Tracing: History

Lahore University of Management Sciences. CS 452 Computer Graphics

Topic 9: Lighting & Reflection models 9/10/2016. Spot the differences. Terminology. Two Components of Illumination. Ambient Light Source

Introduction Ray tracing basics Advanced topics (shading) Advanced topics (geometry) Graphics 2010/2011, 4th quarter. Lecture 11: Ray tracing

6. Illumination, Lighting

Raytracing & Epsilon. Today. Last Time? Forward Ray Tracing. Does Ray Tracing Simulate Physics? Local Illumination

Lighting & 3D Graphics. Images from 3D Creative Magazine

Visual cues to 3D geometry. Light Reflection and Advanced Shading. Shading. Recognizing materials. size (perspective) occlusion shading

Ray Casting. Outline in Code. Outline. Finding Ray Direction. Heckbert s Business Card Ray Tracer. Foundations of Computer Graphics (Fall 2012)

COM337 COMPUTER GRAPHICS Other Topics

Distributed Ray Tracing

CS 488. More Shading and Illumination. Luc RENAMBOT

CS-184: Computer Graphics. Administrative

Advanced Ray Tracing

Reflection and Shading

The Rendering Equation & Monte Carlo Ray Tracing

Ray Tracing Basics I. Computer Graphics as Virtual Photography. camera (captures light) real scene. photo. Photographic print. Photography: processing

RAYTRACING. Christopher Peters INTRODUCTION TO COMPUTER GRAPHICS AND INTERACTION. HPCViz, KTH Royal Institute of Technology, Sweden

Transcription:

Ray Tracing What was the rendering equation? Motivate & list the terms. Relate the rendering equation to forward ray tracing. Why is forward ray tracing not good for image formation? What is the difference between ray-"casting" and ray-"tracing". When would you only need raycasting? Given incoming ray (s,d) hit surface point p (with normal 'n') describe secondary rays you would emit to compute: o direct lighting from light at point 'l'. o simple (mirror-like) reflection. o glossy reflection. o refraction. o glossy refraction. o full indirect illumination. How would you implement scattering media in a raytracer? Review: Describe how to perform ray intersection tests against: o Plane. o Sphere. o Triangle. o Mesh. o CSG object (assume you have lists of the child intersections already). Given a camera at (0,0,0) facing (1,0,0) with up-vector (0,0,1), horizontal field-ofview 60 degrees, square pixels, and a 640x480 image, what ray passes through pixel (10,40)? (NOTE: assume the top-left pixel is (0,0).) Write pseudo-code for a backward ray-tracer that uses a recursive function. Write the contribution of light intensity at a point from various sources, including direct lighting (ambient, diffuse, and specular), a single reflection ray, and a single transmission ray. Draw a simple scene and sketch all rays that will be traced from the eye through one pixel in the following cases: o Ray casting o Ray tracing with one bounce o Ray tracing with two bounces

Consider a partially transparent object that is illuminated with two lights, one visible from each side of the object. Start with a ray from the eye that hits one side of this object at approximately a 45 degree angle from the surface normal and sketch all of the rays that will be traced to determine the color of that intersection point. Give Snell s Law and use it to derive an expression for the refraction ray in terms of the surface normal, the incoming direction, and the indices of refraction of the two media. Under certain circumstances, there will not be a solution to the equation used to compute the refraction ray. What are these circumstances? What happens to the light ray? This phenomenon is called total internal reflection. In ray tracing we choose to trace very few rays through the scene in order to keep computation times reasonable. List some of the paths that light can travel that are not captured by ray tracing. Consider the following effects: mirror reflection, refraction, caustics, and color bleeding. Which of these can be captured through ray tracing? For which does ray tracing not perform well? We can define a view frustum with the following inputs: e = eye point v = up vector -w = look vector l = distance of left side of image from the look vector r = distance of right side of image from the look vector t = distance of top of image from look vector b = distance of bottom of image from the look vector n = distance of near clipping plane along look vector f = distance of far clipping plane along look vector nx = number of pixels in a row of the image ny = number of pixels in a column of the image Here we assume that the image plane is the near clipping plane. Sketch a diagram showing all of these input variables. Give an expression for the ray cast from the eye point through pixel (i, j) based on these input parameters. Show how to compute ray triangle intersections, including identification of barycentric coordinates for use in interpolation of normals and texture coordinates.

Distributed ray tracing can be used to capture a variety of effects and create less sharp and more realistic images. Explain how to use distributed ray tracing to capture each of the following effects: antialiasing gloss translucency soft shadows depth of field motion blur If we use distributed ray tracing for all of these effects at once, how can we keep the number of rays that are traced in a scene to some reasonable number and still get good even sampling of each of these effects?

Spatial Data Structures Why do we want to build a hierarchical data structure such as a bounding box hierarchy? Describe the main difference between the following two approaches: (1) construct a bounding volume hierarchy (e.g. bounding boxes or bounding spheres), (2) construct a hierarchy of splitting planes (e.g. KD trees or BSP trees). Describe a technique for constructing a bounding box hierarchy. What data structure will you use to store this hierarchy? Is your technique top-down or bottom up? Give an algorithm for the alternative approach (i.e., if your first approach was top-down, give a bottom-up approach to constructing a bounding box hierarchy). How do we do intersection testing between a ray and a bounding box? Note that we do not need to find the point of intersection, but we only need to determine whether or not the ray intersects the bounding box. How do we do intersection testing between a ray and a bounding sphere? Again, we only need to know whether the ray intersects the sphere. We do not need to find the specific intersection point. Explain in detail how to use a bounding box hierarchy to identify the intersection between a ray and the closest object in the environment. Your algorithm should, of course, be more efficient (in the general case) than the brute force process of checking the ray for intersection with all objects. How would you update the bounding box hierarchy if there are moving objects in the environment? Is there a way to do this efficiently, i.e., without rebuilding the entire tree? An alternative to the bounding box or bounding sphere hierarchy is to use splitting planes to divide space. Octrees, KD trees, and BSP trees are all splitting plane algorithms. Describe the differences between these approaches. Describe how to construct a KD tree. Describe how to perform ray-object intersection using this data structure. Your ray-object intersection algorithm should check regions from front to back order, so that the search for an intersection may be halted when an intersection point is found. In the KD tree scenario, what problem is introduced when the splitting planes intersect some of the objects? Assume that you do not want to use the plane to split the objects (e.g., splitting a sphere into two parts may not be desirable for ray tracing). How can you solve or work around this problem? Describe how to construct a BSP tree and how to do ray-object intersection testing in front to back order with this data structure.

Radiosity Explain why diffuse reflection produces a color on a surface that is independent of viewing direction. What is the main idea behind radiosity that takes advantage of this property? How do we store the results of radiosity rendering in such a way that they can be used for many camera viewpoints (e.g., as in an architectural walkthrough)? Why is radiosity often used in indoor architectural environments? The radiosity energy balance equation is shown below. Describe the terms in this equation. B i E i n i j1 F i, j B j What types of light sources are easiest to model for radiosity? Radiosity is typically solved using either a shooting or a gathering approach. Explain the key ideas behind these two approaches. The energy balance equation can be written in matrix form as shown below. What are the elements of the R matrix? Explain how this equation represents a gathering approach. B k1 E RB Why is a shooting approach typically more practical than the gathering approach? Consider as one aspect of your answer the number of form factors that must be computed for the gathering approach and for each step of the shooting approach. How do we avoid visible seams at edges of single-color patches used for radiosity? How can we get sharp shadows? Give some of the pros and cons of ray tracing vs. radiosity. k

Photon Mapping The contributions of light to an image can be considered as light collected over a huge collection of paths through an environment. When thinking about the possible paths, we need to consider all types of bounces, both specular (predominant in ray tracing) and diffuse (predominant in radiosity). If we use a regular expression for the paths considered in ray tracing, we would have: L( D S) E ( direct lighting ) * L( D S) S E ( with specular bounces ) where L indicates that the path starts at the light D S E refers to a diffuse bounce refers to a specular bounce indicates that the path ends at the eye Explain these expressions and show how they result from the ray tracing equation: I k a L a k d ( l n) L d k ( r v) s L s k r I r k I What is the equivalent regular expression for paths represented in radiosity? What light paths are missing (not captured by either technique)? Think of an effect captured by such paths that neither ray tracing nor radiosity will handle well. What is the key idea behind photon mapping? In particular, describe the steps of photon shooting and photon collection. The following reference may be useful: http://graphics.ucsd.edu/~henrik/ In photon mapping, we collect two separate maps: (1) a global map, with rays * expressed as [ L( S D) D LS D ] and (2) a caustic map, with rays expressed as [ LS D ]. Explain the caustic paths and explain why this map is separated from the global map. How are shadows captured in photon mapping? Give some pros and cons of photon mapping compared to ray tracing and radiosity. t t

Direct / Indirect Separation Explain the technique presented in class for separating direct and global illumination effects from a scene. How is direct lighting recovered? How is global illumination recovered? When will this approach fail? Give one or more specific examples of possible failures. When is this information useful for computer graphics give some applications. Were there direct vs. global lighting effects that you found surprising in the examples presented in class? If so, which effects and why. Animation and Motion Capture List and describe some of the principles of traditional animation. There are three techniques typically used for animation: keyframing, procedural animation, and motion capture. Explain each of these techniques. List the pros and cons of each of these three techniques for the purpose of animating human characters. List the pros and cons of these techniques for animating passive objects such as clothing and water. What is your opinion on the value of using physical simulation for animating human characters? When does it work well? When does it work less well? Differential Equations, Particle Systems, and Fluids Draw and label a block diagram for a simple physically based simulation. What is Euler integration? What is the midpoint method? What is RK4? Explain the problems that may arise with Euler integration. Use diagrams and/or examples to illustrate your point. Why may RK4 help to address these problems? What are the basic steps to be accomplished in any rigid body simulation? (Bonus) What are the basic steps to be accomplished in any fluid simulation?

Image Processing and High Dynamic Range Images Give an example of a 3x3 filter that could be used to blur an image. Give an example of a 3x3 filter to detect edges. How does this filter work (describe it in words)? Be prepared to compute the results of (or write pseudocode for) convolving a given filter with a given image. To make an image smaller, we could simply downsample (e.g., save every other pixel). Why is this a bad idea? What should we do to obtain better results? What is the purpose of environment mapping? What are the advantages compared to standard ways of specifying light sources? Describe how to modify your ray tracer to handle environment mapping. Using ray tracing, one can only apply environment mapping to specular surfaces. Why? In Paul Debevec s Rendering with Natural Light movie, the diffuse surfaces are also lit with an environment map. How did he do that? What approximations are made when an object is lit with an environment map instead of the true lighting? Ignoring sampling issues, will an object lit with a spherical env. map look the same as if lit with a cubic env. map? Why, or why not? When placing a synthetic object into a real scene, why is it important to capture a high dynamic range environment map? One way to capture an environment map is by photographing a mirrored ball. Does this capture light from all directions? Almost all directions? Only a hemisphere of directions? Explain by drawing a picture. What is the goal of tone mapping? Why is tone mapping even possible? That is, why can we ever hope that a sunset and a picture of a sunset could be made to look the same to a human observer?

Photo Clip Art Describe the various conditions that contribute to the appearance of a scene, such that the same building, for example, will appear many different ways if viewed at different instances in time. List at least 5 such conditions. What information about a scene can reasonably be extracted from an image? Referring to the research we discussed in class, give two ways of estimating the illumination in a scene for the purpose of finding close matches to a photograph. Why do we want to find close matches to a given photograph? Describe some of the flaws that you saw in the edited photographs that we saw in class. What do you think is needed to fix those flaws to create images that are indistinguishable from reality using the Photo Clip Art approach? Regarding shadows, what is important to get right when pasting an item from one image to another? What is less important? What cues can be used to estimate sun position from a single image? List at least four. Which do you think is the most powerful and why?

Fall 2013 15-462/15-662 Computer Graphics -- Srinivas Narasimhan 15-463/15-862 Computational Photography -- Alexei Efros 15-466 Computer Game Programming -- Maxim Likhachev 15-869H Special Topics in Graphics: Visual Computing Systems Kayvon Fatahalian Spring 2014 15-462/15-662 Computer Graphics -- Nancy Pollard 15-465/60-414 Animation Art and Technology -- Jessica Hodgins / James Duesing 15-869 The Animation of Natural Phenomena -- Adrien Treuille 16-899 Hands: Design and Control for Dexterous Manipulation -- Nancy Pollard