Blender Git Commits

Blender Git "soc-2014-shapekey" branch commits.

Page: 5 / 6

June 6, 2014, 08:03 (GMT)
Corrections to the last commit
June 6, 2014, 07:42 (GMT)
Merge branch 'manip-fix' into soc
June 6, 2014, 07:40 (GMT)
Corrections for getting the derived data for manip

Was getting the wrong DerivedMesh & didn't need customdata
June 5, 2014, 22:23 (GMT)
Merge branch 'manip-fix' into soc
June 5, 2014, 22:22 (GMT)
Merge remote-tracking branch 'origin/master' into soc
June 5, 2014, 22:17 (GMT)
Manip handles are now drawn in right place with deform modifiers

Now to constraint axis
June 5, 2014, 11:35 (GMT)
Reverting getting rid of Apply Shape Keys in EM

This turned out to be a bad idea after all. Now, Apply Shape Keys in
Editmode works as it did before. Shape recalc hasn't been changed.
Key->pin moved back to object->shapeflag.

Apply Shape Keys in Editmode is made to be aware of the alternative
editmode mix and the user can switch between them.
June 1, 2014, 21:39 (GMT)
Merge remote-tracking branch 'origin/master' into soc
June 1, 2014, 21:26 (GMT)
Can mix shapekeys in editmode now

The user can now edit a shape key on top of a mix.

The difference to the master is that the 'Apply Shape Keys in Editmode' is gone completely. You can either pin the shapekey or edit on top of a mix: http://screenshot.su/img/a1/70/dc/a170dc61123ee1648e8a6dc3394b3812.jpg, and that is all.

The user can select the values that he wants to use in the mix: the animation-driven values (KeyBlock->curval) or a temporary mix value visible only in editmode.

Implementation-wise this is sort of an emulation of the shape keys modifier behavior. On editmode enter, the mesh keyblocks get evaluated and that is put in the edit coordinates. On shapekey switch or editmode exit the underlying mix gets subtracted from the editmesh cos, the resulting isolated shape coordinates gets adjusted for value (we store data with 1.0 values only!) and than processed as a normal (pinned) shape key update. Then the mesh gets re-evaluated, etc.

There is some optimization potential which will be explored!

Undo might be broken at the moment, this is the next thing to do.
May 30, 2014, 20:48 (GMT)
Fixed key->mix_mode having incorrect values

The values of mix_mode (KEY_MIX_FROM_ANIMDATA/KEY_MIX_FROM_TEMPVALUES)
were used the wrong way. Also, added a function to access the active value
of the keyblock.
May 28, 2014, 17:33 (GMT)
Fixed a bug in hashing where it would crash on certain wire meshes
May 25, 2014, 15:40 (GMT)
Merge remote-tracking branch 'origin/master' into soc
May 19, 2014, 04:57 (GMT)
Correction to the last merge
May 18, 2014, 22:40 (GMT)
Merge remote-tracking branch 'origin/master' into soc
May 18, 2014, 22:34 (GMT)
Moved Object->shapeflag to Key->pin

Since we aren't going to use the shape key modifier for editmode blending,
Apply Shape Keys in Editmode is now obsolete too, and shapeflag just says
is the key is pinned or not.

Why to do this? In editmode, we want to be able to switch from Blending
shapekeys to pinned shapekeys and this is done in key RNA update handler,
so we want it to be called when pinning changes.

The RNA property was removed from the Object and added to the Key, all
code that referenced Object->shapeflag now references Key->pin.

The UI was updated to accomodate for that.

Unrelated change which I couldn't stage seperately is that there is now
support for temporary mix values from RNA and UI. The user can select
which one to use in Editmode. The value in the UI will automatically
reflect the editmix or the animation mix, transparent for the artist.
May 18, 2014, 21:18 (GMT)
Added an include guard to bmesh_pe.h
May 17, 2014, 22:53 (GMT)
Cleaned up mm2_hash()
May 17, 2014, 22:49 (GMT)
Removed a pointless assert and a bad totelem change from editdata_to_scratch
May 17, 2014, 22:48 (GMT)
Changed the topology hash function to Murmur2, hashing improved altogether.

According to that [1], Murmur2 is faster and will work quite good in our situation.

[1] http://floodyberry.com/noncryptohashzoo/
May 17, 2014, 20:55 (GMT)
Fixed a dumb out-of-bounds on topology-changing keyblock recalc

BKE_key_editdata_to_scratch didn't alloc space in the scratch if more verts were in the new mesh
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021