Commit Graph

10635 Commits

Author SHA1 Message Date
Martin Poirier
1924eeb182 Couple of variables renames and logic inversion simplification 2008-09-02 20:33:32 +00:00
Martin Poirier
f479aec492 Memoization based solver for inner joint placement. Pretty much reduces the problem from a monstruous exponential to a quadratic cake.
Thanks to jaguarandi for initial pointers.

Changes in arith is a simple added function to check for null vectors.
2008-09-02 02:10:14 +00:00
Martin Poirier
276c162e56 Recalculate roll to preserve orientation when retargetting for deform and control bones.
Previously, roll would be kept as it which would make the resulting orientation different than the original, messing up some controls (example: heel bone flipped 180 so feet would rotate toward ground instead of lifting).

Next possible step: preserving inter-bones orientation (if needed)
2008-08-27 19:38:51 +00:00
Martin Poirier
51d6988756 First draft for hybrid retarget/generate (turned off)
Some debugging code for filtering
Control bones link propagation (can deal with reverse foot rig now).
Bones marked as locked are ignored (useful to unlink character base)
2008-08-26 01:37:46 +00:00
Martin Poirier
86cdf3db14 Vertice outside of faces would create zero degree nodes and mess up later.
Do a single pass to remove those after reeb graph creation (but before filtering).
2008-08-21 18:12:36 +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
Martin Poirier
aef4586408 For now, don't join subgraphs if graphs are cyclic (this causes problem when reweighting because it uses a depth first method which doesn't work with cycles properly) 2008-08-18 00:08:22 +00:00
Martin Poirier
0418220444 Use ThreadedWorker for dispatch 2008-08-16 22:48:43 +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
520e52d7d2 Control bones support for root bones (didn't work previously)
Preliminary support for multi threading. Fixed at 4 threads now, will make it use the option eventually.

Need a better mecanism to wait for at least one finished threads.
2008-08-14 23:55:40 +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
Diego Borghetti
639f3e12a9 Last part of the svn release commit.
No need freeze, in a sec I merge both revision into
the 2.47 branch and tag it.
2008-08-14 06:42:52 +00:00
Martin Poirier
715ca7cbf6 starting threading code for retarget
nothing working yet, will finish tomorrow at home
2008-08-13 20:33:57 +00:00
Martin Poirier
d2750f7bda Snap menu header rewording, to make documentation clearer (there was "mode" and "snap mode").
This can and should be merged for 2.47, as the docs will use those wordings.
2008-08-13 17:38:38 +00:00
Martin Poirier
b30a925447 Add missing stuff in new scene code to properly init skeletor params properly.
Add sanity check on file load to fix old files (won't be merged in trunk).
2008-08-12 19:56:03 +00:00
Andre Susano Pinto
7af0643df7 New nearest_point_in_tri_surface function.. 50% faster
Results were verified against the old function

Non 2.47 fix
2008-08-12 13:30:17 +00:00
Jens Ole Wund
ea134f8411 bdiego no 2.47 option for now
make soft bodies spawn threads on a mid level 
use G.rt == 16 to switch to 'old style'
i am going to remove that G.rt switch if everyone is fine /* i do not intend to keep 2 versions of code up because of "BAD STYLE" */
so .. give feed back ..
2008-08-11 20:40:29 +00:00
Martin Poirier
d4f1a98219 Fix flipped arc caused by harmonic interpolation 2008-08-11 20:01:15 +00:00
Ken Hughes
7f3a2a4abe Python API
----------
Added texture.offset and textute.gain attributes, to access parameters for Musgrove textures.
2008-08-11 19:06:30 +00:00
Matt Ebb
04b90467c3 * Fix for a bug zanqdo reported in IRC - transparent shadows were not
getting correct alpha when cast through node materials - in fact the 
node tree wasn't being shaded at all.
2008-08-11 05:23:36 +00:00
Joshua Leung
f3c138e131 Changed a few places where visibility for EditMode bones is tested, so that they now use a macro I introduced in the previous commit. 2008-08-10 03:39:09 +00:00
Joshua Leung
2fe31596e3 == Armature Editing Tweaks ==
* New Tool: Switch Direction
This tool switches the direction of selected bones in EditMode, and can be found under the Specials Menu (WKey). It also adjusts the parenting, so that continuous chains can still be linked. 

* Bone Locking:
Removed Lock/Unlock functions from Specials menu, and moved this functionality under the Toggle/Set/Clear Bone Settings tools (Shift/Ctrl-Shift/Alt W respectively)
2008-08-10 03:10:07 +00:00
Ken Hughes
295155b448 Python API
----------
Remove documentation for Render.EnableEdgeShift and Render.EnableEdgeAll methods, which are no longer in the API.
2008-08-09 22:24:12 +00:00
Martin Poirier
c1e9d25364 Fix bug caused by extranuous return in distance weight calculations (ignored the weighting parameter)
Extract constant for shape level matching
Go to lowest node with matching shape, instead of just lowest node (created bugs)
2008-08-09 19:39:31 +00:00
Joshua Leung
7cbfe78044 Bugfix #17465: "Pose Edit Not Possible" message activated on 3D navigation
When navigating the 3d-view with a bone (or bones) selected, 'Rest Pose' enabled for the armature, and 'Orbit Around Selection' turned on, a "Pose Edit Not Possible" warning would pop up every time the view was manipulated. 

Was caused by a missing check for the 'TFM_DUMMY' transform mode used when calculating center to use (based on active item)
2008-08-09 10:50:59 +00:00
Janne Karhu
adcd339198 Fix for [#13697] Reactor particles with children doesn't render
-Particles were being recalculated a bit too aggressively. Normal particles didn't care, but since reactor particles have dynamic birth times they lost crucial information in the recalculation.
2008-08-08 16:40:41 +00:00
Janne Karhu
3832af90d7 Fix for [#16671] Moving a metaball that a particle system uses as a object (for visualization) also moves the particles
-The particle dupliobjects were using the objects trackflag in combination with it's rotation causing strange behavior. Now the trackflag is ignored and only the rotation of the object being duplicated is taken into account.
2008-08-08 15:38:14 +00:00
Daniel Genrich
6501ff6bdd Fixing point-face distance to support degenerated tris/quads with area<FLT_EPSILON 2008-08-08 14:24:47 +00:00
Joshua Leung
277a420a90 == PoseLib: Add New (on Current Frame) ==
When adding poses to a PoseLib, it is now possible to make them be added on the current frame. It is still recommended to use the default method (plain Add New), as it is prevents poses stored in the PoseLib from being overwritten accidentally.
2008-08-08 10:15:08 +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
Campbell Barton
a1f46e1e32 fix for [#17448] Duplicating textures with IPOs doesn't increment IPO user count 2008-08-07 09:56:31 +00:00
Campbell Barton
5d62ad194d added back copy buttons to "Texture Face" panel. 2008-08-07 01:02:06 +00:00
Ken Hughes
6688ab7ae4 Python API
----------
Fix typo in documentation for render.startFrame() and render.endFrame().  Arguments are valid in the range 1 to MAXFRAME.
2008-08-06 20:05:08 +00:00
Campbell Barton
553e35e36f * blenderplayer wasnt useing the scenes frame rate.
* GBE Python API's alignToVect wasnt clamping the align ammount from 0.0-1.0
* Generated images arnt animated - use for a test to see if the textures animated.
2008-08-06 04:09:10 +00:00
Ken Hughes
ab5f21e24c Fix compiler warnings from earlier commit. 2008-08-05 22:13:13 +00:00
Ben Batt
b277de2895 Fix for [#17421] Issue with Displace modifier not updating with
animated textures

I have added a dependsOnTime function for the Displace modifier which checks
if the displacement texture has IPOs, is a plugin, or uses an animated image.
2008-08-05 14:42:04 +00:00
Campbell Barton
cd1d46c61d Added GameLogic.Mathutils so Mathutils and its types can be accessed from blenderplayer.
also changed importText so it dosnt do a malloc
2008-08-05 09:35:46 +00:00
Joshua Leung
9e968cea47 Bugfix #16673: Segfault when using Bake Constraints Script
There were several buggy things here (in order of significance):
1) PyAPI method didn't check to make sure that there was an active posechannel when deleting posechannel constraints. This was required by constraint_active_func() to be able to update the 'active' flags for the constraints in that stack
2) PyAPI method removed the links to the constraint data from the constraints list, even though that wasn't necessary, and may have caused memory leaks. 
3) constraint_active_func() had no error checking for no constraints-stack being found
2008-08-05 03:29:46 +00:00
Martin Poirier
e238066525 Merging with trunk
15568 - 15963
2008-08-05 02:27:09 +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
Ben Batt
51d90eeb49 Fix for [#17291] Array modifier merge caps leaves a whole
This code was missing a test_index_face call after merging, so it was making
quads with v4 == 0.
2008-08-04 16:44:13 +00:00
Ben Batt
cbec9883f9 Fix for [#17376] Applying mirror modifier does not respect UV pinning.
The custom data system wasn't swapping pinning or selection flags for MTFace
data when face vertices were reordered.
2008-08-04 14:49:55 +00:00
Janne Karhu
9ec6083cfe Fix for [#17414] Particles doesn't obey to lattice once children are added
-Lattice calculations were left out for children by accident
2008-08-04 14:17:11 +00:00