6
$\begingroup$

I have a problem with Freestyle rendering: I can't make it draw all the edges. Sometimes it just skips them. I recreated this with a cube and two planes by just adding additional loop cuts:

FreeStyleProblem

Does anyone know how to fix this? Here is my blend file: FreeStyleTest.blend

$\endgroup$

2 Answers 2

11
$\begingroup$

The perfect way to ensure the expected edge to be lined is by using Freestyle marks:

  1. Select all edges you want to draw as edges, CtrlE > Make Freestyle Edge;
  2. Only toggle Edge Mark in Freestyle Line Set panel. As shown below:

enter image description here

$\endgroup$
4
  • $\begingroup$ Yeah, that helped, thanks, but still, it is a bit of an additional work to do, specially when you have complex geometry with hundreds of edges. Is there any other way to ensure it will draw every edge or there is some specific reason why it can't? $\endgroup$
    – Vitaliy
    May 14, 2014 at 17:32
  • $\begingroup$ @Vitaliy T.K. is the developer who brought Freesyle into Blender. We should thank him. :D Actually, to select all non-manifold edges, you can simply press Shift + Ctrl + Alt + M while in Edge Select mode. $\endgroup$ May 16, 2014 at 1:23
  • $\begingroup$ Sorry if I sounded rude with all that "do an extra work" and stuff... Didn't meant to be, I'm just a bit lazy :P. You know those jokes about button - "Make Everything OK"? Thats about me, but this doesn't mean I'm not grateful for a hell of a lot of awesome stuff I'm getting for free or to a people who spends their time to answer my newbie questions. So yeah, Thank you all! ;) P.S. Shift + Ctrl + Alt + M really helps, thanks! $\endgroup$
    – Vitaliy
    May 21, 2014 at 20:52
  • $\begingroup$ @Vitaliy What could be a reason of edges marked as "freestyle" randomly not being rendered in the "Visible" mode? If I set the visibility to "QI Range" and set the "End" parameter to 1, all visible freestyle edges are rendered, but some hidden ones as well. $\endgroup$
    – DmytroL
    Jun 12, 2016 at 6:19
5
$\begingroup$

The cause of missing edges is the fact that these edges are shared by more than two faces. In a technical term they are non-manifold edges. Freestyle tends to leave this kind of feature edges undetected.

Specifically, the model contains edges shared by three faces at the edge loops connecting the column and planes. Remove the faces at both ends of the column (and make a hole in each plane), and you will have all edges properly drawn.

Now let us have a closer look at what is going on. The missing edges are crease lines from the Freestyle perspective. Crease lines are those edges between two adjacent faces making an angle smaller than a threshold (referred to as the Crease Angle). When an edge is shared by two faces, there is no problem and Freestyle can check the angle between the two faces to see if the edge is a crease line. However, if the same edge is shared by three faces, the situation is more difficult and Freestyle has to decide which two faces to use for crease line detection. Indeed what Freestyle can do at best is to randomly pick up two of the three faces to check if the edge is a crease line. That is why edges are missing at random.

In summary, it is recommended to model objects without having edges shared by three or more faces.

$\endgroup$
1
  • $\begingroup$ Uf, thanks for explanation. Freestyle don't take into account what is visible to a camera and thats kind of sad, but at least now I know why must I do an extra work ;) $\endgroup$
    – Vitaliy
    May 15, 2014 at 22:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .