> So, the question becomes this: what operations does POV-Ray perform which
> can reasonably be grouped together, following more or less an identical
> code path on a large set of data, such that it could be reasonably
> off-loaded to a highly parallel coprocessor such as current and upcoming
> GPUs? (assuming double precision support, which is making great headway in
> recent architectures) The important part becomes the code path... two
> adjacent rays must take generally the same code path, meaning anything
> which spawns rays is automatically out.
I found quite a good paper a while ago about bunching rays together, this
might be useful on hardware where there is a massive speedup for processing
similar rays together rather than individually.
Obviously at some point individual rays are going to go separate ways
through separate objects, but I bet in a typical scene there are hundreds,
if not thousands of rays that all take exactly the same path through the
Also it is not necessary that rays are never spawned, they just get added to
a list of "rays to be spawned" rather than spawned right there and then.
That way the code path can be exactly the same until the end of the "pass",
then all the new rays that need to be spawned are generated and the next
pass starts on those rays.
Post a reply to this message