Blender Compositor: How to Create Post-processing Effects

by Render Pool

September 15, 2021

Normally, most studios’ production workflows take their rendered outputs to other software for post-processing and final rendering using post-production software like Adobe AfterEffects, Nuke, or DaVinci Resolve. But Blender has long since demonstrated the ability to do this work internally without the need for other software.

As we have mentioned briefly in another article, the Compositor allows you to assemble and enhance an image using multiple images or image sequences to complete a final composited image. Using composition nodes, you can take two images or cuts of rendered footage together and filter, colorize, and finalize it all at once.

This article will take a brief but closer look at how you can create post-processing effects using the Compositor node system and bring your renders to their full potential without the need for external post-processing applications.

This article won’t go into every single series of nodes that Blender offers, but we will try to give an explanation to the most used and the most important nodes to help guide you toward making your post-production process a little smoother.

The Compositor

The Compositor can be found either in the Editor type selector of Dope Sheet Channel Context Menu or in the Compositing tab in the active workspace toolbar. Once there, your workspace will be blank. Activate the workspace by enabling the Use Nodes option in the toolbar to begin using the Compositor nodes.

Once set, you can start a render and automatically set your active scene as your input image. Activating the Backdrop button located on the right-hand side of the Compositor toolbar will allow you to see a larger visual representation of your rendered image in your Compositor workspace.

You can also set down an Image node and insert your own pre-existing image with a format that Blender supports.

Input Nodes

Input nodes are where the compositing process begins. After a local render, the Render Layers node is usually the first node in a node tree with the initial rendered image of your active scene. Depending on the rendering engine you have activated, this node will offer other passes as inputs. For example, your alpha and depth channel, or a mist render pass.

Render Passes

Render Passes (also known as Arbitrary Output Variables or AOVs) can be used to have an extra amount of control over your scenes for post-processing effects like for masking. These can be found in the View Layer Properties tab. Regularly used passes like Ambient Occlusion, Object ID, Material ID, Mist, and Alpha are integral to building strong final renders with depth and weight.

Enabling a Render Pass will automatically set a corresponding node socket onto the Render Layers node in the Compositor. Depending on your render engine, the number and type of available passes will vary, so take the time to familiarize yourself with the passes that can be found in the engine of your choice.

Color Nodes

Color nodes can adjust an image’s color information, like brightness, contrast, or gamma values. You can use these nodes to make your image warmer or cooler, much like you would with color correction layers in Photoshop or AfterEffects.

Converter Nodes

Converter nodes can, just as the title would suggest, convert the colors and properties of input information and can either split them into color and value channels to be augmented separately, or combined.

One of the most common nodes found here is the Color Ramp node, which can help with value mapping or alpha masking, but it is recommended to experiment with different render passes and see the results you can make.

Using a Mix node with an AOV and the combined image, and experimenting with the Blending mode, can give you beautiful results that help to add atmospheric effect and control to your final render’s value range.

Filter Nodes

Filter nodes take the pixels from input information and add effects that highlight details, accentuating beauty effects in your final image. Use Defocus to add depth of field and bokeh like effects and the Denoiser for cleaning up any potential fireflies that may have lingered in your render.

Output Nodes

Output nodes are the final step to the rendering process. The results of your node tree will be rendered and exported with your Compositor node and the File Output node. The Composite node provides the final output as this node is directly connected to the renderer. This node’s output is always updated every time a new render is made, but is designed to reflect the node tree you have established.

The File Output node will write and export an image that will be saved to a designated file path as a single or a sequence image based on the frame range specified. When saving a .blend file to be rendered in Render Pool, this node will help you access your render passes (AOVs) and download them separately if you want to do more with them.

Streamline Your Process with Blender’s Compositor

What we have presented is a basic approach to a post-processing workflow in Blender. Though not often expressed, it is surprisingly easy to navigate and use, and is worth experimenting with. Without the need to relocate your rendered material in another application to apply effects or re-render all of your work from frame 1, when all that needs to be changed is a material element, the Compositor is a great way to streamline your production process since it can all be done in Blender alone.

If you are working in a single environment without the concern of how to handle post-production rendering, we strongly recommend you take the time with the Compositor and experiment with the many ways you can make beautiful final renders without leaving the application.