Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!uunet!seismo!uwvax!oddjob!gargoyle!ihnp4!inuxc!iuvax!pur-ee!uiucdcs!uiucdcsm!shirley
From: shirley@uiucdcsm.cs.uiuc.edu
Newsgroups: comp.graphics
Subject: Re: Ray tracing and caustics.
Message-ID: <4400009@uiucdcsm>
Date: Fri, 17-Jul-87 01:25:00 EDT
Article-I.D.: uiucdcsm.4400009
Posted: Fri Jul 17 01:25:00 1987
Date-Received: Sat, 18-Jul-87 19:49:18 EDT
References: <23177@sun.uucp>
Lines: 34
Nf-ID: #R:sun.uucp:23177:uiucdcsm:4400009:000:1412
Nf-From: uiucdcsm.cs.uiuc.edu!shirley    Jul 17 00:25:00 1987






I was also in the dark about the nuts & bolts of path tracing after
reading Kajiya's paper.  I was able to ask him for more detail
after a talk he gave at the last SIGGRAPH conference.  I asked him
how a caustic appears under a clear sphere with his method.  He
said (approximately):

    Many rays are sent from the eye point through a pixel and hit
    the matte surface under the sphere.  For each ray, a shadow
    ray is sent toward the light source, and since they are blocked
    by the sphere there is no direct lighting contribution.  A 
    reflection ray is also generated for each primary ray and some 
    will hit the clear sphere and be refracted (twice) and hit the
    light source.  This causes a large brightness contribution
    for those rays, which averaged in with the "dead" rays gives
    you the correct brightness for the caustic.
    
This leads to two obvious questions:  how are the reflection rays
chosen, and how bright is the "large contribution"?  Also you should 
note that if a reflection ray from a matte surface hits a light
source DIRECTLY, no extra contribution should be added, because
the direct lighting term was already calculated directly.

I have modified my ray tracer to "path trace" and the results are
nice, but (not suprisingly) noise is a real problem unless MANY
rays are used, especially when caustics are involved.  


Peter Shirley
U of Illinois at UC