Returning Google Summer of Code student AndrÃ© Susano Pinto (a.k.a jaguarandi) has been working on improving Blender's ray tracer, mentored by coding god Brecht Van Lommel.
AndrÃ© has recently posted some speed up results from his project:
Ray tracing is an arcane art, so I asked veteran coder Daniel Genrich if he could help explain how AndrÃ© achieved his impressive results, in terms that anybody can understand. Daniel says
"He switched to special BVH's using adaptive children count, exploiting raycoherence using hints/LCTS, SIMD at the end. He's using self developed heuristics to build trees and reduce the expected number of bounding box tests by about 20%. He calls his BVH's "VBVH" and "SVBVH". VBVH is much slower than SBVH when using non-SIMD."
Well, that certainly clears things up for me! :)
To learn more about the details of the AndrÃ©'s project, please check out the project proposal and the weekly progress reports for this project:
You can checkout AndrÃ©'s SVN branch here:
Feedback on the project can be posted to the 2009 Summer of Code mailing list: