[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42006] trunk/blender: Option to rename the vertex color data layer used by Ocean modifier for foam .

Lukas Toenne lukas.toenne at googlemail.com
Sun Nov 20 15:16:42 CET 2011


Revision: 42006
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42006
Author:   lukastoenne
Date:     2011-11-20 14:16:41 +0000 (Sun, 20 Nov 2011)
Log Message:
-----------
Option to rename the vertex color data layer used by Ocean modifier for foam. The modifier outputs foam values to both textures and a (temporary) vertex data layer. This layer was unnamed before, which makes it impossible to access in shader nodes. Now the user can input a custom name in the modifier panel, then use that same name in a shader input node to access foam values.

http://www.pasteall.org/pic/21120

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/bl_ui/properties_data_modifier.py
    trunk/blender/source/blender/makesdna/DNA_modifier_types.h
    trunk/blender/source/blender/makesrna/intern/rna_modifier.c
    trunk/blender/source/blender/modifiers/intern/MOD_ocean.c

Modified: trunk/blender/release/scripts/startup/bl_ui/properties_data_modifier.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/properties_data_modifier.py	2011-11-20 13:47:15 UTC (rev 42005)
+++ trunk/blender/release/scripts/startup/bl_ui/properties_data_modifier.py	2011-11-20 14:16:41 UTC (rev 42006)
@@ -455,11 +455,14 @@
 
         layout.prop(md, "use_normals")
 
+        layout.prop(md, "use_foam")
         row = layout.row()
-        row.prop(md, "use_foam")
-        sub = row.row()
-        sub.active = md.use_foam
-        sub.prop(md, "foam_coverage", text="Coverage")
+        row.active = md.use_foam
+        col = row.column()
+        col.prop(md, "foam_coverage", text="Coverage")
+        col = row.column()
+        col.label("Foam Data Layer Name")
+        col.prop(md, "foam_layer_name", text="")
 
         layout.separator()
 

Modified: trunk/blender/source/blender/makesdna/DNA_modifier_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_modifier_types.h	2011-11-20 13:47:15 UTC (rev 42005)
+++ trunk/blender/source/blender/makesdna/DNA_modifier_types.h	2011-11-20 14:16:41 UTC (rev 42006)
@@ -777,6 +777,7 @@
 	int		bakeend;
 	
 	char	cachepath[240];	// FILE_MAX
+	char	foamlayername[32];
 	char	cached;
 	char	geometry_mode;
 

Modified: trunk/blender/source/blender/makesrna/intern/rna_modifier.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_modifier.c	2011-11-20 13:47:15 UTC (rev 42005)
+++ trunk/blender/source/blender/makesrna/intern/rna_modifier.c	2011-11-20 14:16:41 UTC (rev 42006)
@@ -2993,6 +2993,11 @@
 	RNA_def_property_ui_range(prop, -FLT_MAX, FLT_MAX, 1, 0);
 	RNA_def_property_update(prop, 0, NULL);
 	
+	prop= RNA_def_property(srna, "foam_layer_name", PROP_STRING, PROP_NONE);
+	RNA_def_property_string_sdna(prop, NULL, "foamlayername");
+	RNA_def_property_ui_text(prop, "Foam Layer Name", "Name of the vertex color layer used for foam");
+	RNA_def_property_update(prop, 0, "rna_Modifier_update");
+	
 	prop= RNA_def_property(srna, "choppiness", PROP_FLOAT, PROP_UNSIGNED);
 	RNA_def_property_float_sdna(prop, NULL, "chop_amount");
 	RNA_def_property_ui_text(prop, "Choppiness", "");

Modified: trunk/blender/source/blender/modifiers/intern/MOD_ocean.c
===================================================================
--- trunk/blender/source/blender/modifiers/intern/MOD_ocean.c	2011-11-20 13:47:15 UTC (rev 42005)
+++ trunk/blender/source/blender/modifiers/intern/MOD_ocean.c	2011-11-20 14:16:41 UTC (rev 42006)
@@ -147,6 +147,7 @@
 	omd->bakeend = 250;
 	omd->oceancache = NULL;
 	omd->foam_fade = 0.98;
+	omd->foamlayername[0] = '\0';	/* layer name empty by default */
 
 	omd->ocean = BKE_add_ocean();
 	init_ocean_modifier(omd);
@@ -441,7 +442,7 @@
 		if(cdlayer >= MAX_MCOL)
 			return dm;
 
-		CustomData_add_layer(&dm->faceData, CD_MCOL, CD_CALLOC, NULL, num_faces);
+		CustomData_add_layer_named(&dm->faceData, CD_MCOL, CD_CALLOC, NULL, num_faces, omd->foamlayername);
 
 		mc = dm->getFaceDataArray(dm, CD_MCOL);
 		mv = dm->getVertArray(dm);




More information about the Bf-blender-cvs mailing list