BEER: Milestones & Funding

TL;DR? You can always listen.

We have never given up on the Blender Extended Expressive Renderer (BEER). And we have good news for everyone. For those of you who are out of the loop, BEER was initiated back in October in 2012 and has been presented in the Blender Conference once. The reception was great, but the execution was weak as we never have a coder who can dive to the deep end. (Ohh, that went a bit far into memory lane.) Let’s rewind a bit to what is the BEER thing I and many in the community have been so steadfast about.

What is BEER?

The real goal of BEER is about the ability to EXTEND a render engine all the time. The nature of non-photoreal (npr) is one that is never settle. There will always be someone creating something epic that they want to share with everyone. The ability to add that shader and remix it with other npr features will generate endless styles.

The traditional approach of getting parameters/properties of an object and changing them to reach the desired intention, using nodes, is slow. The ability to catalog these feature sets as node groups is limited. The way node groups are displayed is obscure and uninspiring. It’s 2020, we can do much better.

Instead of nodes and node groups as a material building blocks, BEER runs with the paradigm of npr features as the building block of a material. Diffuse is a feature, hatching is a feature, rim light is a feature. We stack these npr features to make a final material.

Here is a list of npr shaders (npr features aka cocktail recipes if you want to get everything fitting the theme 😉 ) we will introduce into BEER.

BEER is extended when we add new shaders. A normal user also can hack the shader file to create his own npr feature. If one have seen the codes enough times, hacking a npr feature would be pretty fun. Kinda like modding a game.

These are BEER’s goals:

  • Easy to understand (feature based)
  • Fast to use (Layers)
  • Extendable (modding and hacking)

To make BEER, we have someone epic to help us reach the goal. It’s Miguel Pozo’s turn to speak. 😊

Hello! My name is Miguel Pozo (pragma37) and I’ll be coding the render backend of BEER. I’m an artist and programmer from Madrid (Spain) and have been a Blender user since the 2.4x days.

If you have been around the BNPR community, you might have seen my recent Outline Node patch for Blender. I’ve also released some add-ons and developed much more for my personal use.

BEER Backend

What does this backend consists of?

Unlike in PBR, in NPR there are no rights or wrongs. There are as many NPR techniques and workflows as art styles one can imagine, so our renderer backend must be easy to extend, customize and experiment with.

The goal of this backend is to provide an easy to use render library, accessible even for starting programmers, that can be used as a base to implement BEER on top.

To achieve that goal, we are going for a Python and OpenGL implementation. This means the renderer can be installed as a regular Blender add-on (no custom Blender builds needed), runs in realtime (like EEVEE), and extensions can be shared as source code that works on every OS.

We are calling this backend MALT.

Light’s note: MALT makes BEER.

MALT will consists of three different parts:

A GLSL shader library. 
Think of this as the equivalent of material nodes, but in code form.

A python library of render functions. 
In MALT, there’s not a fixed list of steps to render an image (i.e. a render pipeline), so one must be provided. Think of this as a very powerful composite graph. The functions of this library would be like the nodes of that composite graph.

The Blender synchronization layer.
It handles all the communication between Blender and the renderer, like uploading the mesh data to the GPU and drawing the final render to the screen.

MALT is meant to be used in code form, but will also have its own basic UI for parameter editing.

This is an example of how a render pipeline in MALT could look like:

And how a default object shader for that pipeline could look like (shader uniforms could be edited on the material UI):

(This example is meant to express the intent of the workflow and don’t necessarily reflect the final design)

Initially, I planned four milestones for six months of development. 

At this point we would have a reasonably complete NPR backend ready to be used, extended by the community and to start the BEER UI development.

BUT, unless I go under the minimum wage of my country, there’s not enough money on the BEER dev fund to pay for 6 months of full time development.

(It’s important to note that the estimated development time it’s only meant for budget calculation. The budget won’t grow even if it takes me more time than I estimated)

So I reworked the development plan to get the most out of 4 months of full time development, by giving priority to the features that would yield the best results with the least amount of development time. 

Hopefully, with results good enough to raise the people interest needed to keep the development going on.

As photorealistic rendering has evolved and render engines have grown in complexity, stylized rendering have become more and more an afterthought that barely fits in their (render engines) workflows. 

So I’m confident there’s enough potential for a community funded NPR focused renderer.

Light: Thank you Miguel. From what I have witness while making the BNPR Shows, the potential of a NPR renderer is bursting at the seams.

Let’s talk funding and the scope of development

MALT development will only cover the backend of BEER. Meaning when MALT is done, the front-end (UI) will be handled by another developer. MALT will cost about € 12000 (about US$ 13400). To get BEER to completion, we estimate US$ 20000 will be needed.

At the time of writing, we have about US$ 8000 in the BEER development fund. That amount will only cover milestone 0, 1 and some of milestone 2.

How to get BEER to be production ready?

We plan to use 2 major approaches.

  1. Collect direct donation from the community for the remaining US$ 12000. We have 4 months to get that amount. Meaning in early October, we must have that amount.
    Note: The funding campaign will start in the next few days. We will announce it when it happens.
  2. We will do community coding sprints to make shaders to be included in BEER. Priority is on the shaders listed on the shader list.
  3. We will open up MALT code review so that bugs can be spotted early.

We will get a front-end developer when the money allow.

We have seen boundless potentials in non-photoreal 3DCG from the community. With BEER, everyone will be able to create stylized artwork much faster. BEER also frees the creative power to expand NPR shaders never seen anywhere before. To reach this goal, we need the help from stylized artwork enthusiasts and developers around the globe. This is the start of the chain reaction journey. Let’s work together to build a renderer that fit NPR’s ever evolving needs!

Where updates will be posted?

Code: Github
Weekly update: BNPR website

Note: The whole project will be MIT licensed.