
Raytracing: Theory & Implementation Part 1, Introduction - nickb
http://www.devmaster.net/articles/raytracing_series/part1.php
======
jsjenkins168
Doesn't look like this article covers this, but you can anti-alias your scene
using a method similar to what is covered for soft shadows. Instead of
shooting rays back to a random point on a light surface though, you move the
camera slightly (randomly) on the XY plane and shoot multiple rays per pixel.

Not only does this AA, but it also naturally offers depth of field blur.. The
more you allow the camera to move with each ray, the more depth of field blur
you get.

And then if you not only shoot rays from different camera locations, but also
spread them out over time, AND you move objects in the scene, you get motion
blur :). The greater the delta t you allow, the more motion blur you get.

Raytracing is really damn cool.. Too bad its still too performance intensive
for real-time applications.

~~~
comatose_kid
I think some pretty smart people (Neoptica) are working on this problem -
aided by the the general purpose programmability of the latest generation of
GPUs.

~~~
jsjenkins168
The nice thing about raytracing is that it scales so well with parallel
processing. The more pipelines, the more simultaneous rays you can process at
one time. Synchronization issues are minimal because essentially what you are
doing is waiting for pixel data to return from all of the rays shot from the
camera. Order doesnt really matter. Sounds like a perfect problem for multi-
pipelined GPGPU programming.

Hadn't heard of Neoptica before, but they do look like they have some really
smart people there. Raytracing itself is an old concept, but I'm sure there
are creative ways to optimize and extend the concept yet to be done.

Here is some info on what Neoptica is doing. Sounds very impressive [PDF]:
<http://www.neoptica.com/NeopticaWhitepaper.pdf>

------
far33d
Nick, why the sudden interest in raytracing? Just curious...

