Alternative for edgesplit?

I have got some lowpoly model, that got one problem. Due to its limited amount of polys, it has ugly smoothing. I know that edgeSplit fixes that, but what if i dont whant to split edges. Or maybe in blender there is no other way? Autosmooth effect i can see only in rendered image, but i’d realy like to have nicely smoothed model in glsl…:frowning:

What is wrong about edge split? Why don’t you want to use it? Are you having problems with it?

Use the EdgeSplit modifier, and set selected edges to hard.

i know how it works. I just whanted to know, if there are any other way… if not, then i will live with it while somebody will moddifie edgesplit mod… or ill try it

problem?.. i dont like open cavities.

no, cause thats the only way it works, in any 3D application,
you need to splitt vertex normals(and thus edges, in effect) to get that sharp shading.

it’s really as simple as that.

no, cause thats the only way it works, in any 3D application,

Well all other 3d apps I have used have handled edge/face smoothing a lot better than blender… and I mean all of them.

You shouldn’t have to punch holes in your model in order to get it smooth… this should be done behind the scenes automatically without having to use a modifier. If opengl has to split your model up into more faces and edges in order to render it smooth in realtime or in the renderer, that is a secondary concern to the modelling process… it’s a display issue not modeling issue. Well that’s the way it’s handle in all other 3d apps. There are quite a few problems that arise doing it the blender way. But I’m guessing it’s like this because of the way they coded the mesh. I wonder how it will work with bmesh… when you have actual polygons that need smoothing… are we going to have to break apart faces that messes with the topology of the model?

It is by default done automatically based on the angular threshold if/when you add the modifier,
and I really don’t see whats wrong with the modifier approach(but then again maybe you can be more specific)…? :confused:

If opengl has to split your model up into more faces and edges in order to render it smooth in realtime or in the renderer, that is a secondary concern to the modeling process… it’s a display issue not modeling issue.
sure its a display issue but it should be directly controllable by the artist,
especially as sometimes you might not want it at all,
and other times you have specific needs of it(ps. the face count remains the same). :wink:

I really hate it how when you’re just modeling in max,
and then suddenly out of the box you have some random split/sharp edges,
drives me nuts every time. :slight_smile:

in realtime only you can use smooth or hard edge
I dont know any game engine that use half-smooth edges
as I remember Maya can set an edge “smooth percentage” or something

but I think you dont know what you want :slight_smile:
maybe post some shots from other apps that you want to make in blender

oh, or try to use normalmapped lowpoly models (normalmap created from hipoly of course)

I’m not sure, but they may end up using better shading techniques to make the edges hard on the shader level instead of simple edge-unwelding like Blender does.

The Blender implementation is simple as it appears to me when applying the modifier, it unwelds the edges so you can have hard edges, one advantage is that you can use the implementation to quickly do unwelding tricks that can’t or can’t easily be done by the rip tool, but for shaders that require a watertight volume, I could see where it can fall apart, luckily most things in Blender do not require watertight meshes including the game engine.

Brecht said before the shader system needs a top to bottom overhaul, adding hard edges on the shader level could be a part of that project if someone decides to do that, the edgesplit modifier could be renamed to ‘unweld modifier’

I´d say the only “problematic” thing with the edgesplit modifier is that it should always be last in the modifier stack so that it doesn’t change the geometry before the other modifiers are applied. Still, I don’t really see that as a problem, the split edges are still one edge in edit mode.

Interesting post.

Guys what he is asking or talking about is Blender seriously bad and also FAULTY vertex shading system.

You can set an object to smooth or solid, also apply auto smooth when you have mixed edge types, or use edge split modifier. You can also apply set smooth or hard to individual face selections.

However where Blender lacks and even fails is

first: clean preview of vertex smoothing in realtime / openGL. Those smoothing artifacts make using openGLSL useless in Blender when I import Rhino models.

second: what looks perfect in Rhino rendering is not the same in Blender. Somewhat vertex smoothing seems not to work as smooth for imported geometry models.

He is only asking for a fix of that problem.

http://www.postimage.org/image.php?v=Ts9yMmS

http://www.postimage.org/image.php?v=Ts9yMmS

that’s an importer issue rather than a problem with blender edge handling…

it should probably import per edge smoothing by setting the edge flags and adding an edge split modifier…

the issue with the modifier is indeed that you can’t add stuff (subsurf being a classic example) after edge split in the stack…

All programs do split and duplicate the vertices somewhere in the pipeline… some more invisibly than others…

I’m not sure what people are on about with glsl though… it shows hard faces, smooth faces and edge split fine for me…

or do you mean the “autosmooth” in the model buttons…? I don’t ever use that… just edge angle limits in the edge split mod…

It’s not that you can’t, it’s that people don’t understand what edge split does then get surprised at the results.

Martin

It’s not that you can’t, it’s that people don’t understand what edge split does then get surprised at the results.

Martin

Yes, bad phrasing on my part!

“it should probably import per edge smoothing by setting the edge flags and adding an edge split modifier…”

Why would that be an import issue?

After checking the mesh - removing double, cleaning up, it is a clean mesh.
Faces a perfectly connected and thus the shading should work fine.

because the artefacts in your image are due to per face rather than per edge smoothing…

the rhino source is showing per edge smoothing data which is lost on import rather than being converted to blenders per-edge scheme (the edge split modifier) THAT is why i say it’s an importer issue as the data is lost on import rather than converted to the way blender supports edged smoothing.

Ironically removing doubles to ensure it’s a clean mesh after import is even more likely to introduce smoothing errors as it’s quite common for importers to simulate edge smoothing by splitting the mesh on import in many packages…

remember a hard edge requires a vertex normal per face… this actually means that at some level there are actually two or more vertices at that position. (that may be behind the scenes or exposed to the user) “remove doubles” will re-combine the verts to gice a single “averaged” normal and will lose the hard edge.

mh this is not good. no wonder I was not really able to fix this.

But there must be a fix to that somehow.

I believe people want to have it as constant split data in the model, much like uv-maps. not as a modifier, since in game art splitting edges is something you will be doing all the time.

when you merge down the split modifier, its no longer the workable sharp edges you worked with, it actually merges down to the gpuworthy endresult of split edges, this is not something you want to work with.

Ah, so “make sharp” would take effect without requiring the modifier. The edge split modifier (probably would need a new name) would just add “make sharp” edges or we could just have a angle select and do “make sharp” manually (this would give more control).

Is this what you guys are after, you want to hide the fact that the edges are getting split?