Blender Git Commit Log

Git Commits -> Revision e3de255

September 7, 2020, 02:22 (GMT)
Cycles: add update flags to Node and SocketType

Those flags are meant for detecting which socket has changed, so in the
future we can have more granular updates.

`Node` now stores an `update_flags` member which is modified every time
a socket is changed though `Node::set`. The flags are or-able bits
stored in `SocketType` instances. Each `SocketType` stores a unique bit
out of 32, for the 32 bits of an unsigned integer type; the bit
corresponds to the index of the socket in the `Node`'s sockets array +
1, so the socket at index 5 will have the 6th bit set as its flag. This
limits us to 32 sockets per Node, which should be plenty for the current
set of `Nodes` that we have.

This does not change the behavior of other parts of Cycles.

This is part of T79131.

Maniphest Tasks: T79131

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

Commit Details:

Full Hash: e3de2556b9a2e21cb5858e04de3de4689927ae63
Parent Commit: 6726c75
Lines Changed: +89, -18

4 Modified Paths:

/intern/cycles/graph/node.cpp (+68, -18) (Diff)
/intern/cycles/graph/node.h (+16, -0) (Diff)
/intern/cycles/graph/node_type.cpp (+2, -0) (Diff)
/intern/cycles/graph/node_type.h (+3, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021