Introduction

What is FreeStyle?

FreeStyle is an edge- and line-based non-photorealistic (NPR) rendering engine. It relies on mesh data and z-depth information to draw lines on selected edge types. Various line styles can be added to produce artistic (“hand drawn”, “painted”, etc.) or technical (hard line) looks.

The two operating modes: Python Scripting and Parameter Editor – allow a powerful diversity of line styles and results. Line styles such as Japanese big brush, cartoon, blueprint, thickness-with-depth are already pre-scripted in Python. The Parameter Editor mode allows intuitive editing of features such as dotted lines and easy setup of multiple line types and edge definitions. On top of all of that, with the introduction of line style modifiers, the sky is the limit!

../../_images/render_freestyle_introduction_example-1.png

ATV buggy by Rylan Wright (RONIN). CC BY. (File:AtvBuggy.zip)

../../_images/render_freestyle_introduction_example-2.png

By mato.sus304. CC BY-SA. (File:Mato_sus304_cut02.zip)

../../_images/render_freestyle_introduction_example-3.png

A cartoon scene from OHA Studio © Mechanimotion Entertainment. (the blend-file).

../../_images/render_freestyle_introduction_example-4.png

Blueprint render of Martin M-130 from 1935 by LightBWK. CC0. Warning: heavy file! designed for stress test Blender to the limits and may crash Blender. (File:M-130Blueprint.zip)

More artwork can be found at Release Note Artwork Showcase.

The Big Picture

  • Activate FreeStyle by Properties Editor ‣ Render tab ‣ FreeStyle panel’s checkbox.
  • FreeStyle settings are located in the new Render Layers tab.
  • One render layer can only have one viewmap. A viewmap holds the edge detection settings (Crease Angle, Culling toggle, Face Smoothness toggle, Material Boundaries toggle, Sphere Radius and Kr Derivative Epsilon advanced options).
  • A viewmap can have multiple line sets.
  • A line set controls which line types and selections will be rendered, from lines based on your scene.
  • Each line set uses one line style (which can be shared between multiple line sets).
  • A line style tells FreeStyle how to render the linked line sets in terms of color, alpha, thickness and other aspects.
../../_images/render_freestyle_introduction_view-map-processes.png

Block diagram of FreeStyle view map and processes.

Known Limitations

  • Highly memory demanding: All mesh objects in a render layer are loaded at once.
  • Only faced mesh objects are supported. The following kinds of meshes are ignored:
    • Mesh faces with wire materials.
    • Mesh faces with completely transparent materials.
    • Mesh faces with the Cast Only material option enabled.
  • Transparent faces are treated as opaque faces.
  • No edges at face intersections are detected yet.
  • Layer masks do not work with FreeStyle.
  • FreeStyle rendering results do not have any Z depth information.
  • Panoramic cameras are not supported.