Commit Graph

3120 Commits

Author SHA1 Message Date
Andre Susano Pinto 2076703a28 Removed cast warnings from shrinkwrap.c and BLI_kdopbvh.c
Only unused functions and openmp warnings left on those.
2008-08-22 18:28:34 +00:00
Benoit Bolsee 7630539fe8 Fix Windows compilation problem and update MSVC project files 2008-08-22 15:00:30 +00:00
Andre Susano Pinto 4655426ec7 Merged shrinkwrap modifier from soc-2008-jaguarandi 2008-08-22 00:35:14 +00:00
Martin Poirier 963031c99f Finish yesterday's bugfixing.
Making shape function work on cyclic graphs requires tracking the current graph level, which wasn't done correctly when this was implemented. Done properly now so going up and down on graph works as it did before.
2008-08-21 17:28:58 +00:00
Martin Poirier e04b899e81 transfering some ongoing work for home, nothing to see here. 2008-08-20 21:34:49 +00:00
Martin Poirier a3337a15f0 Control bone commit from yesterday broke root bones. This is now fixed in a much more elegant way.
Remove yeh ol' primary symmetry axis flipping and replace by a smarter check on both armature and mesh arcs (works better for partial retargetting).
2008-08-19 22:16:01 +00:00
Martin Poirier 18bce23a60 Make subgraph tagging use own index, to not interfere with flagging used to prevent backtracking in different other functions
Better deal with chains starting with control bones
2008-08-18 22:22:56 +00:00
Andre Susano Pinto a06321d55c Implemented a find_nearest with heaps. This reachs a minimal number of distance queries.
But the cost of maintaining the heap seems to be very high.

For now DFS with local heuristics gets better times.. so BVHTree still uses that.
2008-08-18 19:31:40 +00:00
Andre Susano Pinto 2ce338f7e8 svn merge -r 16077:16174 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-08-18 14:33:26 +00:00
Daniel Genrich d5a890c078 a) New unified effector system by Janne (jahka) + Me (genscher): particle and cloth/sb don't use different systems anymore. b) cloth wind corrected for new system c) Wind has noise option now d) @ Bjornmose: since the old factors are gone SB doesn't need to divide by 1000 etc. anymore. I didn't want to touch your code - you might like to take a look at it :) 2008-08-18 11:09:27 +00:00
Andre Susano Pinto 89a735e4f8 BVHTree fix (non 2.47)
It was building incorrect trees when there was only 1 leaf.
Code fixed to always generate a tree with at least 1 branch.. since most of bvh code relies on this.
2008-08-17 23:48:16 +00:00
Daniel Genrich 62845c3d52 Win64: forget include => this compile errors never showed up on msvc (if anyone wonders) 2008-08-17 17:16:49 +00:00
Daniel Genrich fd0072e77c Win64: please check my changes if you ran across them ;) But should be fine since no additional crashes were reported! 2008-08-17 17:08:00 +00:00
Martin Poirier e0722e0923 ThreadedWorker
New functions to easily dispatch work to a limited number of thread, transparently.

NOTE: Could be merged in trunk, if needed.
2008-08-16 22:47:33 +00:00
Martin Poirier cc3b41b3cd Better logic to display symmetries
Add option to hide node and arc indexes (for cleaner screenshots)
2008-08-15 20:55:38 +00:00
Martin Poirier feb5e3a688 Add a function to join thread by index in the thread list.
This can be safely merged in trunk, in case anyone needs something like that.
2008-08-14 23:48:52 +00:00
Martin Poirier db42038bcf merging trunk 15964 -> 16116 2008-08-14 21:16:48 +00:00
Andre Susano Pinto c37923c7a3 Fixed bug related to some missed rays-hits.. just a lack of a FLT_EPSILON 2008-08-14 15:37:47 +00:00
Andre Susano Pinto 7e7d416f4d svn merge -r 15988:16055 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-08-11 13:29:38 +00:00
Daniel Genrich c58e27d070 Fixing compile error with msvc (introducing max tree to 32) 2008-08-07 22:05:45 +00:00
Andre Susano Pinto 2edb87d90e Fixed compiling warnings of bvhutils.c
Commited the right version of BLI_kdopbvh.c
2008-08-07 20:12:56 +00:00
Daniel Genrich c25bb4685a BVH-KDOP update (merge from shrinkwrap branch): supports raytracing, nearest neighbour, non-recursive now, faster than kdtree.c implementation normaly, divided into 2 sources: generla structure in blenlib, mesh/derivedmesh depending interface stuff in blenkernel 2008-08-07 17:27:29 +00:00
Andre Susano Pinto 0b533d022d Added several comments to BLI_kdopbvh
Changed BENCH to print both wall-clock/real time and cpu time
2008-08-07 14:26:27 +00:00
Andre Susano Pinto 523634ca17 svn merge -r 15908:15988 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-08-06 16:50:07 +00:00
Andre Susano Pinto e57c5ef56c Fixed non_recursive BVHbuild with openmp
CHanged the BENCH functions to use: gettimeofday (wall time) instead of clock (cpu time)
This was to test if the openmp was working right.
2008-08-06 15:46:38 +00:00
Andre Susano Pinto 2d04b641d4 Just a tmp commit about bvhtree build
Theres something broken with BVHtree queries.. updates are not advised at all
2008-08-05 18:49:51 +00:00
Martin Poirier e238066525 Merging with trunk
15568 - 15963
2008-08-05 02:27:09 +00:00
Andre Susano Pinto 0008b1d424 Shrink BVHNode by 16bits 2008-08-04 20:30:57 +00:00
Martin Poirier d4b646103a Option to hide embedding dots on display
Merge internal and external filtering in a single loop (solve problems caused by order of filtering)
Made graph length calculations work on cyclic graphs (it unrolls them)
2008-08-04 19:12:42 +00:00
Andre Susano Pinto d786fead10 Fixed double inflation in case of co_moving points 2008-08-04 11:50:36 +00:00
Andre Susano Pinto c2cd6bebe6 added openmp support for bvhtree build (max processes = tree_type) 2008-08-03 15:37:24 +00:00
Daniel Genrich 7a14a3580b Little speedup for kdop-bvh 2008-08-03 11:40:09 +00:00
Campbell Barton e632b966ec BKE_global.h include path wasnt correct. made boxpack2d.c a bit more
readable. no functionality changes.
2008-08-02 21:39:01 +00:00
Andre Susano Pinto 289d875dfd svn merge -r 15688:15908 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-08-01 21:37:36 +00:00
Martin Poirier 2efd74138c Bug fixes:
Retag subgraphs when merging, to prevent loops
Mark missing up link in multi resolution as NULL
Ignore hidden vertices when propagating weight between islands
2008-07-29 20:20:24 +00:00
Ken Hughes 3120af6f34 Bugfix for #17396. Adding a text object would segfault when using freetype
2.3.6 or later.  Thanks to Cyril Brulebois for a one-line patch, which was
sent to the ML a while back.
2008-07-28 22:10:32 +00:00
Campbell Barton 229a5809bb added exception messages to game engine matrix and vector conversions. also removed own unneeded defines in arithb.c 2008-07-25 21:14:23 +00:00
Martin Poirier d1bdd58797 Axial symmetry stability bug fix.
Axial symmetry tagging was depending on the order of the nodes, so it might tag left side as right and vice versa depending on the order. Stability test ensures the tagging is order independant (what it tags as right and left might not be the real right and left, but at least they are consistant between mesh graph and armature graph, so it doesn't flip limbs)
2008-07-24 19:12:30 +00:00
Martin Poirier deccefc029 First draft for control bones repositioning.
All bones marked as no deform are repositioned after the retarget based on their "linked" bone (linked bone is constraint owner if control bone is a target, parent bone if not).

Arithb:
 Function to make a quat between two normalized vectors
2008-07-22 17:44:06 +00:00
Andre Susano Pinto aec6b78ded svn merge -r 15590:15688 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-07-22 12:02:57 +00:00
Andre Susano Pinto 0703d9aad1 Following the same optimization as bvh raycast:
*Made nearest surface also use "quad" bvh tree (instead of splitting quads in 2 bvh nodes).
 Again that leaded to improvements in build and query time.

*BLI_bvhtree_find_nearest api is now following the same concept as BLI_bvhtree_ray_cast

removed code relative to bvhtree_from_mesh_tris.
2008-07-19 15:22:38 +00:00
Andre Susano Pinto 59a2b50171 *Added "kept" mesh above surface option on shrinkwrap to nearest surface
changed a few code relative to project over normal mode (to try to kept code generic and more independent of modifier itself)
2008-07-18 22:24:20 +00:00
Brecht Van Lommel 7ef48296fc Bugfix: particles with deflection based on size could pass through
objects due to a broken SweepingSphereIntersectsTriangleUV. This
merges the code from the shrinkwrap branch by André Pinto, thanks!
2008-07-16 13:47:03 +00:00
Martin Poirier db5a83d083 More merging goodness
fix adjacency list inline instead of having to rebuild fully
	reweight joined graphs properly
2008-07-15 21:07:13 +00:00
Martin Poirier 08039ef38f Optimization method selectable at runtime
Start multi resolution match from node, not arc (solve problem with Rinky)
various uglyness being cleaned up or factored out
2008-07-15 19:38:48 +00:00
Andre Susano Pinto afc30d1a33 There was a problem with the last merge :S
Somehow it didnt finished and didnt added some files under the svn control
(found thanks to lguillaume that reported some files were missing)

Last merge fixed and also merged modifications up to revision 15584.

I checked the diff
svn diff --new . --old https://svn.blender.org/svnroot/bf-blender/trunk/blender
And everything seems to be right now
2008-07-15 12:54:57 +00:00
Andre Susano Pinto 785123cc5a Improved build time on BLI_kdopbvh
Its now faster than raytree (both on build and query)

Things tryed:
 X=>Y=>Z=>X split (reduces build time.. but increases query time)
 bucket sorts
	(initial sorts for fast usage of bucket take a long time)
	(nth is linear.. so its quite fast already)

Best times archieve with:
 *usage of 4-ary trees.. reduces build time and tree size but didnt decreased query time
 *quads are on the same node instead of splitting in 2 tris..
	(this actually turned on speedup on query time.. since tree size is reduced by a factor of 2)
 *test ray-bb before ray-primitive gives better times on both tris and quads

Notes:
 measures where made projecting a sphere from inside the head of suzanne.
2008-07-14 18:42:53 +00:00
Martin Poirier 84ae0fc000 merge with trunk (15330 -> 15566) 2008-07-14 14:09:36 +00:00
Andre Susano Pinto 70730c7226 svn merge -r 15392:15551 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-07-13 13:21:01 +00:00
Daniel Genrich 751aa3e121 Fixing the fix: Sometimes, Valgrind sees memory leaks where noone is - especially with external used memory managers like in this case (and Python case) 2008-07-12 22:11:26 +00:00