Spare a thought for incoherent ray tracing! back
(L) [2006/02/19] [Ono-Sendai] [Spare a thought for incoherent ray tracing!] Wayback!Hi all,
SIMD 4-ray traversal is cool and all,
but spare a thought for us unbiased global illum guys!
*  After a ray hits a surface, it usually bounces off in *random* directions.
*  With DOF, primary rays don't originate from the same point.
*  primary rays account for a small fraction, probably < 30% , of the total number of rays cast.  The rest are more incoherent.
So i guess what I'm saying is, techniques to speed up ray traversal are all good, but remember that (especially in the future) you can't always assume much coherency.
And i'd like to see some ways to speed up my kd-tree code!
  nik
_________________
[LINK http://indigorenderer.com/]
(L) [2006/02/19] [tbp] [Spare a thought for incoherent ray tracing!] Wayback!True, even if a part of the deal is: is there is a cheap way to extract whatever coherence remains.
Jacco & i are curently both struggling with kd-tree construction again and that benefits both types of traversal.
Even if 99% of primaries are coherent, you still have to handle that other percent gracefully [SMILEY Wink]
PS: shadow rays are also quite coherent, but your point still stands.
(L) [2006/02/20] [Lynx] [Spare a thought for incoherent ray tracing!] Wayback!I'm basically in the same boat, the time spent by tracing primary rays in YafRay is often marginal compared to overall renderime...however, in case of e.g. not too large area lights or glossy reflections the rays due to trajectory splitting originate at the same point and may be withing a limited cone angle.
But for MLT you're probably not even doing trajectory splitting...
Anyway, so far i have next to no SIMD experience, let alone coherent raytracing, mainly because all the projects i have been working on are expected to be portable and writing compiler and/or hardware specific stuff just was much lower in priority than increasing overall efficiency, i.e. smarter sampling, better acceleration structures, unnecessary recomputations yada yada...now where was that "SIMD programing for dummies" thread again? [SMILEY Very Happy]
It sure does interest me, but getting enough knowledge for a GI renderer was (or rather, still is) a big enough challenge...
(L) [2006/02/21] [Guest] [Spare a thought for incoherent ray tracing!] Wayback!well.. if you can trace 4 simd rays without loosing much speed, possibly another option comes to mind:
instead of rendering X non-coherent rays, render 4 times X coherent rays, a.k.a. for each ray, just create 4 similar ones. this can help for antialiasing of all sort of items, and thus enhance the image quality quite a bit, while not slowing down as much as going up to 4 times X non-coherent rays.
greetings,
davepermen
(L) [2006/02/21] [Phantom] [Spare a thought for incoherent ray tracing!] Wayback!Had to look up Pantheon. Cool stuff:
[LINK http://www.bee-www.com/parthenon/]
_________________
--------------------------------------------------------------
Whatever
back