|
![](/i/fill.gif) |
> After only 4 levels of
> recursion (a value entirely common in scenes) the rays are bundled in
> groups of 25 (assuming an even distribution, of course).
>
> With a smaller image, more objects, and less tight grouping, you'd get
> such small groups after only one or two levels of recursion.
That seems small enough that it might be worth transferring back to the CPU.
But if you think about common scenes where you have walls and floors and
so forth, it might be worth using the GPU to test ray intersections
against these, and against bounding volumes (if you're using them). Huge
numers of rays need to be run through these tests, so the GPU can fire
those off quite quickly. It might also be worth running the "so what the
hell is the colour of this surface?" calculation on the GPU - what with
texturing, normal maps, multiple light rays of different angles and
colours, etc.
Also, let's clear this up: My understanding is that the GPU does not
require *all* cores to run an identical kernel. IIRC, the cores are
grouped into (fairly large) bundles, each bundle runs a single kernel,
but different bundles can run completely different kernels. So you don't
need a ray queue with enough rays for the entire GPU, just for a whole
bundle of cores.
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
![](/i/fill.gif) |