1
play

1 Plan for today Computer Graphics as Virtual Photography Small - PDF document

Paper Summaries Any takers? Ray Tracing Optimizations Assignments Projects Checkpoint 1 Proposals due tonight All graded Didnt get a grade? See me! Checkpoint 2 Due Thursday(?) Logistics One more


  1. Paper Summaries • Any takers? Ray Tracing Optimizations Assignments Projects • Checkpoint 1 • Proposals due tonight – All graded – Didn’t get a grade? See me! • Checkpoint 2 – Due Thursday(?) Logistics One more announcement • Job related news • Electronic Arts (EA) is coming to RIT. – Co-op orientation – Looking for a few (actually more than a few) good • Friday, Sept 16 th 12:00 – 1:30pm 70-1400 gaming programmers • Friday, Oct 14 th 1:00 – 2:30pm Eastman Aud. – Career Fair – EA Company Presentation • Tuesday, October 4 th • Wednesday, Sept 28 th • 6-7:30pm • 11am – 4pm • Golisano auditorium • Gordon Field House – Interviews – EA Job offer • Wednesday, October 5 th (Career Center) 1

  2. Plan for today Computer Graphics as Virtual Photography • Small change in plans real camera photo Photographic Photography: scene (captures processing print – Today: light) • Ray tracing optimization • Intro to Material Properties/BRDFs/Illumination processing Models – Thursday: camera Computer 3D synthetic tone • Practical considerations for Illumination Modeling model Graphics: models image reproduction (focuses • Raytracer – Checkpoint 3 simulated lighting) Ray Tracing Ray Tracing - Problems • Integrated aspects of light and object • Object - ray intersection interaction that had formerly been handled by • Computation time separate algorithms: • Ray traced images are point sampled – “Too sharp” (super real) – “wrong image” – Hidden surface removal – Sharp shadows – Sharp Reflection/Refraction – Reflection • Multiple reflections especially are too sharp – Refraction – Aliasing • Doesn’t handle major light transport functions – Shadows – Diffuse interaction – Global specular interaction – Scattering of light Turner Whitted – Caustics Ray Tracing: Intersection Ray Tracing - Object - Ray Intersection • We only talked about ray intersection with spheres • For each ray, intersection test needs to be and planes made for each object • What about? – This could costly if you have many – Boxes objects…consider if object has n polygons, n – Cylinders very large! – Cones – Solutions – Triangles • Bounding Volume – Spline surfaces • Spatial Subdivision – Irregular shapes 2

  3. Ray Tracing - Bounding Volumes Ray Tracing - Bounding Volumes • Place simple objects (i.e., sphere or box) around complex objects – Suitability depends on object being enclosed! • Do initial intersection tests on bounding objects. • If ray intersects bounding volume, then test complex bounded object • Can be nested [Watt/Watt,235] Ray Tracing - Bounding Volumes Ray Tracing - Spatial Subdivision • Motivation – Without spatial subdivision, for each ray, you will need to query all objects/polygons and test for intersection – With spatial subdivision, you know which objects are in each volume so you only test objects that are in the volumes where a ray is traveling. [Watt/Watt,236] Ray Tracing - Octrees Ray Tracing - Spatial Subdivision • Recursively subdivide volume into equal • Subdivide your scene volume into hierarchical regions. regions – Octrees • If subregion is empty or contains a single – BSP Trees object, then stop • Create a tree structure that indicates for each region: • Otherwise, further subdivide. – if the region is empty • Continue until each subregion is empty or – the object present at that particular region contains a single object. • Test ray intersection with region volume 3

  4. Ray Tracing – Oct(quad)trees Ray Tracing - Octrees • Subdivisions represented as a tree [Foley/Van Dam] [Watt/Watt,244] Ray Tracing - Oct(quad)trees Ray Tracing -- Octrees • Quadtree applet • Images from http://njord.umiacs.umd.edu:1601/users/brabec/qu http://www.flipcode.com/tutorials/tut_octrees.shtml adtree/points/pointquad.html Ray Tracing -- Octrees Ray Tracing -- Octrees 4

  5. Ray Tracing - BSP Trees Ray Tracing -- Octrees • Binary Space Partitioning Trees (BSP Shows viewing frustum and which “octants” need to be checked. Trees) – Like Octrees but divides space into a pair of subregions – Subregions need not be equally spaced – Planes separating regions can be placed at object boundaries. Ray Tracing - Spatial Subdivision Ray Tracing - BSP Trees • BSP Trees – Each non-terminal node represents a single • Octrees vs BSP Trees partitioning plane that divides space in two [Watt/Watt,246] [Watt/Watt,247] Ray Tracing - BSP Trees Ray Tracing - Spatial Subdivision • Advantages • BSPTree applet – Efficient means for finding objects within your http://symbolcraft.com/graphics/bsp/index.html space – Compact representation • Disadvantages – Preprocessing required – If scene changes, must rebuild your tree – Not foolproof 5

  6. Parallel Computing Ray Tracing - Spatial Subdivision • Octrees vs BSP trees • What is it? – BSP Trees are generally more balanced than – Solving a problem by dividing it into tasks to Octrees be handled by separate processors – BSP Traversal more efficient • Why use it? – BSP Trees have additional storage overhead as – Performance must store subdivision planes – Goal linear speedup Parallel Hardware Parallel vs. Distributed • SIMD – Same instruction executed in lockstep fashion on different data • MIMD – Different instructions executed Parallel on different data • MIMD-SM • MIMD-DM Distributed RIT Ray Issues in Parallel Computing: Communication Tracing 1991 • More processors means more organization is required (Consider working on a team of 10 people vs. 1000 people) • For performance, each processor must have 975 objects a lot of work to do in comparison with any 3 light sources need to communicate to another processor. 2048 X 2048 pixels • Keep all processors busy (load balancing) Sun 4/490 – 1991 1.5 hours CPU time 6

  7. RIT Ray Tracing Fractals and Ray Tracing • Ray tracing lends itself nicely to parallel programming because the work can easily 1991 be sub-divided – Per pixel calculation, i.e., not dependent on 87,000 objects other pixels 5 light sources – Potentially large calculation time 1024 X 1024 • How to distribute work? Sun 4/490 – 1991 18 hours CPU time Processor 1 Image Space Partitioning Processor 2 Processor 3 Processor 4 Strip = Section of Viewing Plane per Data Parallel strip division Processor Processor 1 Object Space Partitioning Processor 2 Processor 3 Processor 4 Voxel = Section of scene data for processor Data Parallel: Each processor does the rows marked with its color 7

  8. Reinhard’s Parallel Example Object Partitioning Adaptive Partitioning to Load Balance Processor Processor Processor 1 2 3 [Reinhard99 – thesis] Partitioning for Parallel Ray Tracing Partitioning for Ray Tracing • Object Space Partitioning • Image space partitioning is the best choice – May be necessary if very complex scene! • When might we use the others? – Less local processor memory needed for scene data – High delay when passing rays between processors means – Object Space Partitioning: when there is not crossing machines enough local processor memory for the scene • Object Partitioning data – Same as object space (just divided differently) – Object Partitioning: same as above when object • Image Space Partitioning complexity is similar – Each local processor must have complete scene data – Messages are only sent to divide and reassemble, not while doing the work Ray Tracing Optimization • Summary – Object-Ray Intersection [Reinhard98] • Bounding Volume Image space • Spatial Subdivision – Parallel Ray Tracing partitioning won’t work here! – break [Reinhard99 – thesis] 8

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend