3
$\begingroup$

Let's say I have a cylinder. When I turn on smooth shading and auto-smooth, the side edges are smoothed out like this:

enter image description here

So the question is, can I do that on wireframes? I mean I want to hide all the smoothed edges, leave the outline and sharp edges alone like this:

enter image description here
(photoshopped)

I guess some eevee shaders could do that but I don't know how.

$\endgroup$
3
  • $\begingroup$ Hello :). You might be confusing normals and geometry. Normals can be smoothed, but geometry stays the same. $\endgroup$ – Jachym Michal Apr 1 at 6:41
  • $\begingroup$ Thanks for explaining...I know geometry won't be smoothed. I just want those "smoothed" edges to disappear in viewport or render result. $\endgroup$ – Liuuzaki Apr 1 at 6:59
  • $\begingroup$ @Liuuzaki In the viewport, you can play with the "Wireframe" threshold slider under the overlays menu. $\endgroup$ – Will Chen Apr 1 at 18:15
6
$\begingroup$

If you use Freestyle, one of its parameters is 'Crease Angle'.

enter image description here

If you set that high in Freestyle's general settings, and one of the discriminants for the Line Set is Edge Type > Crease, then Freestyle will pick up edges between faces where the internal angle between them is below the given threshold.

There is a 'Face Smoothness' checkbox for the Crease Angle. If it is unchecked, it will use the angle between face-normals in the underlying geometry. If checked, it will use the normals as interpolated by the smooth shading algorithm...

enter image description here

...above, with 'Face Smoothness' checked. The left cylinder is flat-shaded, and the right cylinder smooth-shaded, with Autosmooth set to split out its caps.

There is also a Crease Angle modifier available for attributes of the Line Style. So you can, for example, vary the color of the line, depending on the angle between the faces it separates:

enter image description here

You can always render out Freestyle as a separate pass, to composite with other components as you choose.

$\endgroup$
3
$\begingroup$

I've done some research and I found this nice free, non-photorealistic render engine. By using one of the sample materials, I got the following result and it's a realtime one!

enter image description here


In short:

  • Go to https://github.com/bnpr/Malt/releases, download BlenderMalt-[Your OS].zip and Shader-Examples.zip

  • Install BlenderMalt-[Your OS].zip as an addon

  • Unzip Shader-Examples.zip to wherever you like

  • Set render engine to Malt:

    enter image description here

  • Add a new material, select a sample material for "Shader Source". (advanced_line.mesh.glsl for this case)

    enter image description here

  • Then you can play with these material settings, they are quite self-explanatory

    enter image description here

$\endgroup$
3
  • $\begingroup$ Hi Liuuzaki. Thanks for this answer! Agree with @brockmann. if you could manage to flesh it out, I would appreciate the information, too. $\endgroup$ – Robin Betts Apr 1 at 10:28
  • $\begingroup$ Cheers for the update. +1. P.S. If you prefer your answer to mine, you can accept it instead! $\endgroup$ – Robin Betts Apr 1 at 12:09
  • $\begingroup$ Good one! Had no idea this renderer existed :) $\endgroup$ – Jachym Michal Apr 1 at 20:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.