Invert Color Cycles Node
authorDalai Felinto <dfelinto@gmail.com>
Sat, 3 Dec 2011 23:05:35 +0000 (23:05 +0000)
committerDalai Felinto <dfelinto@gmail.com>
Sat, 3 Dec 2011 23:05:35 +0000 (23:05 +0000)
commitd15c5e51a1f05ff9044bda32cb8c47b6dd59426c
treed9be3165c81c8e78c8927ff2dd3e2c004fdbed42
parent7691e05e4099fec676c79f4ffb1f79d52e9e8a8d
Invert Color Cycles Node
as with the HSV node the OSL code is relying on the (yet to be implemented) autorename.

Also the svm code could use mix (svm_lerp) instead:
 32 . float3 color_inv = make_float3(1.0f, 1.0f, 1.0f) - color;
 35 . . stack_store_float3(stack, out_color, svm_lerp(color_inv, color, factor));

I have a feeling that each node 'program' should have the least program as possible. I'll see with Brecht later.
But overall I don't know if that's any fast. And apart from that I think we will need this kind of function to move to a library if multiple functions linked in are not a problem.
intern/cycles/app/cycles_xml.cpp
intern/cycles/blender/blender_shader.cpp
intern/cycles/kernel/CMakeLists.txt
intern/cycles/kernel/osl/nodes/CMakeLists.txt
intern/cycles/kernel/osl/nodes/node_invert.osl [new file with mode: 0644]
intern/cycles/kernel/svm/svm.h
intern/cycles/kernel/svm/svm_invert.h [new file with mode: 0644]
intern/cycles/kernel/svm/svm_types.h
intern/cycles/render/nodes.cpp
intern/cycles/render/nodes.h
source/blender/nodes/shader/nodes/node_shader_invert.c