[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49216] branches/smoke2/intern/cycles/ blender: Reorganize some code + fix "use_volumetric" flag ( true if smoke is used, false if not)

Daniel Genrich daniel.genrich at gmx.net
Wed Jul 25 18:44:43 CEST 2012


Revision: 49216
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49216
Author:   genscher
Date:     2012-07-25 16:44:43 +0000 (Wed, 25 Jul 2012)
Log Message:
-----------
Reorganize some code + fix "use_volumetric" flag (true if smoke is used, false if not)

Modified Paths:
--------------
    branches/smoke2/intern/cycles/blender/blender_object.cpp
    branches/smoke2/intern/cycles/blender/blender_smoke.cpp

Modified: branches/smoke2/intern/cycles/blender/blender_object.cpp
===================================================================
--- branches/smoke2/intern/cycles/blender/blender_object.cpp	2012-07-25 16:37:24 UTC (rev 49215)
+++ branches/smoke2/intern/cycles/blender/blender_object.cpp	2012-07-25 16:44:43 UTC (rev 49216)
@@ -255,6 +255,7 @@
 		object->motion.pre = tfm;
 		object->motion.post = tfm;
 		object->use_motion = false;
+		object->use_volume = false;
 
 		object->random_id = hash_int_2d(hash_string(object->name.c_str()), b_index);
 
@@ -278,8 +279,11 @@
 		if (object_use_particles(b_ob))
 			sync_particles(object, b_ob);
 
-		// if(BKE_modifiers_isSmokeEnabled(b_ob))
-		// 	sync_smoke(object, b_ob);
+		if(BKE_modifiers_isSmokeEnabled(b_ob))
+		{
+			object->use_volume = true;
+			sync_smoke(object, b_ob);
+		}
 	
 		object->tag_update(scene);
 	}

Modified: branches/smoke2/intern/cycles/blender/blender_smoke.cpp
===================================================================
--- branches/smoke2/intern/cycles/blender/blender_smoke.cpp	2012-07-25 16:37:24 UTC (rev 49215)
+++ branches/smoke2/intern/cycles/blender/blender_smoke.cpp	2012-07-25 16:44:43 UTC (rev 49216)
@@ -74,22 +74,14 @@
 	BL::SmokeModifier *smd = get_smoke(b_ob);
 	BL::SmokeDomainSettings sds = smd->domain_settings();
 
+	ob->grid.clear();
 	ob->resolution = get_int3(sds.domain_resolution());
 
-	// int rna_SmokeModifier_density_get_length(PointerRNA *ptr, int length[RNA_MAX_ARRAY_DIMENSION]);
-	// void rna_SmokeModifier_density_get(PointerRNA *ptr, float *values);
-
 	int length[3];
 	int numcells = rna_SmokeModifier_density_get_length(&sds.ptr, length);
-	
-	ob->grid.clear();
 
-	if(numcells == 0)
-		ob->use_volume = false; // still needs to be rendered transparent!
-	else
+	if(numcells != 0)
 	{
-		ob->use_volume = true;
-
 		vector<float> &grid = ob->grid;
 		grid.reserve(numcells);
 		grid.resize(numcells);




More information about the Bf-blender-cvs mailing list