blender/intern
Sergey Sharybin 738f6d8127 Cycles: Implement node deduplication routines
The idea of this commit is to merge nodes which has identical settings
and matching inputs into a single node in order to minimize number of
SVM instructions.

This is quite simple bottom-top graph traversal and the trickiest part
is how to compare node settings without too much trouble which seems to
be solved is quite clean way.

Still possibilities for further improvements:

- Support comparison of BSDF nodes
- Support comparison of volume nodes
- Support comparison of curve mapping/ramp nodes

Reviewers: brecht, juicyfruit, dingto

Differential Revision: https://developer.blender.org/D1673
2015-12-28 16:37:48 +05:00
..
atomic atomic_ops: Fix MSVC versions of add/sub returning original value instead of result of operation. 2015-07-01 12:25:32 +02:00
audaspace Fix T47064: Change Audio defaults to 48 kHz 2015-12-27 16:33:54 +01:00
container Rework carve integration into boolean modifier 2014-02-13 17:16:53 +06:00
cycles Cycles: Implement node deduplication routines 2015-12-28 16:37:48 +05:00
dualcon Replace MFace use by MLoopTri w/ remash modifier 2015-07-20 14:42:35 +10:00
eigen Cleanup: quiet warning 2015-12-10 21:18:50 +11:00
elbeem Fix various compiler warnings. 2015-10-10 17:35:30 +02:00
ffmpeg Fix video FFmpeg nt being able to produce video files due to usage of deprecated settings 2014-04-15 00:15:09 +06:00
ghost Fix for building ghost-tests 2015-12-28 21:40:49 +11:00
glew-mx Fix T46431: Init glew before glx-context crashes 2015-10-12 15:08:20 +11:00
guardedalloc Support for platforms /wo malloc_usable_size 2015-06-21 12:33:55 +10:00
iksolver IK Solver: remove unused and outdated test code. 2015-12-11 01:42:41 +01:00
itasc CMake: unbundle eigen3 2015-03-19 15:41:41 +11:00
locale Cleanup: warnings (msvc) 2015-12-21 13:02:38 +11:00
memutil Memutil: remove some unused code. 2015-12-11 01:48:26 +01:00
mikktspace CMake: use -Wshadow warning for C source 2015-11-23 17:43:55 +11:00
moto BGE clean up: use float version of trigonometric functions 2015-12-16 01:53:48 +01:00
opencolorio OpenGL: when checking GL version, assume >= 2.1 2015-11-24 02:34:54 -05:00
opensubdiv OpenSubdiv: Avoid having bad-level call 2015-12-18 23:16:52 +05:00
raskter code cleanup: use NULL rather then 0 for pointers, and make vars static where possible. 2013-03-22 05:34:10 +00:00
rigidbody Code cleanup 2014-07-18 11:55:59 +10:00
smoke Fix various compiler warnings. 2015-10-10 17:35:30 +02:00
string fix for buffer out-of-bounds reading for STR_String comparisons with char arrays. 2013-03-22 21:26:59 +00:00
utfconv Warning cleanup: 2014-03-22 14:41:38 +02:00
CMakeLists.txt Eigen: fold remaining OpenNL code into intern/eigen. 2015-12-10 01:58:10 +01:00
SConscript Eigen: fold remaining OpenNL code into intern/eigen. 2015-12-10 01:58:10 +01:00