Blender Git Commit Log

Git Commits -> Revision f68c3d5

Revision f68c3d5 by Sergey Sharybin (master)
October 22, 2020, 09:57 (GMT)
Compositor: Ensure keying node result is pre-multiplied

Historically the result of the keying node was violating alpha
pre-multiplication rules in Blender: it was simply overriding
the alpha channel of input.

This change makes it so keying node mixes alpha into the input,
which solves the following issues:

- The result is properly pre-multiplied, no need in separate
alpha-convert node anymore.

- Allows to more easily stack keying nodes.
This usecase was never really investigated, but since previously
alpha is always overwritten it was never possible to easily stack
nodes. Now it is at something to be tried.

Unfortunately, this breaks compatibility with existing files, where
alpha-convert node is to be manually removed.

From implementation side this is done as a dedicated operation since
there was no ready-to-use operation. Maybe in the future it might
be replaced with some sort of vector math node.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D9211

Commit Details:

Full Hash: f68c3d557aa847743b09d8b837278ea785ec40f6
Parent Commit: 6c178bf
Lines Changed: +98, -2

2 Added Paths:

/source/blender/compositor/operations/COM_KeyingSetAlphaOperation.cpp (+55, -0) (View)
/source/blender/compositor/operations/COM_KeyingSetAlphaOperation.h (+39, -0) (View)

2 Modified Paths:

/source/blender/compositor/CMakeLists.txt (+2, -0) (Diff)
/source/blender/compositor/nodes/COM_KeyingNode.cpp (+2, -2) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021