Bmesh Tour # 1

wow, seems to work quite well already! blender 2.5 + ngons will rock. :slight_smile:

That was a great video, I can really see the benefits to using Bmesh and ripping editmesh out of Blender.

Weā€™ll all be able to make thingimabobbies (how he says it) with no smoothing errors. But the correct smoothing on non-manifold meshes will have benefits if it can be supported in the BGE (where you need to watch polycount) as well like for Dragon wing membranes and wire fencing.

Just a bit of clarification hereā€¦

Bmesh doesnā€™t make non-orientable surfaces orientable (this is where it differs from Radial edge/Partial entity which tries to treat non-manifolds as collections of orientable ā€˜shellsā€™). If you look at the example closely its actually a bit of an odd case, but if you did ā€˜recalculate normalsā€™ on that mesh it probably would break pretty quick (unless Joeedh did something really clever with that codeā€¦)

Regardless, great to see mfoxdogg contributing his talents to a bmesh feature tour :slight_smile:

Cheers,
Briggs

Iā€™ve been an artist in video games for 15 yearsā€¦ never( ever ever) have I had a problem with ngons in any packageā€¦ (blender not having them has caused me frustration!)
they help you keep a clean meshā€¦ but whateverā€¦

to answer your question: looking at the subdivide it can auto tesselateā€¦ knife doesnā€™t seem to be in at the moment, but i guess thatā€™d be an option tooā€¦ the only other way to create ngons would be to dissolve edges or vertsā€¦ but what would you expect?

as mfoxdog says, these preferences cannot be saved YETā€¦ (same as keymaps, but I guess thatā€™ll be in by release)

You can always triangulate the mesh anyway and iā€™m sure itā€™d be trivial to add a ā€œselect all faces with more than 4 edgesā€ operatorā€¦ if it doesnā€™t ship with one Iā€™d writ one in python myself.

Playing with the latest Bmesh build, and its working VERY nice.

ā€œYā€ is great, and this combined with Vertex+Edge select mode, dissolve & subdivide it can make the work flow so much nicer indeed.

Damn, I can never get used to all these improvementsā€¦

Very awsome work!

Just a question: will ngons also work in the gameengine and is there a possible fps benefit from it?

benefit? probably not, would they work, well, I imagine everything will be rendered(rasterised?) on the video card as triangles either wayā€™s so why wouldnā€™t it? :slight_smile:

Looks pretty impressive if ngons are your thing. That said, count me in with Dim, Iā€™d rather not have them arise spontaneously either. But Briggs once told me not to worry, so I wonā€™t :slight_smile: .

One question though, why is connect the verts set to Y instead of F, which usually connects verts? Itā€™s not as if thereā€™s an overlap between the two.

I suspect the reasoning would be that there may be cases where you would want to create a new edge that does not bisect the ngon. (i.e. ā€œFā€) Whereas ā€œYā€ does bisect the ngon.

Why these kinds of posts stubbornly keep popping up is beyond me. Aside from other Bmeshā€™s technical advantages, n-gons are just extra aids in the modeling phase. They could effectively eliminate the current workarounds. They appear not because of the program, but because of your own actions. You donā€™t have to end up with n-gons. You usually re-connect verts when dissolving edges/verts as you go along for various reasons as redirecting edge flows or topology adjustments. I repeat: you donā€™t have to leave them as n-gons, you reconnect verts and leave them with quads or tris.

I donā€™t know why these posts pop up when virtually all 3d apps are n-gon-capable, including Wings3d. If you donā€™t like n-gons, use Blender 2.49b or earlier. Simple as that.

Anyway, seems Bmesh is beginning to take shape. Blender 2.5ā€™s release might end up with Bmesh in place, after all.:yes:

EDIT: Am I missing something about n-gons or what? Iā€™d appreciate any info where exactly these n-gon anxieties come from. Any workflow samples describing such?

Considering this is an option in just about every other 3d application including blender, I can confidently say yes.

I donā€™t know anything about Maya but I do know a thing or two about 3ds Max. Having worked with N-gons for some time let me just say that this will not be a problem. You do need to do some extra thinking to make quads when using the cut tool but for everything else the tools will almost never produce N-gons where you donā€™t want them.

Iā€™d like to clarify the issue here. The problem isnā€™t that they canā€™t be connected - everybody understands that ngons are just a tool that can be turned into triangles at will. The thing is, I often start out with a cube and then over the whole modeling process keep subdiving edges until at one point Iā€™ve got a 3000 polygon head. As youā€™ll imagine, thatā€™s quite a few subdivisions over the entire thing and one second every time to make tris or quads out of it quickly adds up. Heck, even if you donā€™t work in the thousands, turning that tesselation on every time is aggravating to say the least. All weā€™re asking for is the possibility of having the option of having tesselation on by default.

No need to argue about this, everyone can be made happy here I think :slight_smile:

There will be no ā€˜auto-tesselationā€™ as a global setting, since this would require a lot of decisions being made for users which may or may not suit their purposes. Users will have to understand the tools well enough to choose the options they want for each one. However with 2.5 there should be a system in place where you only have to do this once and then its saved in some kind of defaults for you.

Cheers,
Briggs

Iā€™m sorry, I have a hard time imagining what you are describing here. Can you post a screen shot showing at least 4-6 stages of your workflow? (A short video migth be better, if possible.) Who knows, maybe weā€™re really missing something here. It might even be something that the devs could find essential and worth adding.

Iā€™m afraid Iā€™ve got no work-in-progress models left anywhere to show, but it isnā€™t too complicated or ground-breaking. Itā€™s just that when modeling low-poly, you donā€™t want to add whole edge loops, so you select a couple of edges and subdivide them to create a mini-loop; which would always leave you with an ngon on each end. And itā€™s usually good habit to have triangles in such areas, but auto-triangulation afterwards often has very different ideas from you as to what is a good place to place triangles.

If it works like Briggs says, though, Iā€™m a happy Zwebbie and thereā€™s no reason for any further discussion. And to be fair, I am a bit excited to actually see if ngons can change my workflow :slight_smile: .

Two years using Blender, and 2.5 makes me feel like a dinosaur.

All be it, a very happy dinosaur. :yes:

Uhm,Bmesh seems 4 time slower in subdivision than the old data structure.
Without subdivision,itā€™s also much slower,as with a medium mesh I canā€™t use mirror modifier with fast redraw(I mean acceptable fast).
WIth 2.49(or svn 2.5) I can use a mirror modifier and a subsurf modifier(2 level) on a 18845 quad mesh with a fast redraw,with Bmesh I canā€™t use subdivision and I canā€™t use mirror to match the same speedā€¦
From what I understand bmesh should be faster in finding connectivity information(edge loops) but ,the base of modelling is moving points,itā€™s too slow for that.
For now Itā€™s too slow for my taste,I hope that the old edit mesh will continue to be used.
EDIT:
Maybe some partial redraw stuff could be used to improve performance.

Iā€™d rather hope bmesh gets finally in and gets optimized - mirror is still probably going the way of conversion to old mesh and backā€¦

Itā€™s better FIRST optimizing and AFTER,when performance are acceptable,discarding the old edit mesh,the true is that for now performance are not good enough
Now there are some kind of models practically impossible to do(but really possible in 2.49)

hehe every coder goes by the same mantra, make it work first make it pretty later (including optimizations )

Thanks all for your wonderful comments, its those that keep me doing these demoes :slight_smile: