Commit: 9edeff8a045033d3f68225b95265880a70442dd0
Author: Lukas Tönne
Date:   Wed Mar 4 18:29:15 2015 +0100
Branches: alembic_pointcache
https://developer.blender.org/rB9edeff8a045033d3f68225b95265880a70442dd0

Left a comment in DerivedMesh.c explaining why the caching system has
to use the cumbersome cachedm pointer instead of virtual modifiers.

===================================================================

M       source/blender/blenkernel/intern/DerivedMesh.c

===================================================================

diff --git a/source/blender/blenkernel/intern/DerivedMesh.c 
b/source/blender/blenkernel/intern/DerivedMesh.c
index affc104..9aaedc6 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -1564,6 +1564,11 @@ static void mesh_calc_modifiers(Scene *scene, Object 
*ob, float (*inputVertexCos
        
        modifiers_clearErrors(ob);
        
+       /* XXX it would be nicer to treat caching as a virtual modifier (when 
no actual cache modifier is used).
+        * However, the virtual modifiers work by setting their own 'next' 
pointers without touching actual
+        * modifier DNA. This is possible only for prepending at the beginning, 
but not for appending
+        * at the end of the modifier stack.
+        */
        if (BKE_cache_read_derived_mesh(G.main, scene, scene->r.cfra, 
cache_eval_mode, ob, &cachedm)) {
                CacheModifierData *cmd = (CacheModifierData 
*)mesh_find_cache_modifier(scene, ob, required_mode);
                if (cmd) {

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to