[Bf-blender-cvs] [b0dc79c] blender-v2.73-release: Revert "Fix T42888: Separate and Combine HSV distorts the hue value"

Sergey Sharybin noreply at git.blender.org
Tue Jan 6 10:44:52 CET 2015


Commit: b0dc79c14bb89c030f56c6978e602ae90f8a70eb
Author: Sergey Sharybin
Date:   Mon Dec 29 18:14:08 2014 +0500
Branches: blender-v2.73-release
https://developer.blender.org/rBb0dc79c14bb89c030f56c6978e602ae90f8a70eb

Revert "Fix T42888: Separate and Combine HSV distorts the hue value"

This reverts commit 1549fea9995c348bc14a9105df5e460644e2b33a.

After some further discussion with other developers in the team it becomes
clear there's no correct solution here. It is just more matter of what's
more convenient in particular case.

We're just going back to old code to avoid possible frustration with the
older files in newer blenders. This also means all HSV/HSL is considered
to be "linear" in the shading nodes.

Would be ported to 2.73 final.

===================================================================

M	intern/cycles/kernel/shaders/node_combine_hsv.osl
M	intern/cycles/kernel/shaders/node_separate_hsv.osl
M	intern/cycles/kernel/svm/svm_sepcomb_hsv.h

===================================================================

diff --git a/intern/cycles/kernel/shaders/node_combine_hsv.osl b/intern/cycles/kernel/shaders/node_combine_hsv.osl
index 574bad3..010773a 100644
--- a/intern/cycles/kernel/shaders/node_combine_hsv.osl
+++ b/intern/cycles/kernel/shaders/node_combine_hsv.osl
@@ -15,7 +15,6 @@
  */
 
 #include "stdosl.h"
-#include "node_color.h"
 
 shader node_combine_hsv(
 	float H = 0.0,
@@ -23,6 +22,6 @@ shader node_combine_hsv(
 	float V = 0.0,
 	output color Color = 0.8)
 {
-	Color = color_srgb_to_scene_linear(color("hsv", H, S, V));
+	Color = color("hsv", H, S, V);	
 }
 
diff --git a/intern/cycles/kernel/shaders/node_separate_hsv.osl b/intern/cycles/kernel/shaders/node_separate_hsv.osl
index 8bfb04a..94fc5de 100644
--- a/intern/cycles/kernel/shaders/node_separate_hsv.osl
+++ b/intern/cycles/kernel/shaders/node_separate_hsv.osl
@@ -23,7 +23,7 @@ shader node_separate_hsv(
 	output float S = 0.0,
 	output float V = 0.0)
 {
-	color col = rgb_to_hsv(color_scene_linear_to_srgb(Color));
+	color col = rgb_to_hsv(Color);
 	
 	H = col[0];
 	S = col[1];
diff --git a/intern/cycles/kernel/svm/svm_sepcomb_hsv.h b/intern/cycles/kernel/svm/svm_sepcomb_hsv.h
index abf75b6..111d5d4 100644
--- a/intern/cycles/kernel/svm/svm_sepcomb_hsv.h
+++ b/intern/cycles/kernel/svm/svm_sepcomb_hsv.h
@@ -26,8 +26,7 @@ ccl_device void svm_node_combine_hsv(KernelGlobals *kg, ShaderData *sd, float *s
 	float value = stack_load_float(stack, value_in);
 	
 	/* Combine, and convert back to RGB */
-	float3 color = color_srgb_to_scene_linear(
-	        hsv_to_rgb(make_float3(hue, saturation, value)));
+	float3 color = hsv_to_rgb(make_float3(hue, saturation, value));
 
 	if (stack_valid(color_out))
 		stack_store_float3(stack, color_out, color);
@@ -41,7 +40,7 @@ ccl_device void svm_node_separate_hsv(KernelGlobals *kg, ShaderData *sd, float *
 	float3 color = stack_load_float3(stack, color_in);
 	
 	/* Convert to HSV */
-	color = rgb_to_hsv(color_scene_linear_to_srgb(color));
+	color = rgb_to_hsv(color);
 
 	if (stack_valid(hue_out))
 		stack_store_float(stack, hue_out, color.x);




More information about the Bf-blender-cvs mailing list