Since the last blog post, several functionality improvements were made in the Freestyle branch as reported below.
Stroke geometry modifiers
A new set of line style options for modifying stroke geometry was introduced in the Parameter Editor mode. Stroke geometry refers to the backbone polyline of a stroke. Now stroke geometry can be modified by a list of stroke geometry modifiers specified in the Geometry tab (previously referred to as Distort). At the moment the following geometry modifiers are available, each with a set of animateable parameters:
- Sampling: Changes the resolution of stroke backbone polylines.
- Bezier Curve: Replace stroke backbone with a Bezier approximation of the stroke backbone.
- Sinus Displacement: Add sinus displacement to stroke backbone.
- Spatial Noise: Add spatial noise to stroke backbone.
- Perlin Noise 1D: Add one-dimensional Perlin noise to stroke backbone.
- Perlin Noise 2D: Add two-dimensional Perlin noise to stroke backbone.
- Backbone Stretcher: Stretch the beginning and the end of stroke backbone.
- Tip Remover: Remove a piece of stroke at the beginning and the end of stroke backbone.
Note to branch users: When you have a .blend file with Freestyle options specified, you need to add a Sampling modifier with the Sampling parameter value set to 5, which is the default polyline resolution previously used for line drawing in Freestyle. Before geometry modifiers were introduced, this initial sampling was automatically done. Now the initial sampling is a tunable parameter that can be omitted, allowing better control on polyline resolution. If no sampling modifier is specified, your line drawing will result in coarse polylines.
Images below are a few example renders made with the following stroke geometry modifiers used: (a) no geometry modifiers, showing baseline stroke backbones; (b) Bezier Curve modifier; (c) Sinus Displacement modifier; (d) Backbone Stretcher and Spatial Noise modifiers.
Fill Range by Selection
A new push button Fill Range by Selection was added to the Distance from Camera and Distance from Object modifiers (see figures below). This button allows you to automatically fill the Range Min and Max entries based on selected mesh objects. For the Distance from Camera modifier, the Range Min (Max) entry is filled with the minimum (maximum) distance between the active camera and the vertices of selected mesh objects. For the Distance from Object modifier, the distance between the target object and the mesh vertices is measured.
Stroke splitting at material boundary
A new toggle button for splitting strokes at material boundary was added to the Strokes tab. This option divides strokes into pieces at material boundary. The following renders illustrate the effect of the splitting option: (a) disabling the option results in a smooth (blurred) transition of stroke colors across material boundary; (b) enabling the option permits a flat color transition at material boundary.