From 3ee606621cf53a2a4897e534e7e04d3632f419f8 Mon Sep 17 00:00:00 2001 From: Lukas Stockner Date: Thu, 14 Jun 2018 17:48:19 +0200 Subject: Cycles: Query XYZ to/from Scene Linear conversion from OCIO instead of assuming sRGB I've limited it to just the RGB<->XYZ stuff for now, correct image handling is the next step. Reviewers: brecht, sergey Differential Revision: https://developer.blender.org/D3478 --- intern/cycles/render/nodes.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'intern/cycles/render/nodes.cpp') diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index 3dad4d1a346..0f2581b2a2e 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -14,6 +14,7 @@ * limitations under the License. */ +#include "render/film.h" #include "render/image.h" #include "render/integrator.h" #include "render/light.h" @@ -1673,7 +1674,8 @@ RGBToBWNode::RGBToBWNode() void RGBToBWNode::constant_fold(const ConstantFolder& folder) { if(folder.all_inputs_constant()) { - folder.make_constant(linear_rgb_to_gray(color)); + float val = folder.scene->shader_manager->linear_rgb_to_gray(color); + folder.make_constant(val); } } @@ -1769,7 +1771,8 @@ void ConvertNode::constant_fold(const ConstantFolder& folder) if(to == SocketType::FLOAT) { if(from == SocketType::COLOR) { /* color to float */ - folder.make_constant(linear_rgb_to_gray(value_color)); + float val = folder.scene->shader_manager->linear_rgb_to_gray(value_color); + folder.make_constant(val); } else { /* vector/point/normal to float */ -- cgit v1.2.3