Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!swrinde!cs.utexas.edu!uunet!mcsun!ukc!edcastle!cs.ed.ac.uk!jsp From: jsp@cs.ed.ac.uk (John Spackman) Newsgroups: comp.graphics Subject: Re: Ray Tracing Optimization Idea Keywords: Exploit coherence Message-ID: <8173@skye.cs.ed.ac.uk> Date: 25 Mar 91 10:47:36 GMT References: <1991Mar21.183340.19319@dartvax.dartmouth.edu> Sender: nnews@cs.ed.ac.uk Reply-To: jsp@lfcs.ed.ac.uk (John Spackman) Organization: Laboratory for the Foundations of Computer Science, Edinburgh U Lines: 24 npw@eleazar.dartmouth.edu (Nicholas Wilt) writes: >I had a simple, interesting idea to make tracing primary rays more >efficient. Cache the last object intersected; intersect with it >first and if hit, determine whether it is still the nearest object as >follows: > 1. Fire a ray from the intersection back at the eye > 2. If no object is intersected, the cached object is still nearest > 3. If any objects are intersected, find the farthest intersection > that's not beyond the eye. This is the new nearest intersection. This scheme is very similiar to `shadowing caching' whereby each light source is assigned a record of that object (if any) found to cast a full shadow for the previous shadow ray traced to that light. This object is queried first for the next ray to expolit coherence. Your method of exploiting view ray coherency could trace rays FROM the eye rather than TO the eye. If the cached object were hit once more, the distance to this intersection allows many objects to be rejected even if their bounding volume is struck but at a GREATER distance, since this is a lower bound on the distance to any intersection with the contents. |: JANET: jsp@uk.ac.ed.lfcs :: ARPA: jsp%lfcs.ed.ac.uk@nsfnet-relay.ac.uk :| |: John Spackman, Computer Science, Edinburgh University, Room 2417 JCMB, :| |: The King's Buildings, Mayfield Road, Edinburgh EH9 3JZ. Tel 031 650 5125:|