Age | Commit message (Collapse) | Author |
|
|
|
Remove from blender/nodes, collada, blenfont & render.
|
|
Strip unindented comment blocks - mainly headers to avoid conflicts.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--debug
--debug-ffmpeg
--debug-python
--debug-events
--debug-wm
This makes debug output easier to read - event debug prints would flood output too much before.
For convenience:
--debug-all turns all debug flags on (works as --debug did before).
also removed some redundant whitespace in debug prints and prefix some prints with __func__ to give some context.
|
|
|
|
|
|
http://markmail.org/message/fp7ozcywxum3ar7n
|
|
|
|
Also added a check for -inf/inf bounding boxes, just to be sure.
|
|
|
|
|
|
These should not have any effect on render results, except in some cases with
you have overlapping faces, where the noise seems to be slightly reduced.
There are some performance improvements, for simple scenes I wouldn't expect
more than 5-10% to be cut off the render time, for sintel scenes we got about
50% on average, that's with millions of polygons on intel quad cores. This
because memory access / cache misses were the main bottleneck for those scenes,
and the optimizations improve that.
Interal changes:
* Remove RE_raytrace.h, raytracer is now only used by render engine again.
* Split non-public parts rayobject.h into rayobject_internal.h, hopefully
makes it clearer how the API is used.
* Added rayintersection.h to contain some of the stuff from RE_raytrace.h
* Change Isect.vec/labda to Isect.dir/dist, previously vec was sometimes
normalized and sometimes not, confusing... now dir is always normalized
and dist contains the distance.
* Change VECCOPY and similar to BLI_math functions.
* Force inlining of auxiliary functions for ray-triangle/quad intersection,
helps a few percentages.
* Reorganize svbvh code so all the traversal functions are in one file
* Don't do test for root so that push_childs can be inlined
* Make shadow a template parameter so it doesn't need to be runtime checked
* Optimization in raytree building, was computing bounding boxes more often
than necessary.
* Leave out logf() factor in SAH, makes tree build quicker with no
noticeable influence on raytracing on performance?
* Set max childs to 4, simplifies traversal code a bit, but also seems
to help slightly in general.
* Store child pointers and child bb just as fixed arrays of size 4 in nodes,
nearly all nodes have this many children, so overall it actually reduces
memory usage a bit and avoids a pointer indirection.
|
|
- move GS() define into DNA_ID.h
- add BLI_utildefines as an automatic include with makesrna generated files.
|
|
* Division by zero fix for TNT SVD code.
* Sound fix, in case ffmpeg decode fails, don't use the samples.
* Fix for incorrect bounds of transformed objects in new raytracing code.
* Gave memory arena's a name used for allocations for easier memory
usage debugging.
* Dupligroup no_draw option was using layers but not restrict view/render
setting. (not a bugfix exactly but would do display list context switching
while drawing for no reason).
* Fix objects instanced on hair particles not giving consistent results
when the object is transformed.
* New math functions: madd_v4_v4fl, len_squared_v3v3, interp_v4_v4v4v4,
mul_v4_m4v4, SH and form factor functions, box_minmax_bounds_m4.
* mul_m4_m4m4 and mul_m3_m3m3 now accept the same pointers for multiple
arguments.
* endjob callback for WM jobs system.
* Geometry node uv/color layer now has search list/autocomplete.
* Various small buildsystem tweaks, not strictly needed yet in trunk.
|
|
|
|
|
|
* Convert all code to use new functions.
* Branch maintainers may want to skip this commit, and run this
conversion script instead, if they use a lot of math functions
in new code:
http://www.pasteall.org/9052/python
|
|
(Maybe later this should be done with some thread_cancel function instead of doing variable/callbacks tests)
|
|
control whether instances are used or not
control whether vertexs are stored localy or not
*Removed unsused code
|
|
(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
|
|
-separated vbvh, svbvh, qbvh in diferent files (before the only way to switch between them was at compile time)
|
|
*Moved part of counters code to a separated file (rayobject_raycounter.c)
|
|
multipe of 4childs
|
|
groupped childs (for SIMD)
*SIMD support for the first 4*N childs of each node
*Some bvh code organized
|
|
|
|
*some simd stuff on bvh
|
|
evaluation (leads to early exits)
(this is mixed with some simd code commit, althouth no simd is being used up to the moment)
|
|
for now only BB hint (i am hoping to find a decent frustum-test)
|
|
|
|
the efficiency of this depends on ray-bb and ray-triangle functions efficiency
|
|
sort once
select subsets and kept the order (on X, Y and Z)
|
|
Expected number of BB tests should reduce a bit (depending on the scene)
|
|
size in runtime)
*put cost model back to normal
|
|
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.
|
|
|
|
on bvh trees
*tree pushdowns after the pushsups :P (its still not local optimum)
|
|
*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
|