[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