Not logged in, Join Here! or Log In Below:  
News Articles Search    

Submitted by Mikael Persson, posted on December 03, 2001

Image Description, by Mikael Persson

This image was produce by a Path tracer I implemented as part of my Computer Graphics final project at University of Waterloo.

Path tracing, as apposed to usual ray tracing, is physically based i.e. is based on a more physically feasable lighting model. Basically the algorithm finds light transportation paths from the scene light sources to the eye, computing the amount of light travelling the path weighted with the probability of light travelling the particular path.

The path tracer supports a number of features such as:

Global illumination via path tracing, i.e. the light travelling a certain path is affected by the surfaces it hits on the way to the eye.

Soft shadows, soft reflections and soft refractions via stochastic hemisphere sampling.

Metallic and dielectric surfaces as described by Peter Shirley and Michael Ashikhmin in 'An Anisotropic Phong BRDF Model', Computer Graphics Tools.

Depth of field via camera lens simulation.

Mikael Persson

Image of the Day Gallery


Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.

December 03, 2001, 05:53 PM

Nice, I like the extra math involved and the results are great! do you have any links to papers/documents on the subject?


December 03, 2001, 06:18 PM

Wow, I haven't really seen anything like this before. I like it a lot. For my Computer Graphics final project, I just did some basic stuff with hidden surface removal. I didn't have time to get to the scan-line filling algorithm, or whatever it's called in 3D. Congratulations on a job well done!

Igor Kravtchenko

December 03, 2001, 06:35 PM

It remembers me the caracter in Monster Inc.
CGI is really a fascinating domain.
Good work !

Ron Frazier

December 03, 2001, 06:44 PM



December 03, 2001, 06:59 PM

Impressive :insert smiley with thumbs up:

btw. Where's Sulley?

The Digital Bean

December 03, 2001, 07:33 PM

Nice work! Props from a fellow UW CS student.
For this particular image, how many samples/pixel did you use ? There's a lot of interesting things you could do from here. Bi-directional path tracing, importance sampling or even multiple importance sampling. Good luck, hope McCool is impressed!


December 03, 2001, 07:55 PM

is this application feasable for realtime usage (or at least less demanding than raytracing)? if not, what are the advantages over raytracing besides being "based on a more physically feasable lighting model"?

Tobias Johansson

December 03, 2001, 08:35 PM

It's is not feasable for realtime, unless Mikael has come up with some speedup that improves speed like 10000000%. Path tracing is more of an addon to raytracing, and provides a solution for the rendering equation, and is able to produce very realistic images (at high cost).

Nice work, Micke.


Joseph Carmer

December 03, 2001, 08:47 PM

I like how the character in the foreground looks focused and the background blurred - is this something that comes "free" with the way path tracing works? Would turning the camera automatically "focus" on other parts of the scene?

Looks neato :)


December 03, 2001, 09:08 PM

its called "depth of field" effect, well its not really an effect, the eye works like that, as do all camera lenses.
He even mentions it in his text! :)

Zen Jean

December 03, 2001, 09:20 PM

IMHO, it is cool enough solely because it's
"based on a more physically feasable lighting model"

Love to see the background rules, mathematic/phisical, work.

Cody Herzog

December 03, 2001, 09:47 PM

Q: Where's Sulley?
A: I let him go.


December 03, 2001, 10:21 PM

It is usually slower than ray tracing. I'm not an expert on this matter but at school (University of Montreal) we wrote a Monte-Carlo path tracer that starts tracing from the eye and stopped on a light or after a maximum number of iteration (determined by random equation).

Path tracer allow global illumination, radiosity.

Monte-Carlo algorithms do not always gives the correct answer but, always gives one. The probability of a correct answer is proportional to the number of iteration (the number of time this algorithm is run and the return values averaged).

Roch Denis

December 03, 2001, 10:34 PM

Well I dont know, I need glasses, but I'm sure that it isnt THAT bad for ppl without glasses when they're looking 10 meters in front of them ^_^.


December 03, 2001, 11:57 PM

Are the reflection in the floor supposed to look like that? I've never seen any reflections like those in real life.

Other than that, the results look pretty damn good.

Neil Witcomb

December 04, 2001, 12:22 AM

Very nice, I think there is a need for a comment from UoT just to keep things on the balance :)

Very nice image, I wish I could have had the time to work on something of this magnitude. It looks much better then my photon mapping implementation. But I have a server problem of programmers art.

Can you direct me to any interesting links/papers on path tracing. I have heard about the subject, just never had time to do anything.

Neil Witcomb


December 04, 2001, 01:18 AM

I believe photon mapping is actually a better approach for global illuminatin, color-bleeding and caustics. My plan is to use photon-mapping for thease issues and only use Monte Carlo ray tracing for specular reflections and such.

I actually based most of my work on the book Realistic Ray Tracing by Peter Shirley. And drew some inspiration from Realistic Image Synthesis Using Photon Mapping by Jensen.


December 04, 2001, 01:19 AM

I would love to see pictures from your tracer though...



December 04, 2001, 01:19 AM

I would love to see pictures from your tracer though...



December 04, 2001, 03:06 AM

The reflections in the floor look shrunk. I once made a mistake in my own raytracer, causing shrunk reflections. My mistake was forgetting to use a normalized normal (of the floor) for the reflection equation.



December 04, 2001, 04:00 AM

According to the author, the framerate on this particlular application were somethin like 1 fpd ... frames per day ;)


Andreas Magnusson

December 04, 2001, 04:45 AM

Actually, I think they should. Reflections in RT images has always bothered me, until I started to look at my surroundings. What I saw was that many surfaces had more reflections in real life than I thought before. Anyway I think the reflections are good for a new-polished stone-floor, which I guess it is supposed to resemble.

Anyway, nice image Mikael! I really like the depth effect (beeing an amateur-photographer), and I've been thinking about ways to implement it (although in real-time).


December 04, 2001, 05:10 AM

unless you do a weighted monte-carlo, in which case the next iteration always succeeds but the 'success' value is weighted by the probability of success - which tends to give smoother results.

I never did anything like this with it though. Very pretty :o)

The Digital Bean

December 04, 2001, 05:10 AM

Actually that depends on your definition of better. Photon mapping is indeed better in terms that it is faster. However there are problems with photon mapping (most notably improper light bleeding through surfaces, joints and corners). These can be addressed with a little care, however for the ultimate in image fidelity a pure Monte Carlo approach is the way to go (but its awefully slow). Now traditional techniques with Monte Carlo, can be slow to generate images with low variance. However there are variance reduction reductions that are extremely effective like Metropolis Light Transport or importance based sampling. I must warn you though, MLT is very tough to understand, let alone implement. In fact I don't know of anyone who has been a able to implement all the mutation strategies in MLT and prove that their implementation is correct with the exception of Eric Veach of course.

Anyway good luck with your stuff, looking forward to seeing what you come up with.

Arne Rosenfeldt

December 04, 2001, 05:39 AM

I 'd like to see a path-traced pacman (with 3d effect) or
a simple jump an run, using tons of hacks to get it realtime


December 04, 2001, 05:46 AM

Really really great!



December 04, 2001, 06:21 AM

Of course the effect is overexaggerated here, but that is probably due to wanting to save a couple of hours on rendering. Maybe its just an evil hackjob :))


December 04, 2001, 09:40 AM

Actually I didn't have time to do more than 128 samples per pixel. The image still took 25 hours to render, rendering on six different machines in parallell :-)

But I used a simple median filter to get rid of most of the noise. And ended up with speckle instead :-)


December 04, 2001, 12:12 PM

Just wanted to add to the UW support.. looks like some nice work, can't wait until I take graphics next term!


December 04, 2001, 12:31 PM

I'd like to have a flying spacecraft for a car.

This thread contains 39 messages.
First Previous ( To view more messages, select a page: 0 1 ... out of 1) Next Last
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.