Blender Git Commit Log

Git Commits -> Revision 443b159

Revision 443b159 by Sergey Sharybin (master)
November 25, 2015, 08:07 (GMT)
Cycles: Ensure order of shader nodes in the dependnecies set

The issue was than nodes dependencies were stored as set<ShaderNode*> which
is actually a so called "strict weak ordered", meaning order of nodes in
the set is strictly defined, but based on the ShaderNode pointer. This means
that between different render invokations order of original nodes could be
different due to different pointers allocated for ShaderNode.

This commit makes it so dependencies and maps used for ShaderNodes are based
on the node->id which has much more predictable order. It's still possible
to trick the system by doing some crazy edits during viewport rendfer and
cause difference between viewport and final render stacks.

Reviewers: brecht

Reviewed By: brecht

Subscribers: LazyDodo

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

Commit Details:

Full Hash: 443b159f023a872472d8e61c7270dab472a3d8ee
Parent Commit: de35827
Lines Changed: +65, -51

6 Modified Paths:

/intern/cycles/render/graph.cpp (+12, -12) (Diff)
/intern/cycles/render/graph.h (+14, -2) (Diff)
/intern/cycles/render/osl.cpp (+4, -4) (Diff)
/intern/cycles/render/osl.h (+3, -2) (Diff)
/intern/cycles/render/svm.cpp (+18, -18) (Diff)
/intern/cycles/render/svm.h (+14, -13) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021