BEER Design Overview [July 2014]

Blender Extended Expressive Rendering or BEER is a shader system specially designed to be able to produce limitless shader styles. Though its main purpose is to handle non-photorealistic (NPR) shader styles, BEER can produce photo-realistic (PR) styles too (classic algorithm), because PR is just another rendering style. In this short introduction to BEER, we’ll compare BEER to Internal Renderer/Cycles, then we’ll see 2 examples. The first example is a simple cel shader with contour outline, the later example will introduce you to more advance workflow.

Before any of that, BNPR would like to thank Jason Wilkins for his hard work on Viewport FX projects. His works will enable many features in BEER. Thank you!


Blender Internal Renderer (BI) and Cycles follow a strict algorithm to produce the “combine” pass. That strict algorithm limits the styles possible with both render engines. The data bandwidth when nodes are mixed are also big, as the node-based shaders carry all data channel previously created. BI’s material node, once a node is added, all the settings in the base material is channeled thru the nodes going to the output. Even if the data channels aren’t used, they are still there.

Restrictive Cycles passes combine algorithm

Restrictive Cycles passes combine algorithm

BEER thinks differently. What shader you insert, in which order, with which blend modes will produce the final result. The final result will always be your shader setup, no hidden component or algorithm. If you need a layer as a pass, you specify it, give it a name and you are free to use it in post process. This way the shader tree will always stay minimal and faster, with a more accurate preview.

BEER Shader Layer System

BEER Shader Layer System

Example 1: Simple cel material with contour outline

This first example is a simple cel shader with contour outline. The base shader layer is a shadeless color. This shader has very few options, hence setting it up is very easy. For our example, we just need to change the color. The second layer is another shader, direction is controlled by light. We want it to behave like shadeless. To do that we add Shader behavior curve modifier. The 1D color ramp has alpha and we want to keep that alpha. Pass thru blend mode is used here. The 3rd shader is contour outline. We can make that from view dependent shader that is offset-able by a normal modifier. Using a 1D color ramp, a thin dark line is created.

Simple cel with contour outline

Simple cel with contour outline

If we use nodes to set this up, the amount of time to get to the same result will be much longer. And did you notice that we can set the same shader with just 2 shader layers in BEER? Why did I use 3 shaders? The main reason is we have more control on the 2nd tone if we separate them. That leads us to the second example.

Example 2: Advance use case

BEER: Animated parameters & Shader layer as pass

BEER: Animated parameters & Shader layer as pass

We’ll continue by using the first example but extending it to use advance features of BEER. First, we want more control of the highlight. In NPR, animating shaders is a common task. Here we want to be able to offset the normal of the highlight area. In the normal offset modifier, there is 1 button to reveal the shader modifier setting to the properties sidebar. From the properties sidebar we can key frame the normal ball.

The second more advance feature in BEER is creating our own render pass for use in post processing. Let’s say we want that highlight to glow, glow is a heavier effect if done in real time, so post process is the ideal way to do this. We can add a shader as pass modifier to the shadeless layer, give it a name, enable only visible option, and we can also use our own color ramp here. The color ramp is useful as factor in a mix node.

BEER: Shader layer as passes and Animate able settings

BEER: Shader layer as passes and Animate able settings

Let’s add 1 more effect using layer as pass modifier. This time it is on the darker tone, which is the second shader layer. The setup process is similar, only when rendered we can erode/dilate and 2D offset the pass to paste the hatching lines on. The final result looks like it is done with much effort, but really, we just use BEER shader system.

The 2 examples are just simple things you could do with BEER shader system. There are more feature already in planning for implementation. The details are in the Blender wiki. Be forewarned: heavy technical reading with complex algorithms ahead.

Dynamic Stylized Shading Primitives research showcasing shader layer system


At BNPR, we believe in BEER as a flexible, expandable and fast solution to expressive shading. If the BNPR crew was a bunch of awesome coders, BEER would already be in the works. Unfortunately, we are not. That lead us to find awesome developers. That was only the first step however.

If you have been following BNPR on Twitter, you know that we have set BEER Development Fund to help PAY for the awesome coding. We also put our efforts into making excellent material for Blender users to purchase to help get it funded. To put a bit of perspective to it, we have spent thousands of man-hours to make BNPR and all courses/mini-tutorials to be what it has at this point. The largest portion of any sale gets put directly to the BEER Development fund, the rest to web development and minimal but essential hardware.

What of the left-overs? We probably aren’t even paying our electric bills with them. We simply love the community and believe in what we are trying to achieve.

What can you do to help make BEER possible?

You can start the BEER brewing by donating directly, or better yet, get something directly for your money by purchasing any of the educational pieces in the BNPR store.

[BNPR’s Freestyle Level Up] [Mini Courses] [Direct Donations]

[BEER Development Fund Status]

You can also help by giving your input, especially if you own or work in a studio and have some ideas on how to further integrate BEER workflow into a production pipeline.

[Google doc for your ideas and feedback]

The needed funding to develop BEER to be in usable state is $ 20000, the funding is further broken down into 4 stages. For stage 1, our main goal is to raise $5000 (4 months worth of coding) to have a developer start programming the skeleton of BEER. With that in place, we will continue to make more resources for your purchases to support the development. We will keep spreading the word and educating people about the awesome styles BEER can produce and how it will help speed up your shading and shader animation workflow, plus blender viewport will get a lot of enhancement with this.

As always, thank you for your support!

Further reading: Light’s personal experience with BEER & NPR [LINK]

PS: We have an experienced Blender developer on stand-by to do design work and coding. His identity will not be revealed as not to get him bombarded with questions.

You may also like...

  • Bryan Tenorio

    This looks really cool! Do you guys have a rough idea when it will be ready to use?

    • When BEER development fund is funded and 16 months after that.

      • Bryan Tenorio

        Cool! I just bought the Freestyle Course.

  • Denzyl B

    Hi do you guys have some kind of Kickstarter?

    • We decided to not go that route, because “reasons”. XD
      Reason: Too many cons than pros.

      • Understandable just seems to be the trending thing at the moment, Impressed so far. just wish freestyle drew lines between intersecting geo. Keep up the awesome work and thanks for the fast reply.

  • Hey guys maybe this is a cheat but I create cell shaders look by using a spot or a sunlight light and render basic black and white render.

    Then I use the the black white renders as mask this way changing the colour in comp is super easy and great for post effects as well

    I find most cell shades have allot of flickering and give away the 2D look and you can see things are 3D

    Lights offer a really solid calculation and render time is really fast (of course this is not a vector out put – Bugga)

    1.Simply create a basic diffuse material/ shader and apply it to your whole scene.
    2.Then create a sun and crank the intensity on it you will have a very graphical black and white image and works perfect every-time in any application
    3.Render and get a black white graphical image
    4.use the black and white maps as mask in comp – that’s it.

    1.Render time is really really really fast
    2.Comps can be set upp before hand and used over and over again can go all out on texture mapping and still have a cell shaded look

    To +1 this I animate on twos that way it looks more traditional – this too also speeds up render times as well

    Old tools new tricks?

  • Altair6666666 .

    Buy “Level Up” course to support you. In my country 38$ is quite big amount, but I believe in you, guys.

  • Doll

    A video demonstrating some of the features of the Jot NPR rendering system.

    I had a look at Jot from princton that is cool and WOWi and from 2003. its all there .
    Draw Lines in “Realtime ” with a tablet .
    Come on its so Great this program for NPR s graphics and have all what Freestyle is missed.
    Superlative intuitiv real time Workflow super Crazy Mega amazing, awesome..
    CAN BEER overcall that ?
    Could BEER have tablet realtime draw funtions like JOT from Princton ?????????

    • thejikz

      BEER is meant to be a broad reaching solution for NPR rendering–that said- We have researched and played with JOT for a couple years. That type of feature is not a feature, but an entire program re-write as far as blender is concerned, although I certainly agree with the idea of JOT as an intuitive and excellent stroke capture solution. I would love to see it in Blender too, but it is too fundamentally different than what blender is doing.

%d bloggers like this: