Andre Susano Pinto
5d40c1b597
*Added a tree structure with a variable number of childs per node, but with groupped childs (for SIMD)
...
*SIMD support for the first 4*N childs of each node
*Some bvh code organized
2009-08-11 00:33:51 +00:00
Andre Susano Pinto
4ce316ee0f
Ability to disable hints at compile time
2009-08-10 21:37:16 +00:00
Andre Susano Pinto
51cad12120
*BLI_memarena support for any power of two alignment
...
*some simd stuff on bvh
2009-08-07 13:49:15 +00:00
Andre Susano Pinto
f16df034c3
*Process leafs as soon as found instead of pushing them on stack for later evaluation (leads to early exits)
...
(this is mixed with some simd code commit, althouth no simd is being used up to the moment)
2009-08-06 17:45:51 +00:00
Andre Susano Pinto
bbdba89d06
generic hints for raytracer
...
for now only BB hint (i am hoping to find a decent frustum-test)
2009-08-05 12:44:11 +00:00
Andre Susano Pinto
2160f36fea
Fix point-hint
2009-08-04 18:03:04 +00:00
Andre Susano Pinto
7e9dc51cd1
Skip BB tests on primitives
...
the efficiency of this depends on ray-bb and ray-triangle functions efficiency
2009-08-04 17:24:49 +00:00
Andre Susano Pinto
29530beb90
NlogN building:
...
sort once
select subsets and kept the order (on X, Y and Z)
2009-08-03 17:56:38 +00:00
Andre Susano Pinto
2830f25ff3
Another try with building better trees (this should never make worst trees)
...
Expected number of BB tests should reduce a bit (depending on the scene)
2009-07-17 19:09:42 +00:00
Andre Susano Pinto
146b54d5e8
*increased stack size (later this should be prepared for dealing with stack size in runtime)
...
*put cost model back to normal
2009-07-15 17:44:25 +00:00
Andre Susano Pinto
ef1fcd8ad1
*Added support to "BB hints" (which works like a BB version of LCTS - longest common transversing subtree)
...
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.
2009-07-15 17:38:00 +00:00
Andre Susano Pinto
e3f7cad32d
*fix (was losing childs)
2009-07-14 23:26:00 +00:00
Andre Susano Pinto
7afffd2950
Just another experimental stuff to optimize the expected number of BB test on bvh trees
...
*tree pushdowns after the pushsups :P (its still not local optimum)
2009-07-14 23:08:55 +00:00
Andre Susano Pinto
a6b328b825
*Moved rtbuild to bf_render_raytrace
...
*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
2009-07-12 18:04:10 +00:00