BMesh vs non-BMesh, where is the benefit?

I watched this video http://youtu.be/Jg8H7hBdZkE?hd=1 and I failed to understand how BMesh benefits Blender? The way the head was modeled was no different from the way it is usually done in current Blender. Still had to have topology, still ended up with square polygons.

Can some one explain please what is the point and the benefit of having NGons?

From a modeling standpoint I’m curious as well- I gather that there are other benefits to bmesh, like changes being made in the mesh will reflect in UV mapping, etc. All I see is that there are faces instead of holes, but I’ve only really used quads/tris in the past, with the exception of AM’s 5 point patches which sucked back then anyways.

I may have answered my own inquiry, seems like you save time by not manually creating faces.

Far superior tools for one thing, a working bevel, inset, cut / knife tool, and so on.

Is there anyway you can clarify this statement? I don’t see anything superior in it. I have not had a situation so far when I needed NGons.

Yes, having to select particular edges and bevel those was something I need all the time, so that’s useful/

Inset is there, as an Add-on. Cut/Knife was in 2.49, so I assume the only reason they didn’t put it into 2.5x , 2.6x is to avoid reworking it later for BMesh.

I mean, I don’t know why the mesh tools that we see in MAX or other polygon modeling packages were not created in Blender for it’s existing way of operating with mesh, but I do know a lot of export add-ons will be broken when BMesh is integrated. And I am not looking forward to that :frowning:

When the new bmesh system goes in it will feel like a regression for a while as all the old scripts are going to break. But i also fully expect modeling tool development to literally skyrocket afterwards as the mesh system will be using a superior codebase and everyone that was “waiting for bmesh” dont have to wait anymore.

Within a year of bmesh integration, you will wonder how you ever did without it. Being able to disolve and connect any edge without making holes is fantastic. There are a huge number of cases where ngons make sense for a model, usually on mechanical objects. We should start seeing superior edge loop selection tools under the new system, etc.

The most exciting long term benefit to bmesh is how it should take the shackles off of modeling development and a lot of great new tools should start showing up often and early moving forward.

As it is now you have to do many workarounds when modeling which can be cumbersome and very annoying at times, Bmesh will put an end to that and also introduce many new modeling tools that have been sought after for years by the Blender community.

But Ngons are just like in all other 3D software bad and are only meant to be a temporary measure and be cleaned up later if you are doing subdivision modeling, for surfaces that doesn’t require subdividing it will work great though.

In other words, an extra step (cleaning up NGons)…

No you actually save quite a few steps not having to clean up extra edge loops and etc.

EDIT: I am really bad at explaining what I mean but for example if you have a triangle that you want to convert to a diamond quad Bmesh saves you the trouble of creating an edge loop and then having to clean up said edge loop, same thing if you want to make small adjustments in your polyflow and so on.

There are benefits beyond just workflow. The old (current) mesh code is ugly and gross. Implementing a new feature is risky because it’s easy to inadvertently break something else.

The new code base goes a long way to abstract the handling of the mesh data, so it will make it much easier to add features and functionality once the bmesh code is committed. Aside from n-gons, and some non-destructive features, you may not notice much difference, but expect cool new mesh related feature to be developed at a much faster pace after it is implemented. (GSOC this year could be really interesting…)

Basically the benefit lies in the fact that you can be more free in the initial stages of mesh creation. In places where deformation is not considered, and geometry can stay as is, an n-gon used as a cap on a multi sided object can be used, thus reducing overall poly count. Decision on edge flow can be more liberal and a few steps used to clean up the mesh later can save you five initial steps at creation. In the end, when working with objects meant to deform, it is still desireable to use quads, and in game models, tris. It is up to you whether or not you wish to subscribe to the idea of using n-gons in your workflow, but if you are used to modelling purely quads and tris, then stick with it.

Are there benefits, yes, but they are subtle and hard to describe out of application, but if you use other applications that are able to use n-gons, then you tend to miss them when they are gone. If you have never used them, then their addition may not seem that big of a deal, and therefore can seem useless to implement. One good area that I like to have them in is boolean creation. You can cut shape out of others and not have a huge mess to clean up if the tris are not in the right places and so on. You just cut, and then add additional edges to make your own, and have a much cleaner mesh. Perhaps if I rememeber, I could show you an example when I am at home to describe the situation better.

You can definitely model without Bmesh. But Bmesh gives you a way to further optimize your modeling workflow.

Interesting. I watched that video earlier today, and found it HELPED me understand the benefit of bmesh, specifically NGons. I’ve long understood how ngons could be useful in architectural or mechanical modeling, where you have large flat surfaces that might need flat holes in them – a wall with windows for instance. The video showed, pretty clearly IMHO, how it can be useful in organic modelling.
I hope the predictions of the “tools to come” due to bmesh come true, and am looking forward to the future of Blender. The fasted dev cycle of ANY application I’m familiar with. Truly amazing.

I’d like to know too more about the modeling benefits of ngons and practical examples. I tried searching for information about them, and on other 3d modeling programs they’re generally frowned upon, regarded as something to avoid as much as possible (like triangles). Seeing how it appears they’re going to be the “next big thing” in the case of Blender, I find this very confusing.

The main advantage is avoiding creation of triangles when you cut things.

They are to be avoided in final models that are intended to be exported to software that doesn’t support ngons, or if they are intended to be skinned and animated. But even with such models, they are a benefit to the artist because you don’t have to constantly destroy and rebuild faces to alter topology. Also some operations are much, much easier to do when you have ngons. An extreme example would be quad caps on cylinders. With ngons and knife tool (which doesn’t make sense without ngons), 1 minute, tops. Without? Gee. Half an hour? Depending on how many sides the cylinder has.

I made a little info sheet that hopefully helps, I’m not exactly the best explainer. :confused:

http://dl.dropbox.com/u/9287332/blenderartists/bmeshinfo.png

are we going to be able to turn the hidden egdes that are generated?

If you need that level of control, your mesh is too sparse. And you can always make an explicit triangle. And the triangulation doesn’t affect subsurf anyway.

Can a Mod sticky xrg’s graphic somewhere?

This whole “Why do we need ngons?” thing is getting like the Monty Python sketch where Count VonZeppelin throws the German Cabinet out of his new airship for calling it a balloon.

For “It’s not an airship!!!” substitute “It’s not about ngons!!!”

I don’t think this is a “rip the bmesh code out now” kind of thread, more of a place where people who are new to a technique are trying to wrap their head around it.

The video was pretty fast, but it seemed like points were being extruded into the middle of an ngon (see :42-:44 in the video), how does one do that?

When the desired result is quads, it would be nice to have the ngons highlighted somehow so that the state of the mesh can be quickly evaluated.