[Soc-2014-dev] Weekly Report #4 Shape Key Enhancements

Grigory Revzin revzingg at gmail.com
Sat Jun 14 02:10:13 CEST 2014


Hello everyone!

Sorry for being a little late on the report, but I'm hopefully compensating
for it by some cool progress.

This week:
1) I benchmarked my branch a little in comparison to the master. Switching
(and recalculating) shapes in editmode is roughly 2x faster in my branch on
shapekey-heavy meshes, and this is really good! More benchmark details here
[1]. In conclusion, it was a good idea to implement topology hashing and
use lightweight shape key recalculation when possible.

2) I implemented a simple system to compress mesh shape keys on file write
(and object mode undo).  After an email discussion with an artist I noticed
that ususally no more than 50% of vertices are animated in a shape key on a
typical 3D character. Therefore, we store a lot of vertices in our keyblock
that are just replicas of the rest position. This is reasonable while
editing and evaluating shape keys, but not when storing them on disk. With
the implemented system, only the vertices that change their position from
the Key->refkey->data are stored. This gave a 3x size reduction in storing
Elizabeth's head [2]. (Of course, when around 70% of vertices change from
the rest position, we stop winning the space... The system checks for that,
too.)  As per Sergey's request to have screenshots in the reports to make
them cooler, here is one [3].

3) Thanks to MiikaH, I unbroke GE and blenderplayer - were not compiling.
MiikaH is planning on building soc-2014-shapekey from time to time on
graphicall and that is very kind of him!

4) In master branch, the transform manipulator and transform constrains and
prop circle don't draw correctly on deformed editmesh cage. This is no
longer the case in my branch. The code that draws them now uses derived
cage data to determine the positions. Screenshots here [4], and a test file
here [5]. This works with generate modifiers that can be applied on-cage
and set CD_ORIGINDEX.


Next week:
1) Getting more reviews
2) Editmode undo
3) Endian conversions for compressed shapes

Problems:
1) First final exam out of 3 on Tuesday
2) I still ask for more reviews and feature suggestions from anyone
interested! Shape key stuff doesn't raise that much interest, it seems.
Thanks qurq and slikdigit!

Thanks,
- Grigory


[1]
http://wiki.blender.org/index.php/User:Revzin/ShapesProposal2#Mesh_topology_hashing
[2] 4.5 kvertex head mesh with 157 facial expressions, file here:
http://dl.dropboxusercontent.com/u/91422001/liz_headonly_masterbranch.blend
[3] http://cs617325.vk.me/v617325382/e0e1/cjnMXhbtU44.jpg
[4]  http://screenshot.su/img/ef/e6/26/efe626a9a496e794c174e76ec9522736.jpg
&  http://cs617325.vk.me/v617325096/e2c1/uVXYr70lvcQ.jpg
[5] http://dl.dropboxusercontent.com/u/91422001/manip_test.blend

-- 
Г. Г. Ревзин
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.blender.org/pipermail/soc-2014-dev/attachments/20140614/9423194c/attachment.htm 


More information about the Soc-2014-dev mailing list