While I was off at SIGGRAPH, I had a problem with Comcast which unfortunately took a few days to resolve and resulted in some downtime. I’m back, and will undoubtably begin boring both my readers with my usual mix of topics soon. Sorry for that, I’m really going to have to shift this site from my home box to a more reliable server sometime in the future.
As a quick catchup, I had a pretty nice time at SIGGRAPH. After a relatively slow beginning, I had some good conversations with people who computer graphics who don’t work at Pixar, and have come to realize that even among topics where I think I know everything, I still have a lot to learn. After a brief chat with some of the people there, I spent a couple of hours making minor tweaks to my toy raytracer, and doubled its speed. I think that given a few more hours of work, I could probably double it again. The picture I did at the right takes nine seconds to generate on my machine at work. I think with some of the ideas I came away with, I should be able to get two or three frames per second on the same machine.
So, I’m thinking about that.
I am intrested in things related to rendering. So what was the big speedup ?
Editor’s note: For software rendering, faster hierarchy traversal by minimizing the size of tree nodes, prefetching and even using SIMD to walk multiple rays through the hierarchy at once.
For more, read some of the papers by Ingo Wald.
After buying realtime rendering a while back I implemented Ingo suggestions with regards to tree nodes size and memory alignment which did result in a big speed up. I tried to implement the quad ray tree traversal but never saw any speed up from it. Most likely my implementation was to blame. Did you have any luck with that ?