Edge softening shading bug?

unhandled
v6_display

(Przemysław Doliwa) #1

I was playing around and found that edge softening gives weird bug in rendered/arctic viewport mode

The left one is filleted right one is with edge softening on.

Here is also progressive study and each one gives different shading while third and second should look the same


3dm file edge_soft_models.3dm (420.1 KB)

@pascal i wasn’t sure who i should tag with this one


(Nathan 'jesterKing' Letwory) #2

Edge softening is a trick really. You essentially get chamfered edges with normals calculated such that they kinda look round. But they are not. With larger softening values you’ll see rendering errors. When you need actually rounded edges you should use Fillet instead.

When you extract the render mesh from a model with a large softening setting you’ll see that the rounded edges aren’t really that rounded. The shading errors happen because the normal interpolation fight with the surfaces (simply put). This is why you need to use fillet when you need big softenings.


(Przemysław Doliwa) #3

I get that @nathanletwory :slight_smile: I use it for rendering purposes a lot maybe there could be option for denser rounding ? :slight_smile: It works way better than in v5 already but maybe it could be even better?

Anyway hats off for display pipeline i didn’t thought it will be ever possible and i still can’t believe what i see :open_mouth:

Fluid and nicely shaded viewport with this lawn.

Arctic:

Rendered:

There would be 71211549 total triangular polygons in this model after forced triangulation !!!


Rendered Viewport - Mesh Models & Graphics Cards
(Nathan 'jesterKing' Letwory) #4

Even better would essentially be filletting :slight_smile: but I guess it also depends on @DavidEranen how far he can push it.


(Przemysław Doliwa) #5

In terms of shading probably yes but in terms of uv mapping this could be more complicated - now areas which are rounded are getting already made mapping when fillets would be introduced this could destroy very robust usage of this :wink: But it could get sth like levels/steps for rounding - this could be similar to beveling steps for edges like in blender for eg.


(David Eränen) #6

@D-W At some point in the future we might replace the current edge softening algorithm with something more sophisticated. For now, edge softening is supposed to be used for very small radii.

Use FilletEdge :wink:

-David


(Przemysław Doliwa) #7

@DavidEranen Yes Sir :wink: