[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33659] trunk/blender/source/blender: Fix for [#25198] Smoke gets shown before simulation starts
Janne Karhu
jhkarh at gmail.com
Tue Dec 14 15:45:56 CET 2010
Revision: 33659
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33659
Author: jhk
Date: 2010-12-14 15:45:56 +0100 (Tue, 14 Dec 2010)
Log Message:
-----------
Fix for [#25198] Smoke gets shown before simulation starts
* Smoke is now only drawn/rendered after the simulation frame range starts.
* This does not apply to simulation end frame though, so that any remaining smoke can for example be faded away nicely through material settings.
Modified Paths:
--------------
trunk/blender/source/blender/editors/space_view3d/drawobject.c
trunk/blender/source/blender/render/intern/source/voxeldata.c
Modified: trunk/blender/source/blender/editors/space_view3d/drawobject.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawobject.c 2010-12-14 13:56:10 UTC (rev 33658)
+++ trunk/blender/source/blender/editors/space_view3d/drawobject.c 2010-12-14 14:45:56 UTC (rev 33659)
@@ -6119,7 +6119,9 @@
// only draw domains
if(smd->domain && smd->domain->fluid)
{
- if(!smd->domain->wt || !(smd->domain->viewsettings & MOD_SMOKE_VIEW_SHOWBIG))
+ if(CFRA < smd->domain->point_cache[0]->startframe)
+ ; /* don't show smoke before simulation starts, this could be made an option in the future */
+ else if(!smd->domain->wt || !(smd->domain->viewsettings & MOD_SMOKE_VIEW_SHOWBIG))
{
// #if 0
smd->domain->tex = NULL;
Modified: trunk/blender/source/blender/render/intern/source/voxeldata.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/voxeldata.c 2010-12-14 13:56:10 UTC (rev 33658)
+++ trunk/blender/source/blender/render/intern/source/voxeldata.c 2010-12-14 14:45:56 UTC (rev 33659)
@@ -47,6 +47,7 @@
#include "smoke_API.h"
#include "DNA_texture_types.h"
+#include "DNA_object_force.h"
#include "DNA_object_types.h"
#include "DNA_modifier_types.h"
#include "DNA_smoke_types.h"
@@ -179,7 +180,7 @@
return 1;
}
-static void init_frame_smoke(VoxelData *vd)
+static void init_frame_smoke(VoxelData *vd, float cfra)
{
Object *ob;
ModifierData *md;
@@ -195,8 +196,9 @@
if(smd->domain && smd->domain->fluid) {
-
- if (vd->smoked_type == TEX_VD_SMOKEHEAT) {
+ if(cfra < smd->domain->point_cache[0]->startframe)
+ ; /* don't show smoke before simulation starts, this could be made an option in the future */
+ else if (vd->smoked_type == TEX_VD_SMOKEHEAT) {
int totRes;
float *heat;
int i;
@@ -294,7 +296,7 @@
load_frame_image_sequence(vd, tex);
return;
case TEX_VD_SMOKE:
- init_frame_smoke(vd);
+ init_frame_smoke(vd, re->r.cfra);
return;
case TEX_VD_BLENDERVOXEL:
BLI_path_abs(path, G.main->name);
More information about the Bf-blender-cvs
mailing list