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);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to