Compositor assets

Motivation

Many Blender users currently perform 3D modeling and rendering but then export their renders for post-processing in other software. While this use case will always be supported, we would like to improve the compositing workflow, such that it’s easier and more convenient for users to do post-processing and compositing in Blender.

We identified several ideas to solve this problem (see #134214). This post is about assets —specifically, we’re looking for community feedback to help us identify which assets should be shipped with Blender.

Proposal

The new workflow should include an asset shelf with several categories as shown in the following demo:

Target users

Mainly Blender users who are beginners to compositing.
Advanced users should benefit from an asset shelf and presets to use as templates for further tweaks, but they are not the main target users.

Assets

Without going into implementation details, we would like to include the following assets (each point may have multiple individual assets):

  • Camera & Lens effects:

    • Sharpen
    • Unsharpen
    • Vignette
    • Grain
    • (Sensor) Noise
    • Defocus
    • Chromatic aberration
    • (advanced) Glows and bloom
    • Camera shake
    • Lens flare
  • Filter Presets

    • Film black and white
    • LA / nostalgia filter
    • Venetian blinds
    • Half Tone & Comic book filters
    • VHS
    • Sepia Tone
    • Color Isolation
    • Infrared look
  • Environment effects

    • Heat displacement
    • Atmospheric fog
    • Wave warping
    • Liquify filter

More advanced assets:

  • Procedural noise textures
  • Color Management
    • Custom tone mappers
    • Gamma compression

Feedback

Which effects or categories would you also like to have included?

14 Likes

6 posts were split to a new topic: Asset review and maintenance

Speaking with year (decades?) of use with other compositing applications - an asset shelf such as this would be a potential negative feature to me.

I make constant use of pull-down menus with filter entries, and even with presets I would prefer a presentation similar to how blender’s “Groups” appear as an option in the ADD menu. So, even with a bank of filter presets - definitely needs to not only be available via the asset shelf.

I do think the asset shelf presentation will be easily understood and probably used by newbies, which may be part of the goal (encourage people new to compositing, to USE compositing).

But, for power users already compositing in other software - convenient asset presets are the last reason they’d switch over to compositing in Blender.

1 Like

I agree with making it easier for beginners (maybe building a layer system similar to modifiers, because beginners won’t use nodes anyway but at the same time continue to add low level nodes for advanced users).

Some useful nodes for beginners (but also for advanced users) can be:

Color:

-Exposure/Temperature/Tint (for photography users)
-Grade(black and white point, lift,gain,multiply,offset,gamma… any junior compositor learns to use it for color matching)

In general you could think about converting many existing color nodes into assets.

Matte:
-roughness mask (takes alpha as input and “breaks” the edges, useful for stylizing but also to help blending in a comp)
-edge detect

Blend:

-Lightwrap
-Emboss
-Shadow

Filter:

-High pass filter (like Photoshop)
-Glitch
-Dirty

Transfomr/Distortion:

-3D card (“transform 3D” but in 2D, more precise than corner pin for perspective effects)
-Bend
-Pinch
-Swirl
-Polar Coordinates (from and to)

More advanced assets:

-Lens Distortion (a version of the node independent from the movie clip editor but with the possibility of using the same distortion models, perhaps less useful for beginners).

-Relight (with image, normal and position/depth input)

-Lin2Log\Log2Lin

Off topic: Some low level nodes to add, camera info (like geonodes) objects node (like geonodes but with the exception of the geometric output), solid/constant primitive (with the possibility of choosing color and resolution), color matrix, convolve 3x3, repeat zone, 2D lattice deform (this last one would be complicated and inefficient to recreate as an asset at the moment).

As for the temporal effects I have not mentioned them, will there ever be a support? (time offset, time echo etc etc or the possibility of accessing information calculated on a previous frame)

In any case it would be useful that in the nodes, even if designed for beginners, there is a panel (closed by default) with advanced settings for the effect.

4 Likes

This is already the case for compositing node groups! Works great.

I have an add-on with reasonably advanced versions of some of these effects already and would be happy to contribute some if desired. Many couldn’t be assets because of the limitations of not having inputs for all settings, but since that is changing in 4.5 I will be converting most of them to assets soon anyway. When enum sockets come to the compositor then they can all be assets and it will simplify things considerably.

3 Likes

Right, just saying I’d like to keep that as new things are also explored.

1 Like

Thanks!

I agree, though technically they wouldn’t be called assets, but somehow exposed with previews and easier drag and drop concept for better discoverability than the current text based search.

These sound reasonable to me

Not sure if these should be assets. It might be better (or just more practical) to have them as core nodes.

This is part of the plan indeed. Node groups currently support panels so high level assets should use them also.

3 Likes

Thank you! It seems like many compositor addons implement some version of layer based compositing. We are also considering implementing that in Blender.

Do you mind sharing which color corrections / effects are the most popular among your addon users?

1 Like

Personally I’d be inclined to have nodes assets with more inputs rather than small ones. For example noise and grain could be combined, sepia tone could be part of a bigger color manipulation node. VHS and Infrared look I’d probably leave out for being more demos than practically useful.

Gamma compression (correction?) seems like a legacy thing that should not be recommended to be done as part of compositing, but left to color management.

I wonder if closures could somehow be used to layer effects. We’re considering them for light filters in light shader nodes as well. But not sure yet if it’s a great fit.

2 Likes

Sure!

With a caveat. The biggest thing users get it for is being able to do corrections that happen before, between, or after their chosen color transform, which is a pain in default Blender. Working this way also makes some things appear broken (render previews, material previews, certain VSE workflows, etc.) since Blender wasn’t originally designed for users to manage the color transforms themselves.

That’s a different topic in a way, but it really changes what node assets are possible.

For example, many users like the simple ‘Blacks, Shadows, Highlights, Whites’ slider controls. That’s not exactly hard to build, but it would be fairly pointless to add it from the assets to a default scene where it would be applied before the color transform. The results would not be what users expect. So different effects need to happen at different places in the compositing chain and adding them in the wrong spot would make them appear broken even if everything is actually working as intended.

Whether or not “breaking” the colors in sRGB is good because it allows people to work with certain effects the way they are used to and have control over the exact output color of each pixel, or bad because it is lossy and makes trashing the image easy… is a bigger topic for another day.

But the caveat that the controls users like the most can’t always work pre-transform aside, the most popular non-default effects are:

  • Sharpness
  • Clarity
  • Color Boost
  • YUV Saturation
  • Vignette
  • Film Grain

Examples and explanation:

3 Likes

Agree. We discussed this as a general rule of thumb for higher level nodes.

We have the limitation that node groups don’t support menus (enums) in the compositor, so not sure how to best implement this.

The use cases I know of include TVs or monitors as part of a scene. People tend to either use an external software for compositing or preprocess the video showing there in an external software

Right, we might need a better name but the intention is to use Gamma for artistic reasons only.

1 Like

I think a great category would be animations. I made this Scroll Up node that translates in pixels per frame, (scrolling without jitter), specially useful for end credits and such.
Another useful node would be sharpening with the method called “Unsharp Mask” as a filter.

2 Likes

Thanks! Good to know this aligns well with the proposal for the most part. Color Boost would be an interesting addition indeed.

We don’t have support for text generation in the compositor yet, so I wonder if this would fit best into the VSE in the meanwhile.