1 / 20

Computer Graphics (Fall 2003)

Computer Graphics (Fall 2003). COMS 4160, Lecture 17: Ray Tracing Ravi Ramamoorthi. http://www.cs.columbia.edu/~cs4160. The Internet Ray Tracing Competition: http://www.irtc.org. Image courtesy Paul Heckbert 1983. Effects needed for Realism. Shadows

chandler
Télécharger la présentation

Computer Graphics (Fall 2003)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Graphics (Fall 2003) COMS 4160, Lecture 17: Ray Tracing Ravi Ramamoorthi http://www.cs.columbia.edu/~cs4160 The Internet Ray Tracing Competition: http://www.irtc.org

  2. Image courtesy Paul Heckbert 1983

  3. Effects needed for Realism • Shadows • Reflections (Mirrors) • Transparency • Interreflections • Detail (Textures etc.) • Complex Illumination • Realistic Materials • And many more

  4. Turner Whitted 1980

  5. Ray Tracing: History • Appel 68 • Whitted 80 [recursive ray tracing] (picture) • Landmark in computer graphics • Lots of work on various geometric primitives • Lots of work on accelerations • Current Research • Real-Time raytracing (historically, slow technique) • Ray tracing architecture

  6. The Pinhole Camera Image plane Pinhole Illustration courtesy Greg Humphries

  7. Ray Casting

  8. Ray Tracing • Shoot rays through pixels into the world • For each pixel, • Find closest intersection in scene • Evaluate illumination model to color pixel

  9. Comparison to Scan-Line • Per-pixel evaluation, per-pixel rays (not scan-convert each object). On face of it, costly • More complex shading, lighting effects possible

  10. Ray paths • LR*E • Arbitrary paths: realism • Trace from light or eye? • Most light rays don’t hit eye • Importance sampling • Eye Ray tracing • Primary Rays • Shadow Rays • Reflected/Transmitted Rays Appel 68

  11. Recursive Ray Tracing For each pixel • Trace Primary Ray, find intersection • Trace Shadow Ray(s) to light(s) • Color = Visible ? Illumination Model : 0 ; • Trace Reflected Ray • Color += reflectivity * Color of reflected ray

  12. B A S P Shadow Rays • How much light is reaching point P? • Fire a shadowray towards each light in the scene • Numerical problems?

  13. Problems with Recursion • Reflection rays may be traced forever • Generally, set maximum recursion depth • Same for transmitted rays (take refraction into account)

  14. Ray/Object Intersections • Heart of Ray Tracer • One of the main initial research areas • Optimized routines for wide variety of primitives • Various types of info • Shadow rays: Intersection/No Intersection • Primary rays: Point of intersection, material, normals • Texture coordinates • Work out examples • Triangle, sphere, general implicit surface

  15. More on Intersections • Basic Algorithm • Test each object for intersection • Sort objects to find closest one • Trace shadow ray. If unblocked, compute illumination • Issues • Precision: self shadowing • Aliasing, Supersampling • Stochastic, Jittered sampling

  16. Precision • Floating point calculations are imprecise! • Often, a ray’s origin is supposed to be on a surface, but this might happen: • Typical hack is to only allow t values above some small threshold, like .0000001

  17. Comparisons • Scan Conversion vs. Ray tracing • Ray tracing is (has been) much much slower • Is this still true if number of objects large? Fractals? • Acceleration structures (next), but still very slow usually • Realism in imagery • Reflections, Refractions, soft shadows, complex lighting, shading trivial in ray tracing. In scan conversion? • Future? • Currently OpenGL uses scan conversion • Real-Time raytracing? (already possible) • Ray Tracing architecture (research at Stanford)

  18. Acceleration • Testing each object for each ray is slow • Fewer Rays • Adaptive sampling [HW] , depth control • Generalized Rays • Beam tracing, cone tracing, pencil tracing etc. • Faster Intersections • Optimized Ray-Object Intersections • Fewer Intersections

  19. Acceleration Structures • Reducing number of intersections • Bounding Volume hierarchy • If no intersection with bounding box, needn’t check objects • Grids • Uniform, Hierarchical • Spatial Hierarchies • Oct-trees, kd trees, BSP trees

  20. Acceleration Structures

More Related