Download presentation
Published byLorraine Irene Copeland Modified over 9 years ago
1
CS 551/651: Advanced Computer Graphics
Accelerating Ray Tracing David Luebke /27/2017
2
Ray-Sphere Intersection
Ray R = O + tD x = Ox + t * Dx y = Oy + t * Dy z = Oz + t * Dz Sphere at (l, m, n) of radius r is: (x - l)2 + (y - m)2 + (z - n)2 = r 2 Substitute for x,y,z and solve for t… David Luebke /27/2017
3
Ray-Sphere Intersection
Works out as a quadratic equation: at2 + bt + c = 0 where a = Dx2 + Dy2 + Dz2 b = 2Dx (Ox - l) + 2Dy (Oy - m) + 2Dz (Oz - n) c = l2 + m2 + n2 + Ox2 + Oy2 + Oz (l Ox + m Oy + n Oz + r2) David Luebke /27/2017
4
Ray-Sphere Intersection
If solving for t gives no real roots: ray does not intersect sphere If solving gives 1 real root r, ray grazes sphere where t = r If solving gives 2 real roots (r1, r2), ray intersects sphere at t = r1 & t = r2 Ignore negative values Smallest value is first intersection David Luebke /27/2017
5
Ray-Sphere Intersection
Find intersection point Pi = (xi, yi, zi) by plugging t back into ray equation Find normal at intersection point by subtracting sphere center from Pi and normalizing: (When might we need the normal? When not?) David Luebke /27/2017
6
Ray-Polygon Intersection
Polygons are the most common model representation (Why?) Basic approach: Find plane equation of polygon Find intersection of ray and plane Does polygon contain intersection point? David Luebke /27/2017
7
Ray-Polygon Intersection
Find plane equation of polygon: ax + by + cz + d = 0 How? N = [a, b, c] d = N P1 (How to find N ?) x y N P1 P2 d David Luebke /27/2017
8
Ray-Polygon Intersection
Find intersection of ray and plane: t = -(aOx + bOy + cOz + d) / (aDx + bDy + cDz) Does poly contain intersection point Pi ? Book’s algorithm: Draw line from Pi to each polygon vertex Measure angles between lines (how?) If sum of angles between lines is 360°, polygon contains Pi David Luebke /27/2017
9
Ray-Box Intersection Often want to find whether a ray hits an axis-aligned box (Why?) One way: Intersect the ray with the pairs of parallel planes that form the box If the intervals of intersection overlap, the ray intersects the box. David Luebke /27/2017
10
Shadow Ray Problems: Too Much Computation
Light buffer (Haines/Greenberg, 86) Precompute lists of polygons surrounding light source in all directions Sort each list by distance to light source Now shadow ray need only be intersected with appropriate list! Shadow Ray Light Buffer Occluding Polys Current Intersection Point David Luebke /27/2017
11
Shadow Ray Problems: Sharp Shadows
Why are the shadows sharp? A: Infinitely small point light sources What can we do about it? A: Implement area light sources How? David Luebke /27/2017
12
Shadow Ray Problems: Area Light Sources
Could trace a conical beam from point of intersection to light source: Track portion of beam blocked by occluding polygons: 30% blockage David Luebke /27/2017
13
Shadow Ray Problems: Area Light Sources
Too hard! Approximate instead: Sample the light source over its area and take weighted average: 50% blockage David Luebke /27/2017
14
Shadow Ray Problems: Area Light Sources
Disadvantages: Less accurate (50% vs. 30% blockage) Oops! Just quadrupled (at least) number of shadow rays Moral of the story: Soft shadows are very expensive in ray tracing David Luebke /27/2017
15
The End David Luebke /27/2017
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.