[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [22821] branches/blender2.5/blender: 2. 5 Volumetric:

Thomas Dinges dingto at gmx.de
Thu Aug 27 20:24:12 CEST 2009


Revision: 22821
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=22821
Author:   dingto
Date:     2009-08-27 20:24:12 +0200 (Thu, 27 Aug 2009)

Log Message:
-----------
2.5 Volumetric:

* Wrapped some missing Point Density RNA and added the options to the UI.
* Some UI changes (greying out...)

Matt: Please check. :)

Modified Paths:
--------------
    branches/blender2.5/blender/release/ui/buttons_texture.py
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_texture.c

Modified: branches/blender2.5/blender/release/ui/buttons_texture.py
===================================================================
--- branches/blender2.5/blender/release/ui/buttons_texture.py	2009-08-27 16:34:13 UTC (rev 22820)
+++ branches/blender2.5/blender/release/ui/buttons_texture.py	2009-08-27 18:24:12 UTC (rev 22821)
@@ -623,6 +623,7 @@
 
 	def draw(self, context):
 		layout = self.layout
+		
 		tex = context.texture
 		vd = tex.voxeldata
 
@@ -631,12 +632,13 @@
 			layout.itemR(vd, "source_path")
 		if vd.file_format == 'RAW_8BIT':
 			layout.itemR(vd, "resolution")
-		if vd.file_format == 'SMOKE':
+		elif vd.file_format == 'SMOKE':
 			layout.itemR(vd, "domain_object")
 		
 		layout.itemR(vd, "still")
-		if vd.still:
-			layout.itemR(vd, "still_frame_number")
+		row = layout.row()
+		row.active = vd.still
+		row.itemR(vd, "still_frame_number")
 		
 		layout.itemR(vd, "interpolation")
 		layout.itemR(vd, "intensity")
@@ -651,27 +653,51 @@
 
 	def draw(self, context):
 		layout = self.layout
+		
 		tex = context.texture
 		pd = tex.pointdensity
+		ob = context.object
 
-		layout.itemR(pd, "point_source")
-		layout.itemR(pd, "object")
+		layout.itemR(pd, "point_source", expand=True)
 		if pd.point_source == 'PARTICLE_SYSTEM':
-			layout.item_pointerR(pd, "particle_system", pd.object, "particle_systems", text="")
+			layout.item_pointerR(pd, "particle_system", ob, "particle_systems", text="System")
+			layout.itemR(pd, "particle_cache", text="Cache")
+		else:
+			layout.itemR(pd, "object")
+			layout.itemR(pd, "vertices_cache", text="Cache")
+		
+		layout.itemS()
+		
 		layout.itemR(pd, "radius")
 		layout.itemR(pd, "falloff")
 		if pd.falloff == 'SOFT':
 			layout.itemR(pd, "falloff_softness")
-		layout.itemR(pd, "color_source")
+			
+		layout.itemS()
+
 		layout.itemR(pd, "turbulence")
-		layout.itemR(pd, "turbulence_size")
-		layout.itemR(pd, "turbulence_depth")
-		layout.itemR(pd, "turbulence_influence")
 		
+		col = layout.column()
+		col.active = pd.turbulence
+		sub = col.column_flow()
+		sub.itemR(pd, "turbulence_size")
+		sub.itemR(pd, "turbulence_depth")
+		sub.itemR(pd, "turbulence_strength")
+		col.itemR(pd, "turbulence_influence", text="Influence")
+		col.itemR(pd, "noise_basis")
+		
+		layout.itemS()
+		
+		layout.itemR(pd, "color_source")
+		if pd.color_source in ('PARTICLE_SPEED', 'PARTICLE_VELOCITY'):
+			layout.itemR(pd, "speed_scale")
+		if pd.color_source in ('PARTICLE_SPEED', 'PARTICLE_AGE'):
+			layout.template_color_ramp(pd.color_ramp, expand=True)
 
 bpy.types.register(TEXTURE_PT_context_texture)
 bpy.types.register(TEXTURE_PT_preview)
-bpy.types.register(TEXTURE_PT_clouds)
+
+bpy.types.register(TEXTURE_PT_clouds) # Texture Type Panels
 bpy.types.register(TEXTURE_PT_wood)
 bpy.types.register(TEXTURE_PT_marble)
 bpy.types.register(TEXTURE_PT_magic)
@@ -687,6 +713,7 @@
 bpy.types.register(TEXTURE_PT_distortednoise)
 bpy.types.register(TEXTURE_PT_voxeldata)
 bpy.types.register(TEXTURE_PT_pointdensity)
+
 bpy.types.register(TEXTURE_PT_colors)
 bpy.types.register(TEXTURE_PT_mapping)
 bpy.types.register(TEXTURE_PT_influence)

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_texture.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_texture.c	2009-08-27 16:34:13 UTC (rev 22820)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_texture.c	2009-08-27 18:24:12 UTC (rev 22821)
@@ -1333,8 +1333,21 @@
 	static EnumPropertyItem point_source_items[] = {
 		{TEX_PD_PSYS, "PARTICLE_SYSTEM", 0, "Particle System", "Generate point density from a particle system"},
 		{TEX_PD_OBJECT, "OBJECT", 0, "Object Vertices", "Generate point density from an object's vertices"},
+		//{TEX_PD_FILE, "FILE", 0 , "File", ""},
 		{0, NULL, 0, NULL, NULL}};
 	
+	static EnumPropertyItem particle_cache_items[] = {
+		{TEX_PD_OBJECTLOC, "OBJECT_LOCATION", 0, "Emit Object Location", ""},
+		{TEX_PD_OBJECTSPACE, "OBJECT_SPACE", 0, "Emit Object Space", ""},
+		{TEX_PD_WORLDSPACE, "WORLD_SPACE", 0 , "Global Space", ""},
+		{0, NULL, 0, NULL, NULL}};
+		
+	static EnumPropertyItem vertice_cache_items[] = {
+		{TEX_PD_OBJECTLOC, "OBJECT_LOCATION", 0, "Object Location", ""},
+		{TEX_PD_OBJECTSPACE, "OBJECT_SPACE", 0, "Object Space", ""},
+		{TEX_PD_WORLDSPACE, "WORLD_SPACE", 0 , "Global Space", ""},
+		{0, NULL, 0, NULL, NULL}};
+
 	static EnumPropertyItem falloff_items[] = {
 		{TEX_PD_FALLOFF_STD, "STANDARD", 0, "Standard", ""},
 		{TEX_PD_FALLOFF_SMOOTH, "SMOOTH", 0, "Smooth", ""},
@@ -1354,7 +1367,7 @@
 		{TEX_PD_NOISE_STATIC, "STATIC", 0, "Static", "Noise patterns will remain unchanged, faster and suitable for stills"},
 		{TEX_PD_NOISE_VEL, "PARTICLE_VELOCITY", 0, "Particle Velocity", "Turbulent noise driven by particle velocity"},
 		{TEX_PD_NOISE_AGE, "PARTICLE_AGE", 0, "Particle Age", "Turbulent noise driven by the particle's age between birth and death"},
-			{TEX_PD_NOISE_TIME, "GLOBAL_TIME", 0, "Global Time", "Turbulent noise driven by the global current frame"},
+		{TEX_PD_NOISE_TIME, "GLOBAL_TIME", 0, "Global Time", "Turbulent noise driven by the global current frame"},
 		{0, NULL, 0, NULL, NULL}};
 	
 	srna= RNA_def_struct(brna, "PointDensity", NULL);
@@ -1380,6 +1393,18 @@
 	RNA_def_property_flag(prop, PROP_EDITABLE);
 	RNA_def_property_update(prop, NC_TEXTURE, NULL);
 	
+	prop= RNA_def_property(srna, "particle_cache", PROP_ENUM, PROP_NONE);
+	RNA_def_property_enum_sdna(prop, NULL, "psys_cache_space");
+	RNA_def_property_enum_items(prop, particle_cache_items);
+	RNA_def_property_ui_text(prop, "Particle Cache", "Co-ordinate system to cache particles in");
+	RNA_def_property_update(prop, NC_TEXTURE, NULL);
+	
+	prop= RNA_def_property(srna, "vertices_cache", PROP_ENUM, PROP_NONE);
+	RNA_def_property_enum_sdna(prop, NULL, "ob_cache_space");
+	RNA_def_property_enum_items(prop, vertice_cache_items);
+	RNA_def_property_ui_text(prop, "Vertices Cache", "Co-ordinate system to cache vertices in");
+	RNA_def_property_update(prop, NC_TEXTURE, NULL);
+	
 	prop= RNA_def_property(srna, "radius", PROP_FLOAT, PROP_NONE);
 	RNA_def_property_float_sdna(prop, NULL, "radius");
 	RNA_def_property_range(prop, 0.01, FLT_MAX);
@@ -1404,6 +1429,19 @@
 	RNA_def_property_ui_text(prop, "Color Source", "Data to derive color results from");
 	RNA_def_property_update(prop, NC_TEXTURE, NULL);
 	
+	prop= RNA_def_property(srna, "speed_scale", PROP_FLOAT, PROP_NONE);
+	RNA_def_property_float_sdna(prop, NULL, "speed_scale");
+	RNA_def_property_range(prop, 0.001, 100.0);
+	RNA_def_property_ui_text(prop, "Scale", "Multipler to bring particle speed within an acceptable range");
+	RNA_def_property_update(prop, NC_TEXTURE, NULL);
+	
+	prop= RNA_def_property(srna, "color_ramp", PROP_POINTER, PROP_NEVER_NULL);
+	RNA_def_property_pointer_sdna(prop, NULL, "coba");
+	RNA_def_property_struct_type(prop, "ColorRamp");
+	RNA_def_property_ui_text(prop, "Color Ramp", "");
+	RNA_def_property_update(prop, NC_TEXTURE, NULL);
+	
+	/* Turbulence */
 	prop= RNA_def_property(srna, "turbulence", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_sdna(prop, NULL, "flag", TEX_PD_TURBULENCE);
 	RNA_def_property_ui_text(prop, "Turbulence", "Add directed noise to the density at render-time");
@@ -1415,6 +1453,12 @@
 	RNA_def_property_ui_text(prop, "Size", "Scale of the added turbulent noise");
 	RNA_def_property_update(prop, NC_TEXTURE, NULL);
 	
+	prop= RNA_def_property(srna, "turbulence_strength", PROP_FLOAT, PROP_NONE);
+	RNA_def_property_float_sdna(prop, NULL, "noise_fac");
+	RNA_def_property_range(prop, 0.01, FLT_MAX);
+	RNA_def_property_ui_text(prop, "Strength", "");
+	RNA_def_property_update(prop, NC_TEXTURE, NULL);
+	
 	prop= RNA_def_property(srna, "turbulence_depth", PROP_INT, PROP_NONE);
 	RNA_def_property_int_sdna(prop, NULL, "noise_depth");
 	RNA_def_property_range(prop, 0, INT_MAX);
@@ -1426,9 +1470,14 @@
 	RNA_def_property_enum_items(prop, turbulence_influence_items);
 	RNA_def_property_ui_text(prop, "Turbulence Influence", "Method for driving added turbulent noise");
 	RNA_def_property_update(prop, NC_TEXTURE, NULL);
+	
+	prop= RNA_def_property(srna, "noise_basis", PROP_ENUM, PROP_NONE);
+	RNA_def_property_enum_sdna(prop, NULL, "noise_basis");
+	RNA_def_property_enum_items(prop, prop_noise_basis_items);
+	RNA_def_property_ui_text(prop, "Noise Basis", "Noise formula used for tubulence");
+	RNA_def_property_update(prop, NC_TEXTURE, NULL);
 
-	
-	
+
 	srna= RNA_def_struct(brna, "PointDensityTexture", "Texture");
 	RNA_def_struct_sdna(srna, "Tex");
 	RNA_def_struct_ui_text(srna, "Point Density", "Settings for the Point Density texture");
@@ -1454,6 +1503,7 @@
 	static EnumPropertyItem file_format_items[] = {
 		{TEX_VD_BLENDERVOXEL, "BLENDER_VOXEL", 0, "Blender Voxel", "Default binary voxel file format"},
 		{TEX_VD_RAW_8BIT, "RAW_8BIT", 0, "8 bit RAW", "8 bit greyscale binary data"},
+		//{TEX_VD_RAW_16BIT, "RAW_16BIT", 0, "16 bit RAW", ""},
 		{TEX_VD_IMAGE_SEQUENCE, "IMAGE_SEQUENCE", 0, "Image Sequence", "Generate voxels from a sequence of image slices"},
 		{TEX_VD_SMOKE, "SMOKE", 0, "Smoke", "Render voxels from a Blender smoke simulation"},
 		{0, NULL, 0, NULL, NULL}};





More information about the Bf-blender-cvs mailing list