*Disabled ray counter (can be enabled on render/extern/include/RE_raytrace.h by commenting out the define)
*marked bvh_node_merge() as static inline (hopping it now compiles on gcc and mingw)
* Made bvh_node_merge() in svbvh.h static (fix suggested by jaguarandi). This makes mingw link again.
* Also, patched my previous fix for ... = {}; since mingw didn't like the other fix (which was for msvc).
* Replaced ... = {}; with ... = {0};
* Solved problem with logf(), where msvc couldn't figure out which version of log() to call (solved by casting the int argument to a float, but could also have been to double)...
* The cflags and cxxflags for scons when compiling the rendering module were only valid for gcc compiles. These will still need to get added for msvc sometime, but for now, there are no more warnings about unknown options...
* mingw almost compiles again cleanly, except for a linking error when linking blender http://www.pasteall.org/8297
* win64 should compile again too to a similar degree?
* silenced warnings about no newlines...
#define RE_RAYCOUNTER (/source/blender/render/extern/include/RE_raytrace.h)
*Some other small organization on code
(will be disable as this only matters for testing and developping)
(this is a generalization of some of the experimental stuff i tried during SoC,
but only had time to improve a few days ago)
- it should yield slightly better results
- the cost model can somehow be tweaked to optimize for diferent trees.
*cleaned up some code
*added counters for number of SIMD BB tests
*added GPL license block on missing files
It creates a tree cut after knowing that a given point will pass on a BB.
This tree cut is used to accelarate the rays casted from a given BB, eliminating unnecessary BB tests from root till the tree cut.
*Added vbvh - Just a experimental tree type :)
Variable Way BVH - there is no hardcoded number of childs per each Tree Node
- idea is to optimize a tree to reduced the expected number of BB tests even after applying SAH (for that an hardcoded n-way is not enough)
- for now childs are stored on a linked list
to be able to use C++ at raytrace code
C++ used in here is basicly C with templates and function overloads,
to make it easier to reuse code between structures.
For now BVH was converted in C++ and moved to this module