|
|
> 1) Recursion. As clipka (Christian?) wrote, it is absolutely essential
> for POV.
>
> 2) Data parallelization versus code parallelization (this is related to
> the first, but is not strictly the same).
>
> The ray tracing algorithm follows drastically different code branches on a
> single set of data, based on recursion (reflections & refractions), as
> well as the other various computations needed (texture calculation, light
> source occlusion, etc) which almost all need access to the entire scene.
Often you need to drastically change your algorithm to get it running well
on a GPU. It's quite trivial to rewrite the raytracing algorithm to work on
masses of rays in parallel with no branching or ray spawning, and then do
the branching/spawning for the rays all in one go. After this you can
efficiently use the GPU and CPU in parallel.
Post a reply to this message
|
|