Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
This happens when cmath.h is included after math.h in cpp code.
Kudos to Sergey for pointing this out.
|
|
|
|
|
|
|
|
also initialize bmesh-bevel settings struct to zero to avoid possible uninitialized memory later.
|
|
|
|
also fix minor error in MOD decimate when the modifier did nothing the reported face count would be wrong.
|
|
|
|
- define array sizes for functions that take vectors.
- quiet some -Wshadow warnings.
- some copy/paste error in readfile.c made it set the same particle recalc flag twice.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
http://markmail.org/message/fp7ozcywxum3ar7n
|
|
many different checks here, but I couldn't handle all cases in fewer lines.
|
|
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.
|
|
MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h.
no functional changes.
|
|
with really large numbers, instead return 0.0.
|
|
|
|
|
|
* 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
|
|
* 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...
|
|
(Maybe later this should be done with some thread_cancel function instead of doing variable/callbacks tests)
|
|
(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
|
|
now that build is nlogn (it should be worth to the tree of trees)
|
|
sort once
select subsets and kept the order (on X, Y and Z)
|
|
|
|
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
|