BMesh vs non-BMesh, where is the benefit?

For me the best benefits are an advanced cut tool and the bevel function. I don’t care much about n-gons.

Select-> by number of verts, set to whatever number you want, possibly with the “greater than” option.

That’s sort of like saying you don’t care about cars, you just don’t want to carry your groceries home on foot.

Well, the funny thing is what is shown here, especially on xrg’s pics is without subsurf / multires… That’s fine for low poly modeling for realtime applications, but I am absolutely sure for sculpting or subsurf models NGons can be bad. Therefore modelers will be forced to clean up the mesh anyway.

No matter what you see in the viewport, the underlying structure is triangles and quads.

If using NGons results in clean subsurf mesh, then it’s awesome. Especially useful for mechanical and architectural modeling. However, I highly doubt that’s the case.

Your subsurf will only ever be as clean as you make it, no matter if you use ngons or not. Subsurf follows simple rules, it’s up to you to exploit them.

I can’t even put it into words when I see these threads…

http://www.nevercenter.com/silo/tutorials/glen_minotaur/

I agree with Tea_Monster(aren’t you an old tS user?)

There are lots of times when you need to change the topology of the underlying triangles that ngons creates. Especially after complicated boolean operations.

It doesn’t always order them in the most efficient manner either. I’m not talking about modelling a human head and then smoothing with sub-surf but modelling non-organic hard edged shapes. You can easily get shading errors by having too many long thin triangles bunched up together, that can be fixed by re-ordering the triangles.

It’s important to know if this functionality will be brought to blender.

In other programs you can turn on and view the hidden edges and re-order/turn them to fix any problems. There are lots of cases where you will need to be able to do this.

Can you show an example where just making explicit triangles is unacceptable?

Make 2 cubes as separate objects
Triangulate one of the 2 cubes and leave the other being all quads.

Add a Subsurf modifier to both cubes and see what happens.

(edit there would be an obvious difference too even if the 2nd cube had only 2 tris instead of all tris)

That’s because subdivisions surfaces do not handle triangles very well that people like quads so much (along with quads making it easier for the eye to “read” the topology).

We’re not talking about subsurf. As far as I’m aware, subsurf totally ignores internal bmesh triangulation, so it’s not an issue. We’re talking about old-school polymodelling.

In that “old school modelling” case you don’t need quads indeed, triangles and/or quads have done the job of non-subsurfed models since forever without any problem, since 3D gaming have existed and used nearly all triangles and quads in their quest of “required low poly display while looking good”

But everything you need to subsurf, you’re going to run into some unexpected oddly shaped parts of your model if you use some triangles in the middle of your quads.

Believe it or not, some of us still use direct mesh modelling with no subsurf in non-gaming scenarios. Especially when poly budgets are tight and the models are small or not-that-important. You can’t tell the difference, you get many times fewer polys and the modelling goes so much faster when you don’t care about topology.

It’s true that with that approach sometimes (very rarely) you run into a situation where the internal triangulation of quads and ngons is not what you’d expect or not what you need. However I could always fix it by manually triangulating those faces. After all, you’re modelling the final mesh so there’s no reason to avoid tris.

No arguing, but curious, what scenario involve a model for commercial use that require it to be strictly low poly but will not involve it to be used in a game engine ?

It’s not a requirement, just a choice. It’s faster to render and faster to model. So your project gets done faster. And the models are not exactly low-poly either, the polys are just more efficiently used. You still use subsurf (or whatever it’s called in your modeller of choice) when it makes sense, and almost always on foreground elements.

I asked because nearly all models i made where for use in game engines in which we have low poly requirement (depending on the engine obviously) that usually made me care absolutely not in term of quads and tris but in term of how to get the most from a specific face count.

I didn’t knew there was other sector than gaming that had such requirement.

Well, yes! If I can carry something without a car and go fast as a car, and don’t get wet when it rains, I can live without a car.

I don’t need pentagons and all their friends to model. I just need a good knife tool to draw good topology and some loop tools like the bevel. If n-gong are needed to have those features, well, they’re wellcome though!

Sometimes when people say. I dont need ngons. what they actually mean is “Hey I think I am so good I don’t need a better tool. I’ve perfected the art of cutting wood using an ax. Why would I ever need a chainsaw.”

Sometimes it is just pride talking. :wink:

about Bmesh

anyone can tell me if we can use some API commands for Bmesh meshes like listing verts edges faces
and example for this would be nice

i tried it and it does work well for faces !

thanks for any feedback

I don’t think n-gons are necessarily needed, we had bevel in 2.49. It’s much cleaner however, instead of deleting triangles that the bevel tool created when no n-gons were available you can fix the topology by adding edges to a n-gon instead. I would say it’s a less destructive way to work.

n-gons sure can be used when doing sub-d modeling if you just know what you’re doing or know what happen with the n-gon when it’s subdivided, in the end you want it to become quads.

http://blog.whiteblaizer.com/2009/03/subdivision-tips-hard-surface-modelling-iv/
It has some interesting pictures where 5-sided n-gons are used and gives very nice results. You could do the same things with just quads of course but the base mesh would have to be denser.

What you just said is nonsense. We do need tools, such as bevel, chamfer, etc. It’s just not clear why can’t that be done without NGons.

As far as I understand most tool developers are waiting for Bmesh so that they won’t have to rewrite their tools twice.