[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [54576] trunk/blender/source/blender: Fix #34254: cycles brightness/ contrast node was missing for GLSL material view.

Brecht Van Lommel brechtvanlommel at pandora.be
Fri Feb 15 12:46:32 CET 2013


Revision: 54576
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54576
Author:   blendix
Date:     2013-02-15 11:46:31 +0000 (Fri, 15 Feb 2013)
Log Message:
-----------
Fix #34254: cycles brightness/contrast node was missing for GLSL material view.

Modified Paths:
--------------
    trunk/blender/source/blender/gpu/shaders/gpu_shader_material.glsl
    trunk/blender/source/blender/nodes/shader/nodes/node_shader_brightness.c

Modified: trunk/blender/source/blender/gpu/shaders/gpu_shader_material.glsl
===================================================================
--- trunk/blender/source/blender/gpu/shaders/gpu_shader_material.glsl	2013-02-15 11:23:07 UTC (rev 54575)
+++ trunk/blender/source/blender/gpu/shaders/gpu_shader_material.glsl	2013-02-15 11:46:31 UTC (rev 54576)
@@ -390,6 +390,17 @@
 	outval = vec4(0.0);
 }
 
+void brightness_contrast(vec4 col, float brightness, float contrast, out vec4 outcol)
+{
+	float a = 1.0 + contrast;
+	float b = brightness - contrast*0.5;
+
+	outcol.r = max(a*col.r + b, 0.0);
+	outcol.g = max(a*col.g + b, 0.0);
+	outcol.b = max(a*col.b + b, 0.0);
+	outcol.a = col.a;
+}
+
 void mix_blend(float fac, vec4 col1, vec4 col2, out vec4 outcol)
 {
 	fac = clamp(fac, 0.0, 1.0);

Modified: trunk/blender/source/blender/nodes/shader/nodes/node_shader_brightness.c
===================================================================
--- trunk/blender/source/blender/nodes/shader/nodes/node_shader_brightness.c	2013-02-15 11:23:07 UTC (rev 54575)
+++ trunk/blender/source/blender/nodes/shader/nodes/node_shader_brightness.c	2013-02-15 11:46:31 UTC (rev 54576)
@@ -43,6 +43,11 @@
 	{	-1, 0, ""	}
 };
 
+static int gpu_shader_brightcontrast(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out)
+{
+	return GPU_stack_link(mat, "brightness_contrast", in, out);
+}
+
 void register_node_type_sh_brightcontrast(bNodeTreeType *ttype)
 {
 	static bNodeType ntype;
@@ -54,7 +59,7 @@
 	node_type_init(&ntype, NULL);
 	node_type_storage(&ntype, "", NULL, NULL);
 	node_type_exec(&ntype, NULL);
-	node_type_gpu(&ntype, NULL);
+	node_type_gpu(&ntype, gpu_shader_brightcontrast);
 	
 	nodeRegisterType(ttype, &ntype);
 }




More information about the Bf-blender-cvs mailing list