Status Update

June 26, 2009 at 9:39 pm 17 comments

I’ve been doing more work on the modifier system.  I’m rewriting Array in bmesh so it’s not quite so hackish and buggy as the old code was, what with the hacks I had to do to make it (almost) work.

I’m not sure how much slower and memory-intensive bmesh modifiers will be.  If necessary, I could probably write some minimum necessary modeling functions for CDDM (the low-level mesh structure most modifiers use), though that would likely be quite complex since we’re dealing with ngons.  For the foreseeable future, it’s likely that modifiers like Array will use bmesh, despite any performance loss.

After discussion with other developers, we decided it’d be best to get everything working as well as it does in trunk, before doing any new features.  This means modifiers, vertex/weight paint, UV editing, projection paint, etc.  I intend to get the modifier stack stable (and as functional as it was), then I’ll probably tackle vertex paint, then the UV stuff.

Of course any ideas for new tools are always welcome, it helps to get new ideas early, so I have plenty of time to think about them.


Entry filed under: Uncategorized.

Modifiers And Ngons Recurring Donate Links Up

17 Comments Add your own

  • 1. Bellorum  |  June 27, 2009 at 7:57 am

    I made this request years ago, when you were first working on this – I would like an inset scale tool, and I would like it to work both on individual faces and regions of faces connected. I would also like the option to extrude regions of faces along individal face normals, instead of just averaged normals like it´s done today. If you need a better explanation, I´ll make pretty pictures;-)

    • 2. Axon D  |  June 30, 2009 at 1:04 am

      If extruding multiple selection along true face normals is possible, than it should be also possible to grab along normals while in individual center pivot mode and normal orientation. This would be very useful.

  • 3. michaelw  |  June 27, 2009 at 1:16 pm

    It’s easy (for us users) to forget how much work “getting it working like it used to” is.

    do you have any “ballpark” timescale in mind? (and apologies if that’s an impertinent question!



    • 4. joeedh  |  June 29, 2009 at 8:40 am

      @michaelw: there’s no real ballpark, though I do intend to try and get it into 2.5 (mostly because 2.5 is going to take so long, there’s at least a chance at it I think; I make no promises though 😉 ).

  • 5. Carrozza  |  June 27, 2009 at 8:09 pm

    First of all, thanks for working on this project, it’s very important to take Blender to the next level of modeling.

    Second: +1 for Bellorum’ requests.

    Third: new bevel tool with recursion, to make cool round corners.

    Keep up the good work!

  • 6. Brian  |  June 28, 2009 at 3:16 am

    One suggestion on the modifiers…not sure how much easier it would make it and if at all this could be decrease the coding by integrating the stack items and what they do….but it could at least decrease the amount of listed modifiers in the menu. Right now we have some modifiers that perform similar functions. The major ones being those that deform geometry. (ie. cast, simple deform, lattice, smooth) Combining these modifiers into a single deform modifier might simplify things a bit within the menu list. Then we have modifiers that edit the geometry. (ie. subd, edgesplit, bevel, etc.) Really these are just thoughts to see what you think and others might think.

    The other thing…since you are rebuilding the modifiers. I’ve wanted a “group” modifier option for awhile. This would go a long way towards reducing the clutter in the stack when you have a large amount of modifiers on a model. I know we can minimize the view of each modifier….but sometimes that isn’t enough.

    In addition a shortcut to close and open all modifiers would be VERY useful. If we have a large list being able to press a single key to minimize all modifiers in the stack of the selected object would go a long way towards accessibility.

    If these are beyond the scope of bmesh…which the last few suggestions likely are 🙂 please suggesting them to whomever is appropriate for me would be most appreciated.

    • 7. joeedh  |  June 29, 2009 at 8:36 am

      @Brian: yeah, that’s a little out of scope of the bmesh project. The modifier UI was ported over to 2.5 by brecht, not me, and it’s definitely something I shouldn’t be touching (at least not yet). UI aspects like this are for later (maybe even post-2.5, though I hope not).

  • 8. Briggs  |  June 28, 2009 at 3:06 pm

    @ Bellorum

    Those are mostly down to the transform code and a part of Blender that is ‘owned’ by someone else. These things have been discussed but it is the sort of thing that requires collaboration with other module owners.


    Recursion is meant to come back to the Bevel tool ‘soon’. It was always in there but I had turned it off long time ago because of numerical instabilities. I’m fairly certain these can be fixed fairly easily though. There are also quite a few features I want to add to bevel as well as clarify the existing options/cull redundant ones. This will probably happen within the next couple months along with a BMesh version of edge split (which I started the new kernel functions for a while back but got distracted by ‘the real world’)


  • 9. gustav  |  June 29, 2009 at 9:27 am

    Nice to hear that you’re making progress!

    How about sculpting? Is sculpting supposed to use bmesh or does it need special treatment? Just wondering because sculpting improvements is planned for Durian…

    • 10. joeedh  |  June 29, 2009 at 10:04 am

      @gustav: Sculpting itself should work just fine. Multires I’m not sure what to do with; if I can, I’d like to leave that up to nick bishop. I know the subdivision library multires uses supports ngons (it’s the same one we use for subsurf) but I don’t know enough about how the new multires works to know how hard it would be to support ngons.

  • 11. dcase  |  June 30, 2009 at 8:50 am

    This is good news, way to go guys!

    Briggs, i take it you have examined modo’s bevel tool for ideas:

    The new version produces pretty nice topology with recursion and includes inset as face bevel iirc. Also have you thought about mouse/keyboard shortcuts for tool settings, eg. if i want to bevel some edges with level 3 recursion, can it be done using scrollwheel etc or do i have to tap t for tools and tweak settings there?

    • 12. Briggs  |  July 2, 2009 at 12:42 pm

      What is shown in the Modo video is along the same lines of plans I had for the bevel tool based upon a couple bits of user feedback already. What is being shown is essentially allowing the face offset code to run up until the point edges collapse then run a remove doubles on the mesh for each level of recursion. Making this quick for real-time preview may be a bit tricky however, and I may end up splitting the offsetting and ’rounding’ (recursion) portions into separate steps of the tool initially.

      The current bevel code in trunk was originally bound to +/- for recursion. For the Bmesh branch it is likely that the ‘last operator’ panel feature of 2.5 will be used for tweaking the settings until the real-time preview issue for recursion can be sorted out.


  • 13. Lpg  |  July 1, 2009 at 5:30 pm

    Not sure if this suggestion was made before:
    Being able to slide an edge “loop” even if it is a border. It would slide only in one direction.

    Thanks for the hard work!

  • 14. Massimiliano Puliero  |  July 3, 2009 at 4:58 pm

    are you working for Durian project?

    other question, for Gsoc a guy working on vieport speed optimization, do you work with him? or no connection about your work ?

    you are awesome!

    thankyou 😀

  • 15. seanjm  |  July 4, 2009 at 2:22 am

    There’s really only one new tool I need, Bevel. NGons in general will be a blessing for box modeling and fixing topology.

  • 16. joeedh  |  July 4, 2009 at 8:52 pm

    @Puliero: yeah I’m his mentor.

  • 17. Lpg  |  July 14, 2009 at 8:02 pm

    Also multiple edge loop sliding would be very handy. Right now I’m doing a pretty repetitive task sliding loops, which could be done in one step.



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Trackback this post  |  Subscribe to the comments via RSS Feed



%d bloggers like this: