[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13032] trunk/blender/source/blender: Render feature: the END OF DIFFUSE BANDING!

Ton Roosendaal ton at blender.org
Fri Dec 28 14:11:27 CET 2007


Revision: 13032
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13032
Author:   ton
Date:     2007-12-28 14:11:27 +0100 (Fri, 28 Dec 2007)

Log Message:
-----------
Render feature: the END OF DIFFUSE BANDING!
http://www.blender.org/development/current-projects/changes-since-244/rendering-features/

Thanks Andy for poking and analysing, and Nathan for feedback!

Modified Paths:
--------------
    trunk/blender/source/blender/makesdna/DNA_material_types.h
    trunk/blender/source/blender/render/intern/source/shadeoutput.c
    trunk/blender/source/blender/src/buttons_shading.c

Modified: trunk/blender/source/blender/makesdna/DNA_material_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_material_types.h	2007-12-28 12:11:45 UTC (rev 13031)
+++ trunk/blender/source/blender/makesdna/DNA_material_types.h	2007-12-28 13:11:27 UTC (rev 13032)
@@ -79,7 +79,7 @@
 	float aniso_gloss_mir;
 	float dist_mir;
 	short fadeto_mir;
-	short pad1;
+	short shade_flag;		/* like Cubic interpolation */
 		
 	int mode, mode_l;		/* mode_l is the or-ed result of all layer modes */
 	short flarec, starc, linec, ringc;
@@ -201,6 +201,9 @@
 #define MA_RAYMIR_FADETOSKY	0
 #define MA_RAYMIR_FADETOMAT	1
 
+/* shade_flag */
+#define MA_CUBIC			1
+
 /* diff_shader */
 #define MA_DIFF_LAMBERT		0
 #define MA_DIFF_ORENNAYAR	1

Modified: trunk/blender/source/blender/render/intern/source/shadeoutput.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/shadeoutput.c	2007-12-28 12:11:45 UTC (rev 13031)
+++ trunk/blender/source/blender/render/intern/source/shadeoutput.c	2007-12-28 13:11:27 UTC (rev 13032)
@@ -1297,7 +1297,10 @@
 		else is= inp;	// Lambert
 	}
 	
-	/* i is diffuse */
+	/* 'is' is diffuse */
+	if((ma->shade_flag & MA_CUBIC) && is>0.0f)
+		is= 3.0*is*is - 2.0*is*is*is;	// nicer termination of shades
+
 	i= is*phongcorr;
 	
 	if(i>0.0f) {

Modified: trunk/blender/source/blender/src/buttons_shading.c
===================================================================
--- trunk/blender/source/blender/src/buttons_shading.c	2007-12-28 12:11:45 UTC (rev 13031)
+++ trunk/blender/source/blender/src/buttons_shading.c	2007-12-28 13:11:27 UTC (rev 13032)
@@ -3791,7 +3791,8 @@
 		uiDefButBitI(block, TOG, MA_SHADOW, B_MATPRV,	"Shadow",			245,140,65,19, &(ma->mode), 0, 0, 0, 0, "Makes material receive shadows");
 		uiDefButBitI(block, TOG, MA_SHADOW_TRA, B_MATPRV, "TraShadow",		245,120,65,19, &(ma->mode), 0, 0, 0, 0, "Receives transparent shadows based at material color and alpha");
 		uiDefButBitI(block, TOG, MA_ONLYSHADOW, B_MATPRV,	"OnlyShad",		245,100,65,20, &(ma->mode), 0, 0, 0, 0, "Renders shadows on material as Alpha value");
-		uiDefButBitI(block, TOG, MA_RAYBIAS, B_MATPRV, "Bias",				245,80,65,19, &(ma->mode), 0, 0, 0, 0, "Prevents ray traced shadow errors with phong interpolated normals (terminator problem)");
+		uiDefButBitS(block, TOG, MA_CUBIC, B_MATPRV, "Cubic",				245,80,65,19, &(ma->shade_flag), 0, 0, 0, 0, "Use Cubic interpolation of diffuse values, for smoother transitions)");
+		uiDefButBitI(block, TOG, MA_RAYBIAS, B_MATPRV, "Bias",				245,60,65,19, &(ma->mode), 0, 0, 0, 0, "Prevents ray traced shadow errors with phong interpolated normals (terminator problem)");
 
 		uiBlockBeginAlign(block);
 		uiDefIDPoinBut(block, test_grouppoin_but, ID_GR, B_MATPRV, "GR:",	9, 55, 150, 19, &ma->group, "Limit Lighting to Lamps in this Group"); 





More information about the Bf-blender-cvs mailing list