Blender Git Commit Log

Git Commits -> Revision 6262016

Revision 6262016 by Kévin Dietrich (master)
September 22, 2020, 12:50 (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 64, for the 64 bits of an uint64_t; 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 64 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.

Reviewed By: brecht

Maniphest Tasks: T79131

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

Commit Details:

Full Hash: 626201683ec0d96e86d681bb0273a324cdf91916
Parent Commit: 8d1123b
Lines Changed: +91, -18

4 Modified Paths:

/intern/cycles/graph/node.cpp (+71, -18) (Diff)
/intern/cycles/graph/node.h (+15, -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