|
 |
Saul Luizaga wrote:
> Or what I'm missing? don't want any details, only the highlights if you
> care to answer.
Double precision floating point was only the first objection which held
things up. For several years we've been saying that it's "the reason",
but that's just to simplify things as the other reasons don't matter if
this first one remains unresolved.
Of course, modern GPUs now allow double precision, so we can get to the
other objections now. Specifically:
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.
Modern CPUs are great for this, as each core is essentially independent,
yet all may access a common memory pool (the RAM).
Modern GPUs are not only poor for this, but physically incapable of
running this way. They are built to run simple procedures on massive
sets of parallel data (such as rasterization).
Have you ever written a shader for a GPU? They're extremely limited,
and you must run *the same shader* on each parallel core. Whereas each
core of your CPU can be running an entirely different procedure.
In other words, GPUs are precisely the wrong solution for POV, while
CPUs are perfect for it.
...Chambers
Post a reply to this message
|
 |