Blender Compositor Tutorial - Introduction.


Posted on Jan. 8, 2020, 10:38 p.m. by Ren-Den • Last updated on Feb. 6, 2021, 8:32 p.m.

Blender Compositor

A quick introduction

1. The Compositor
2. Render Layers
3. Mixing & Adding
4. Masks
5. Common Effects
6. Order from disorder
7. Textures
8. Exports & File formats.
9. Thanks & Additional sources.
Changelog: V 1.3.1 Foot notes, word choice, Flowchart

1: The Compositor

You can access the compositor either by going to the corner of any editor and clicking on "Compositor" or by the default keybind of: [Shift + F3] while you mouse over any of the editor windows.

alt text When you start out in the compositor there are a couple of things you will want to toggle by default. The first is the "Backdrop" button in the top right corner. That allows the Viewer Node to display whatever you are working on.To quickly enable the Viewer Node, simply [Ctrl + Shift] Click any node or pass you wish to preview.

From there, you will also want to open up the "Properties Panel" [N] and jump over to the options Submenu. If you're running a GPU, the default toggles should be:

  • OpenCL & Buffer Groups.

With Two Pass being of potential use if you're doing a lot of masking. (This runs quick computational nodes first, then slower afterwards.)

Outside of toggling these options you will primarily want to keep your Properties Panel on View to easily change the zoom factor on the preview. If you're unwilling to learn the following keybindings.

https://gfycat.com/SeveralOrganicCanvasback

Backdrop Image Zoom Inwards: [V]
Backdrop Image Zoom Outwards: [Alt + V]
Backdrop Reset: [Z]
Backdrop Fit: [Alt + HOME] (Yeah, I suggest changing that one too.)
Backdrop Move: [Alt + Mousebutton 3 (Scroll-wheel press)]

2: Render layers

Render Layers are the most common variation of compositing materials that you will run into with blender. These are made up of Passes. Where your blend file can have multiple Scenes, which can have multiple Render Layers, which will contain different Passes. Said passes, are delivered as "color information". Be it grayscale, vector shades or the whole color spectrum. The available passes will vary from render engine to render engine. EEVEE will have fewer than Cycles for example. While the immediate thought might be "ENABLE EVERYTHING". That should be discouraged if possible. Not only will it increase your render times (slightly), but it will make your compositing more of a clusterfuck.

alt text

In the compositor, your render pass will show up by default like pictured below:

alt text

Thus, try to only include the passes you expect to need. Planning is key.

There is one particular Pass that requires more detail:

  • The Mist Pass.

The Mist Pass is controlled by additional qualifiers that live within the World Properties underneath the "Mist Pass". Do note, this menu will only show up if you have toggled on Mist Pass in the View Layer Properties.

alt text

The Mist Pass works by ranging out a set distance from your camera you have set to render. The start measurement being the distance from the camera, while Depth is how deep along the Z axis the mist goes. The Falloff is a simple descriptor for the speed of the change in the gradient. Illustration below.

For easier visualize where your Mist Pass begins and terminates. You can toggle a visual guide in the Camera object underneath "Viewport Display" toggle: "Mist" This range be emphasised further within the compositor, with anything that changes the values of the color ranges with everything from, "Color Ramp" to "Map Value"

alt text

3: Mixing & Adding

So, you have a rendered image, and it has passes. And now you want to see if you cannot make your render that little bit better. You are more likely than not to find that some tasks that are arduous to do in 3D, are a lot simpler to achieve in the compositor. With a large background library, backdrops are just a couple of clicks away rather than a major import of messy meshes. Or, you may also have noticed that it is impossible to make anything resembling an actual "Glow" in Cycles, due to the fact that glow is actually a camera/eye-artifact. To achieve this is all within the domain of Mixing and Adding.

alt text

The Primary workhorses While there is also a third companion, it is used rarely, due to its specific nature. And so we are not going to get into when and why to use the "Z-Combine Node"

On first glance, "Mix" & "Alpha Over" seem very much alike to each other. While both Mix & Alpha over, can overlay images depending on their alpha information. Alpha Over only ever touches RGB-information on its own, but retains the Alpha data ("Set Alpha" can work around this. While "Mix" has in my experience chewed through just about everything.

"Alpha Over" also doesn't cause a luminescence difference like some of Mix's blends do.

The general use cases for the two nodes will be:

Alpha Over:
	Overlaying your render on top of a background.
	Overlaying Watermarks on top of your renders.

Mix:
	Blending non-transparent on top of one and the other.
	Blending together different color passes.
	Masking

4: Masking

Masking is the primary tool of the compositor, as well as its most fundamental. Most everything inside of the compositor utilizes it to one degree or another. To get the most out of masking as a concept, you should understand what you are fundamentally working with.

alt text

Between every Alpha Over & Mix that you do, you will either overlay or blend. The manner which decides how much, is the mask. The simplest example of this is mixing white with black. Your factor will go between 0-1, where 0 means you get white, and 1 means you get black. If you pick 0.5, you get a gray. Combined with other nodes, you can achieve basic effects such as:

The brightest pixels in your render becomes transparent. Everything emissive within your Emission Pass has a glow. The distance from your camera slowly becomes white (Mist Pass.)

This concept becomes even more interesting when you start defining custom masks.

alt text

Blender has a healthy amount of ways to mask your scene, 3D-objects & canvas. From the Box & Ellipse Mask, where you have a very simple geometric black-white mask to the Cryptomatte & the outdated ID-mask, that lets you can assign objects within your render after its done to be specifically targeted by various blending effects, to the classic "Mask" where you designate your own mask in the image editor with curves when you need to mask something more complicated than a rectangle or ellipse shape. It is probably dawning on you now, that you can mix & combine masks to get bigger and more complex masks. It is a layered solution where only your willingness to go between black & white is the limit.

5: Common Effects

Denoising. (2.81 or higher required.) 


alt text

With the advent of 2.81, blender now has an access to the Intel Denoiser by default. This is an enormous step-up from the previous denoiser. Making the upgrade to 2.81 well worth by itself. Particularly if you are working in cycles a lot Cycles. Simply add the "Denoise Node" into your composite, Toggle the "Denoising Data" in your Render passes and connect: Image with image, Denoising Normal with Normal, Denoising Albedo with Albedo. Then plug that into your composition and, congratulations. You've just cut the amount of samples required by a significant margin. While getting less noise.

For a more advanced, slightly slower but significantly more accurate denoiser, please visit:

Zixaphir Custom Denoiser

Amplifying Ambient occlusion.


alt text

Having a bit of extra ambient occlussion can generally support a more cartoony look. And its easy enough to add in the compositor. Simply add a mix node. Set it to multiply and connect image & AO. Use sparingly for a slightly more cartoony look.

Glare, Glow, Stars 'n general shiny lights.


alt text This one is a somewhat more broader principle. Where you don't necessarily have to use the emission pass, even if it is mighty useful to seperate your emissive elements to its own pass, the Glare node works by utilizing the brightest available pixels, then going by the threshold from there on out. Keep this in mind and you have a quick 'n dirty tool in the compositor. A point of import that ties into the fact that the glare nodes utilize the brightest pixels is that you can generate your own points of "brightness" if you've for some reason have forgotten to include it within your desired 3D geometry. Just remember, if something emits light, it emits on more than just itself.

* Vignette

This is babby's first effect. Criminally overused, yet one of the most useful effects in composition that exists. This effect is going to get you laughed out of the room if you overstep the usage with it. However, will serve you well to highlight points of focus. It comes in a myriad set of forms. The most commonly used one, is a simple feathering pattern of the edges of the screen towards the center. This simply darkens the edges and pushes the eye towards the center. Useful, but overused.

alt text

The more "advanced" version of this, would be to use masks to influence your color grading. Where your point of focus is color-shifted in one direction, while the rest of the scene is graded differently. This can help to emphasis to tell a different plots in whatever erotica you decide to make. A general composition course is very useful for this. However in the #Blender channel's pin is a post by Odysses that's highly useful on this particular topic. (Thanks Gnom.)

alt text

Chromatic abberation.


https://gfycat.com/VibrantPresentDuckling

Chromatic abberation is yet another physical artifact that along with film grain has managed to creep itself back into renders that doesn't suffer from this downside. As something that little bit of extra on top & feel more "real". Combine with a mask for control. Node Setup: alt text

Mosaic censor:


alt text

Having to censor something should be something that's near and dear to anyone who has done degenerate enough content to warrant censoring on various release platforms. While a basic blur can frequently do the job admirably. Its always valuable to spice things up a little bit more. Where each tile can hint at what's underneath while complying with the rules.

Node Setup:

alt text

6: Order from Disorder

Troubleshooting always starts with locating just where your problem is. With its node based approach, the Blender compositor makes that easy, provided you put in the minute it takes to order your nodes to something more readable. Each node leading into the next node can easily be disected just what its doing by ctrl-shift clicking it. However, when you're laying effects. It can be good to keep them stacked together. In contrast to:

Fix12

The visual cluster-fuck makes it hard to read and far harder to getting an overview at a glance. While it is not so difficult to figure out where every individual piece eventually ends up. It can be very enlightening to go over your setup and clean it up.

So, what tools do you have to clean it up?

1. Reroute
2. Frame
3. Groups

alt text

Reroute: is simply a node point, that you can move about freely and connect to other nodes. This allows you to have an cleaner routing of your nodes, resulting in a cleaner view. Frame: creates a background frame that allows you to group together a set of nodes. Framing is a visual aid that helps keeping large node trees well-structured. One of their primal uses is to separate specific effects when they are being mixed. Groups: the same as Shader Editor Groups. This permits you to create an internal group of nodes for a more compact overview With easy input and output nodes. Rather than seeing the entire routing of the effect in question. These nodes are their own data block and can conveniently be appended into other files. They will appear at the bottom of the Nodes "Add Menu". (Ctrl + A)

Fixed11

Post-Sorting

Fixed10

7: Textures.

While you can import custom Textures as a simple Image node, you can also use the internal textures that's generated inside of the Textures properties.

Fixed9

This can quickly be accessed with a Texture node in the Compositor.

Fixed8

Said Node can further be modified (and animated) on the fly. Without needing to be reloaded.

8: Export.

While Blender has an disgusting amount of ways to export a file, that behavior is far from consistent between methods.

  • Render
  • Animation Render
  • Viewport Render
  • Save As
  • Composite
  • File Output Node
  • Sequence

While all of these will, in one way or another deliver a file out of Blender. They follow a set of behaviors that's less than transparent.

  • Behavior Overwrite 1:

Post-Processing enable

Underneath the Output properties in the Properties Editor is the first determiner for how the behavior down the line. By default both the Compositing and (Video) Sequencer is enabled.

This makes the default behavior of Blender the following:

Blender Render Behavior

But, what if you want to export a file without having to go through a render cycle? You can open the Image Editor, make certain that you're in view & selecting the image you want to export. Then either hovering over it and pressing Alt + S, or entering the "Image" Sub menu and Pressing Save.

Save As Example Image

8.5: File Formats

File formats is always a trade-off between feature-sets, ease of use and encoding speed. Fortunately this makes it relatively straightforward to decide which to use for what case. Your general choices is going to run down to:

  • JPG
  • PNG
  • OpenEXR
  • OpenEXR MultiLayer

Final Single Image Export

  • JPG
  • PNG 8-bit

Where the image host of choice will influence the choice. JPG if the host is stingy and its proving difficult to squeeze underneath the low file size requirement. PNG 8-Bit for most other hosts.

Textures

  • PNG
  • OpenEXR

While this is a niche item that barely deserves a slot. Occasionally there is a need to bake or export a texture out of Blender. While PNG is the regular workhorse, there is exceptions to when you should use OpenEXR.

Displacement Maps & HDRI.

Generalized Image Sequence Exporting

  • PNG 8-Bit

When pushing your finished render sequence to either the Blender Sequencer, FFMPEG or editing software like Da Vinci Resolve, Adobe After Effects etc. Keeping your files lossless will be a minor but important step to keeping as much of the original data as possible. This is however where PNG's biggest downside shows. Its encoding speed. Keeping file sizes down at high compression slows each file save down to a crawl.

External Compositor/Grading Image Sequence Exporting

This is generally where the requirement and priorities changes. Where file-size becomes less of an issue and bit-depth surges in import. As well as easier handling of multiple render passes.

  • OpenEXR
  • OpenEXR MultiLayer

This format handles everything you could possibly want out of a file-format for your compositing needs with just two downsides to keep in mind:

  • File-size
  • Inconsistent software support / Ease of use.

The advantages however outweigh the disadvantages to a substantial degree. Comparing to PNG's maximum of 16-bit depth, OpenEXR's handles up to 32. While PNG is slow to encode, OpenEXR is fast. Significantly so under almost every possible circumstance while almost always being smaller. 1

OpenEXR MultiLayer further cements its superiority by being able to contain each and every single one of your render passes in a single file. Keeping any exporting of render passes nice and tidy in comparison to any other formats when it comes to compositing.

If there's only a need to export only the Beauty Pass for grading in an external software, OpenEXR is highly suggested as the alternative of choice.

Your final use-case is going to alter which Codec you use. 2

IF you require to use a Cryptomatte, you cannot use the DWAA format. This will result in a broken Cryptomatte.

IF you require lossless 32 bit, use ZIP.

IF Fast playback is more important than Lossless, then use Pxr24

9.Thanks, additional sources & resources.

For feedback regarding this tutorial. Toss a @Varenta into the Smutbase #Blender channel. Requests for particular topics is welcome too.

Thanks to:

  • Ganon: For enforcing & maintaining a sharing atmosphere with this platform. Benefit from the community. Repay by share to the community.

For the community.

  • Crute: Being a pesky fuck promoting self-improvement. Let me be lazy.

Nevertheless. Major thanks for helping to edit & bullying me into this little project.

  • Gnom/Mets/Vismund/Noodlebox: For the haphazard crumbs of knowledge with wide implications.

Primary Sources:

The Blender Manual

Blender Stack Exchange

When you've got a question. Always look at the Blender manual first. Its full to brimming with simple breakdowns for how just about every system inside Blender works, sometimes even with images. Priceless. If/When however, the manual fails you. Googling for a problem, is more like than not to throw up a Stackexchange answer. These should be your first points when figuring out a problem you've been unable to solve. And they've been a major part of this write-up. Directly, and indirectly.

Secondary Sources:

Paul Caggecgi's Website

I might not be a fan of Paul's artistic work. But his tutorial's and breakdowns to create toon-like visuals both with the help of shaders & the Blender Compositor is an incredibly rewarding and useful bit of knowledge to enjoy.

Resources:

Jason's Blog - Compositor tools. Useful little collection.

b°wide NodePack

Blending Modes, and how they work.

Something you will repeatedly run into when you're mixing together different results. Will be which blending mode you'll want to utilize. The link above, will prove to be excellent reading in the long-term. Understanding what each individual blending mode does and how to use it to best effect is terribly useful. The Blender greatest strength of the Blender community, is the willingness to share everything from code to tools. So make use of that strength. And return what you can, when you can.

Blender Development Fund:

Fund Blender Today!

Fin.

V 1.2.2

Changelog:

V 1.2.2: Initial Release

V 1.3 Addition of 8.5, additional information added on Exporting and File Formats. Incomplete.

V 1.3.1 Foot notes, word choice, Flowchart

  1. https://blender.stackexchange.com/a/148466

  2. https://rainboxlab.org/downloads/documents/EXR_Data_Compression.pdf