[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29982] trunk/blender: texture saturation option.

Campbell Barton ideasman42 at gmail.com
Mon Jul 5 12:19:00 CEST 2010


Revision: 29982
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29982
Author:   campbellbarton
Date:     2010-07-05 12:18:59 +0200 (Mon, 05 Jul 2010)

Log Message:
-----------
texture saturation option.
we'll need a do-version bump soon or this will convert 0.0 saturation to 1.0 on load.

Modified Paths:
--------------
    trunk/blender/release/scripts/ui/properties_texture.py
    trunk/blender/source/blender/blenkernel/intern/texture.c
    trunk/blender/source/blender/blenloader/intern/readfile.c
    trunk/blender/source/blender/makesdna/DNA_texture_types.h
    trunk/blender/source/blender/makesrna/intern/rna_texture.c
    trunk/blender/source/blender/render/intern/include/texture.h

Modified: trunk/blender/release/scripts/ui/properties_texture.py
===================================================================
--- trunk/blender/release/scripts/ui/properties_texture.py	2010-07-05 10:13:22 UTC (rev 29981)
+++ trunk/blender/release/scripts/ui/properties_texture.py	2010-07-05 10:18:59 UTC (rev 29982)
@@ -204,6 +204,7 @@
         col.label(text="Adjust:")
         col.prop(tex, "brightness")
         col.prop(tex, "contrast")
+        col.prop(tex, "saturation")
 
 # Texture Slot Panels #
 

Modified: trunk/blender/source/blender/blenkernel/intern/texture.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/texture.c	2010-07-05 10:13:22 UTC (rev 29981)
+++ trunk/blender/source/blender/blenkernel/intern/texture.c	2010-07-05 10:18:59 UTC (rev 29982)
@@ -451,6 +451,7 @@
 	tex->nabla= 0.025;	// also in do_versions
 	tex->bright= 1.0;
 	tex->contrast= 1.0;
+	tex->saturation= 1.0;
 	tex->filtersize= 1.0;
 	tex->rfac= 1.0;
 	tex->gfac= 1.0;

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2010-07-05 10:13:22 UTC (rev 29981)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2010-07-05 10:18:59 UTC (rev 29982)
@@ -10855,6 +10855,7 @@
 		Object *ob;
 		Scene *scene;
 		bScreen *sc;
+		Tex *tex;
 
 		for (sc= main->screen.first; sc; sc= sc->id.next) {
 			ScrArea *sa;
@@ -10945,6 +10946,13 @@
 			}
 		}
 
+		for(tex= main->tex.first; tex; tex= tex->id.next) {
+			/* if youre picky, this isn't correct until we do a version bump
+			 * since you could set saturation to be 0.0*/
+			if(tex->saturation==0.0f)
+				tex->saturation= 1.0f;
+		}
+
 	}
 
 	/* WATCH IT!!!: pointers from libdata have not been converted yet here! */

Modified: trunk/blender/source/blender/makesdna/DNA_texture_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_texture_types.h	2010-07-05 10:13:22 UTC (rev 29981)
+++ trunk/blender/source/blender/makesdna/DNA_texture_types.h	2010-07-05 10:18:59 UTC (rev 29982)
@@ -203,8 +203,8 @@
 	struct AnimData *adt;	/* animation data (must be immediately after id for utilities to use it) */ 
 	
 	float noisesize, turbul;
-	float bright, contrast, rfac, gfac, bfac;
-	float filtersize;
+	float bright, contrast, saturation, rfac, gfac, bfac;
+	float filtersize, pad2;
 
 	/* newnoise: musgrave parameters */
 	float mg_H, mg_lacunarity, mg_octaves, mg_offset, mg_gain;

Modified: trunk/blender/source/blender/makesrna/intern/rna_texture.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_texture.c	2010-07-05 10:13:22 UTC (rev 29981)
+++ trunk/blender/source/blender/makesrna/intern/rna_texture.c	2010-07-05 10:18:59 UTC (rev 29982)
@@ -1706,6 +1706,11 @@
 	RNA_def_property_range(prop, 0.01, 5);
 	RNA_def_property_ui_text(prop, "Contrast", "");
 	RNA_def_property_update(prop, 0, "rna_Texture_update");
+
+	prop= RNA_def_property(srna, "saturation", PROP_FLOAT, PROP_NONE);
+	RNA_def_property_range(prop, 0, 2);
+	RNA_def_property_ui_text(prop, "Saturation", "");
+	RNA_def_property_update(prop, 0, "rna_Texture_update");
 	
 	/* RGB Factor */
 	prop= RNA_def_property(srna, "factor_red", PROP_FLOAT, PROP_NONE);

Modified: trunk/blender/source/blender/render/intern/include/texture.h
===================================================================
--- trunk/blender/source/blender/render/intern/include/texture.h	2010-07-05 10:13:22 UTC (rev 29981)
+++ trunk/blender/source/blender/render/intern/include/texture.h	2010-07-05 10:18:59 UTC (rev 29982)
@@ -40,7 +40,13 @@
 texres->tg= tex->gfac*((texres->tg-0.5)*tex->contrast+tex->bright-0.5); \
 if(texres->tg<0.0) texres->tg= 0.0; \
 texres->tb= tex->bfac*((texres->tb-0.5)*tex->contrast+tex->bright-0.5); \
-if(texres->tb<0.0) texres->tb= 0.0; 
+if(texres->tb<0.0) texres->tb= 0.0; \
+if(tex->saturation != 1.0f) { \
+	float _hsv[3]; \
+	rgb_to_hsv(texres->tr, texres->tg, texres->tb, _hsv, _hsv+1, _hsv+2); \
+	_hsv[1] *= tex->saturation; \
+	hsv_to_rgb(_hsv[0], _hsv[1], _hsv[2], &texres->tr, &texres->tg, &texres->tb); \
+} \
 
 
 struct HaloRen;





More information about the Bf-blender-cvs mailing list