[Bf-committers] Modification Stack

Austin Benesh doccoaster at msn.com
Thu Feb 10 00:44:39 CET 2005


You're absolutely correct, their needs to be reconstruction of certain
Blender code before an effective implementation can be in place. But I will
work on this concept. I'll keep notifying when progress is made.

-----Original Message-----
From: bf-committers-bounces at projects.blender.org
[mailto:bf-committers-bounces at projects.blender.org] On Behalf Of Chris Burt
Sent: Wednesday, February 09, 2005 11:58 AM
To: bf-blender developers
Subject: Re: [Bf-committers] Modification Stack

I was under the impression that 3ds Max has a modifier stack, however, 
the main difference is how it is edited. Blender's implementation is to 
have each modifier edited in its own context (hooks, lattice etc.) 
whereas 3ds Max has hierarchical display (i.e. the outliner) which 
allows the user to select which modifier they wish to edit, and then 
lists appropriate attributes below. At least in the version I used. I 
think a construction history stack is more akin to photoshop's history 
panel which displays a list of the actions taken by the user in 
chronological order. 3ds Max is more akin to:

Mesh
  |-Warped [30]
  |-Lattice Deformed
  |-Subsurf [3]
      |-Simple Subsurf
      |-Optimal
  |-Bevel

Etc.. In this system, the modifiers are applied in the order listed, and 
rearranging them by clicking and dragging changes that order. Perhaps my 
little example is far from the best example, but Construction History 
Stack is more akin to:

Mesh
  |- Extruded Some Verts
  |- Did some vertex painting
  |- Deleted some verts
  |- Subdivided
  |- Subdivided again

Etc.. In this system, it just keeps track of what changes have happened 
to a mesh the way the undo system does now, and clicking one of these 
"states" brings you back to the state the mesh was in once that step was 
completed. In this system there is no room for rearranging the steps as 
they are dependent on the previous step for their data. THAT is the main 
difference IMO between modifier stack and history stack. A modifier 
stack is non-destructive and a history stack is not.

Having said all of this garbage, I can say that there is a great deal of 
work to be done in blender before the modifier stack idea can be 
implemented effectively. The biggest reason is that this work ties in 
directly with displists, armature recode, scene graph.. you name it. 
Modifiers can effect allll of these things, and thus efficient coding of 
the components for fast evaluation of the stack would be crucial before 
this would even make sense to try. Otherwise, as is the case with 3ds 
Max from what I've heard, Blender would slow to a crawl constantly 
attempting to revaluate the entire stack when changes are made. (imagine 
modifiers applied to meshes with particle systems for example)

I'm not an experienced coder but I believe I'm pretty good at 
conceptualizing and grasping the logic of the matter, and to me it seems 
like before this system can be implemented, work in other areas has to 
be completed. That is, IF this system is ever implemented at all.

Chris

Ton Roosendaal wrote:
> Hi,
> 
> The "modifier stack" is a confusing name. You can have non-destructive  
> modifiers (in Blender too) which are now available as 'modifiers' in  
> the code as well. Examples are Wave effect, Hook deform, and  
> curve/lattice/armature deforms.
> 
> What 3ds and Maya offer are "construction history stacks", which is  
> very much different. Blender's undo system nor event system currently  
> supports that.
> 
> -Ton-
_______________________________________________
Bf-committers mailing list
Bf-committers at projects.blender.org
http://projects.blender.org/mailman/listinfo/bf-committers


More information about the Bf-committers mailing list