diff options
author | Daniel Dunbar <daniel@zuster.org> | 2005-07-22 11:37:15 +0400 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2005-07-22 11:37:15 +0400 |
commit | e546e81762b2214eaf2439c04eea4d339901c2b5 (patch) | |
tree | 683f67adc43738e0226e9cc92a6ec96a5cbb7979 /source/blender/src/editmesh.c | |
parent | 5e34b80e1b2e36a3304802a373a1cebec5b25ba3 (diff) |
- added data arguments to deformer modifiers, in case someone wants
to write one that is based on geometry (and not just vertex position)
- added editmode versions of modifier deform/apply calls and flag
to tag modifiers that support editmode
- added isFinalCalc param to applyModifier, basically a switch to let
subsurf know if it is calc'ng orco or not (so it can deal with cache
appropriately). This is kinda hacky and perhaps I can come up with
a better solution (its also a waste to do a complete subdivide just
to get vertex locations).
- changed ccgsubsurf to not preallocate hash's to be approximately correct
size... this was probably not a big performance savings but means that
the order of faces returned by the iterator can vary after the first
call, this messes up orco calculation so dropped for time being.
- minor bug fix, meshes with only key didn't get vertex normals correctly
calc'd
- updated editmesh derivedmesh to support auxiliary locations
- changed mesh_calc_modifiers to alloc deformVerts on demand
- added editmesh_calc_modifiers for calculating editmesh cage and final
derivedmesh's
- bug fix, update shadedisplist to always calc colors (even if totvert==0)
- changed load_editMesh and make_edge to build me->medge even if totedge==0
(incremental subsurf checks this)
todo: add drawFacesTex for ccgderivedmesh
So, modifiers in editmode are back (which means auto-mirror
in edit mode works now) although still not finished. Currently
no cage is computed, the cage is always the base mesh (in
other words, Optimal edge style editing is off), and the final
mesh currently includes all modifiers that work in edit mode
(including lattice and curve). At some point there will be toggles
for which modifiers affect the final/cage editmode derivedmesh's.
Also, very nice new feature is that incremental subsurf in object
mode returns a ccgderivedmesh object instead of copying to a new
displistmesh. This can make a *huge* speed difference, and is very
nice for working with deformed armatures (esp. with only small
per frame changes).
Diffstat (limited to 'source/blender/src/editmesh.c')
-rw-r--r-- | source/blender/src/editmesh.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/source/blender/src/editmesh.c b/source/blender/src/editmesh.c index 2e3ca06a9bb..bcfc70c4e62 100644 --- a/source/blender/src/editmesh.c +++ b/source/blender/src/editmesh.c @@ -945,10 +945,8 @@ void load_editMesh(void) else mvert= MEM_callocN(G.totvert*sizeof(MVert), "loadeditMesh vert"); /* new Edge block */ - if(totedge) { - if(me->medge==NULL) totedge= 0; // if edges get added is defined by orig mesh - else medge= MEM_callocN(totedge*sizeof(MEdge), "loadeditMesh edge"); - } + if(me->medge==NULL) totedge= 0; // if edges get added is defined by orig mesh + else medge= MEM_callocN(totedge*sizeof(MEdge), "loadeditMesh edge"); /* new Face block */ if(G.totface==0) mface= NULL; |