Two Freestyle annoyances - can these be fixed?

There are two things messing up the quality of my Freestyle renders.
The main one is that alpha of the strokes gets layered rather than pre-calculated for the entire line set.
The second is that corner strokes often don’t form correct miter joints.
Are there some Freestyle settings I can change to fix these issues?
Thanks


http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.71/Freestyle

The sort option could do this ?

Stroke texturing is a cool feature of Freestyle, but I don’t see how it could help with the alpha overlap or the miters.

I spent my morning photoshopping out Freestyle artifacts. It was faster than troubleshooting the problem, but I’m still hoping there is a solution in the settings. Especially since removing these from every frame of an animation would be an impossible amount of work.

No, I spoke about the Sort options you can see in the end of the page. It seems to be what you’re looking for.



Oh, I see. Thanks for pointing that out.
I played with these settings a bit, but no luck so far.
It seems sorting fixes a problem of mis-ordered line overlap.
But the miter and alpha issues are of a different nature.
The overlap of alpha will occur no matter which line is in front. We need something to tell Freestyle to calculate one alpha value for the whole line set, not alpha on a line per line basis.
As for the miter, I think Freestyle treats each line as separate, so it can’t recognize a joint. It can create lines based on geometric angles, but since each line is disconnected from the other lines they don’t interact at a junction. Also with a miter there is an inner line length and an outer line length in addition to the middle (original) line length and I don’t think Freestyle is able to calculate that.
Here’s what I mean:

At least this is my understanding of Freestyle’s capabilities based on what I’ve seen so far.

Since I’m pretty sure there is no way of making Freestyle calculate one alpha value for the whole line set, I decided to attack the problem with compositing. It’s a few more steps to set up, but not so terrible. Faster than fixing the alpha artifacts in an image editor.
I separated the line sets by render layer and composited them using Alpha Over:

[ATTACH=CONFIG]334977[/ATTACH]

Still pondering the miter problem. For now my cube corner is stuck with a camel toe.

Not really an ideal solution, but you can make the miter problem less visible by using the round stroke cap (in the Stroke tab of the Freestyle Line Style panel).

It is feasible to implement a genuine option for fixing the miter problem for closed paths. I’ll look into this approach and see if the issue can be addressed in the next 2.73 release.

The transparency issue is a bit difficult to address. In fact when the initial support for transparent strokes was introduced in February 2010, the implementation was something similar to a compositor-based method (see the commit log of revision 26695 for more detail). The initial implementation then turned out to be problematic, because when two transparent strokes were overlapping, the stroke drawn first was completely overridden by the stroke drawn after the first stroke, instead of two stroke colors being blended.

This is not a problem in the specific case of yours, since the two overlapping transparent strokes have the same alpha transparency. But in general, if two strokes have different transparency levels, overriding one by the other leads to visual artifacts. The present way of transparent stroke drawing is intended to address the general cases.

It is still possible to provide the old way of drawing transparent strokes as a rendering option, but I am not sure if that is really useful. I would rely on the compositor to meet the specific need about transparent strokes in your case.