[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [22785] branches/blender2.5/blender: Smoke :
Daniel Genrich
daniel.genrich at gmx.net
Tue Aug 25 23:53:53 CEST 2009
Revision: 22785
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=22785
Author: genscher
Date: 2009-08-25 23:53:52 +0200 (Tue, 25 Aug 2009)
Log Message:
-----------
Smoke:
* Deleting high res modifier again
* fixing smoke + continue physics drawing
* fixing cache reset when changing dissolve
Modified Paths:
--------------
branches/blender2.5/blender/release/ui/buttons_physics_smoke.py
branches/blender2.5/blender/source/blender/blenkernel/BKE_smoke.h
branches/blender2.5/blender/source/blender/blenkernel/intern/modifier.c
branches/blender2.5/blender/source/blender/blenkernel/intern/pointcache.c
branches/blender2.5/blender/source/blender/blenkernel/intern/smoke.c
branches/blender2.5/blender/source/blender/editors/object/object_modifier.c
branches/blender2.5/blender/source/blender/editors/space_buttons/buttons_context.c
branches/blender2.5/blender/source/blender/editors/space_view3d/drawobject.c
branches/blender2.5/blender/source/blender/makesdna/DNA_modifier_types.h
branches/blender2.5/blender/source/blender/makesdna/DNA_smoke_types.h
branches/blender2.5/blender/source/blender/makesrna/RNA_access.h
branches/blender2.5/blender/source/blender/makesrna/intern/rna_modifier.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_smoke.c
Removed Paths:
-------------
branches/blender2.5/blender/source/blender/blenkernel/intern/smokehighres.c
Modified: branches/blender2.5/blender/release/ui/buttons_physics_smoke.py
===================================================================
--- branches/blender2.5/blender/release/ui/buttons_physics_smoke.py 2009-08-25 21:29:17 UTC (rev 22784)
+++ branches/blender2.5/blender/release/ui/buttons_physics_smoke.py 2009-08-25 21:53:52 UTC (rev 22785)
@@ -125,7 +125,7 @@
def poll(self, context):
md = context.smoke
if md:
- return (md.smoke_type == 'TYPE_DOMAIN')
+ return (md.smoke_type == 'TYPE_DOMAIN')
return False
@@ -202,7 +202,7 @@
def draw(self, context):
layout = self.layout
- md = context.smoke_hr
+ md = context.smoke.domain_settings
if md:
@@ -223,12 +223,12 @@
__default_closed__ = True
def poll(self, context):
- return (context.smoke_hr != None)
+ return (context.smoke != None)
def draw(self, context):
layout = self.layout
- md = context.smoke_hr
+ md = context.smoke
if md:
Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_smoke.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_smoke.h 2009-08-25 21:29:17 UTC (rev 22784)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_smoke.h 2009-08-25 21:53:52 UTC (rev 22785)
@@ -40,9 +40,5 @@
void smokeModifier_reset(struct SmokeModifierData *smd);
void smokeModifier_createType(struct SmokeModifierData *smd);
-// high res modifier
-void smokeHRModifier_do(struct SmokeHRModifierData *shrmd, struct Scene *scene, struct Object *ob, int useRenderParams, int isFinalCalc);
-void smokeHRModifier_free(struct SmokeHRModifierData *shrmd);
-
#endif /* BKE_SMOKE_H_ */
Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/modifier.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/modifier.c 2009-08-25 21:29:17 UTC (rev 22784)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/modifier.c 2009-08-25 21:53:52 UTC (rev 22785)
@@ -5879,50 +5879,6 @@
*/
}
-
-/* Smoke High Resolution */
-
-static void smokeHRModifier_initData(ModifierData *md)
-{
- SmokeHRModifierData *shrmd = (SmokeHRModifierData*) md;
-
- shrmd->wt = NULL;
- shrmd->time = -1;
- shrmd->strength = 2.0f;
- shrmd->amplify = 1;
- shrmd->noise = MOD_SMOKE_NOISEWAVE;
- shrmd->point_cache = BKE_ptcache_add(&shrmd->ptcaches);
- shrmd->point_cache->flag |= PTCACHE_DISK_CACHE;
- shrmd->point_cache->step = 1;
-}
-
-static void smokeHRModifier_freeData(ModifierData *md)
-{
- SmokeHRModifierData *shrmd = (SmokeHRModifierData*) md;
-
- smokeHRModifier_free (shrmd);
-}
-
-static void smokeHRModifier_deformVerts(
- ModifierData *md, Object *ob, DerivedMesh *derivedData,
- float (*vertexCos)[3], int numVerts, int useRenderParams, int isFinalCalc)
-{
- SmokeHRModifierData *shrmd = (SmokeHRModifierData*) md;
- smokeHRModifier_do(shrmd, md->scene, ob, useRenderParams, isFinalCalc);
-}
-
-static int smokeHRModifier_dependsOnTime(ModifierData *md)
-{
- return 1;
-}
-
-static void smokeHRModifier_updateDepgraph(
- ModifierData *md, DagForest *forest, Scene *scene, Object *ob,
- DagNode *obNode)
-{
- ;
-}
-
/* Cloth */
static void clothModifier_initData(ModifierData *md)
@@ -8624,18 +8580,6 @@
mti->deformVerts = smokeModifier_deformVerts;
mti->dependsOnTime = smokeModifier_dependsOnTime;
mti->updateDepgraph = smokeModifier_updateDepgraph;
-
- mti = INIT_TYPE(SmokeHR);
- mti->type = eModifierTypeType_OnlyDeform;
- mti->initData = smokeHRModifier_initData;
- mti->freeData = smokeHRModifier_freeData;
- mti->flags = eModifierTypeFlag_AcceptsMesh
- | eModifierTypeFlag_UsesPointCache
- | eModifierTypeFlag_Single
- | eModifierTypeFlag_NoUserAdd;
- mti->deformVerts = smokeHRModifier_deformVerts;
- mti->dependsOnTime = smokeHRModifier_dependsOnTime;
- mti->updateDepgraph = smokeHRModifier_updateDepgraph;
mti = INIT_TYPE(Cloth);
mti->type = eModifierTypeType_Nonconstructive;
Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/pointcache.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/pointcache.c 2009-08-25 21:29:17 UTC (rev 22784)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/pointcache.c 2009-08-25 21:53:52 UTC (rev 22785)
@@ -479,23 +479,6 @@
return 0;
}
-static int ptcache_totpoint_smoke_turbulence(void *smoke_v)
-{
- SmokeHRModifierData *shrmd= (SmokeHRModifierData *)smoke_v;
-
- if(shrmd->wt) {
- /*
- unsigned int res[3];
-
- smoke_turbulence_get_res(sds->wt, res);
- return res[0]*res[1]*res[2];
- */
- return 0;
- }
- else
- return 0;
-}
-
// forward decleration
static int ptcache_file_write(PTCacheFile *pf, void *f, size_t tot, int size);
Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/smoke.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/smoke.c 2009-08-25 21:29:17 UTC (rev 22784)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/smoke.c 2009-08-25 21:53:52 UTC (rev 22785)
@@ -213,6 +213,14 @@
smd->time = scene->r.cfra;
smd->domain->firstframe = smd->time;
+ /*
+ if(!smd->domain->wt)
+ {
+ smd->domain->wt = smoke_turbulence_init(sds->res, smd->domain->amplify + 1, smd->domain->noise);
+ smoke_turbulence_initBlenderRNA(smd->domain->wt, &smd->domain->strength);
+ }
+ */
+
if(!smd->domain->view3d)
{
// TVox is for transparency
@@ -518,6 +526,9 @@
if(smd->domain->fluid)
smoke_free(smd->domain->fluid);
+ if(smd->domain->wt)
+ smoke_turbulence_free(smd->domain->wt);
+
BKE_ptcache_free_list(&smd->domain->ptcaches);
smd->domain->point_cache = NULL;
@@ -585,6 +596,12 @@
smoke_free(smd->domain->fluid);
smd->domain->fluid = NULL;
}
+
+ if(smd->domain->wt)
+ {
+ smoke_turbulence_free(smd->domain->wt);
+ smd->domain->wt = NULL;
+ }
smd->domain->point_cache->flag &= ~PTCACHE_SIMULATION_VALID;
smd->domain->point_cache->flag |= PTCACHE_OUTDATED;
@@ -663,6 +680,10 @@
smd->domain->beta = 0.1;
smd->domain->flags = MOD_SMOKE_DISSOLVE_LOG;
smd->domain->diss_speed = 5;
+ smd->domain->strength = 2.0f;
+ smd->domain->amplify = 1;
+ smd->domain->noise = MOD_SMOKE_NOISEWAVE;
+ smd->domain->wt = NULL;
// init 3dview buffer
smd->domain->view3d = NULL;
@@ -783,6 +804,28 @@
smoke_simulate_domain(smd, scene, ob, dm);
+ {
+ // float light[3] = {0.0,0.0,0.0}; // TODO: take real LAMP coordinates - dg
+ Base *base_tmp = NULL;
+
+ for(base_tmp = scene->base.first; base_tmp; base_tmp= base_tmp->next)
+ {
+ if(base_tmp->object->type == OB_LAMP)
+ {
+ Lamp *la = (Lamp *)base_tmp->object->data;
+
+ if(la->type == LA_LOCAL)
+ {
+ VECCOPY(light, base_tmp->object->obmat[3]);
+ have_lamp = 1;
+ break;
+ }
+ }
+ }
+ }
+
+ smoke_prepare_View(smd, (float)framenr, light, have_lamp);
+
return;
}
@@ -885,11 +928,11 @@
BKE_ptcache_write_cache(&pid, framenr);
- // printf("Writing cache_low\n");
+ // printf("Writing cache_low, %d\n", framenr);
tend();
- printf ( "Frame: %d, Time: %f\n", (int)smd->time, ( float ) tval() );
+ // printf ( "Frame: %d, Time: %f\n", (int)smd->time, ( float ) tval() );
}
}
Deleted: branches/blender2.5/blender/source/blender/blenkernel/intern/smokehighres.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/smokehighres.c 2009-08-25 21:29:17 UTC (rev 22784)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/smokehighres.c 2009-08-25 21:53:52 UTC (rev 22785)
@@ -1,137 +0,0 @@
-/**
- * smokehighres.c
- *
- * $Id$
- *
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * The Original Code is Copyright (C) Blender Foundation.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): Daniel Genrich
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/* Part of the code copied from elbeem fluid library, copyright by Nils Thuerey */
-
-#include "DNA_scene_types.h"
-#include "DNA_listBase.h"
-#include "DNA_modifier_types.h"
-#include "DNA_object_types.h"
-#include "DNA_smoke_types.h"
-
-#include "BKE_modifier.h"
-#include "BKE_smoke.h"
-#include "BKE_pointcache.h"
-
-#include "smoke_API.h"
-
-// we need different handling for the high-res feature
-/*
-if(bigdensity)
-{
- // init all surrounding cells according to amplification, too
- int i, j, k;
-
- smoke_turbulence_get_res(smd->domain->wt, bigres);
-
- for(i = 0; i < smd->domain->amplify + 1; i++)
- for(j = 0; j < smd->domain->amplify + 1; j++)
- for(k = 0; k < smd->domain->amplify + 1; k++)
- {
- index = smoke_get_index((smd->domain->amplify + 1)* cell[0] + i, bigres[0], (smd->domain->amplify + 1)* cell[1] + j, bigres[1], (smd->domain->amplify + 1)* cell[2] + k);
- bigdensity[index] = sfs->density;
- }
-}
-*/
-
-static void smokeHRinit(SmokeHRModifierData *shrmd, SmokeDomainSettings *sds)
-{
- if(!shrmd->wt)
- {
- shrmd->wt = smoke_turbulence_init(sds->res, shrmd->amplify + 1, shrmd->noise);
- smoke_turbulence_initBlenderRNA(shrmd->wt, &shrmd->strength);
- }
-}
-
-void smokeHRModifier_free(SmokeHRModifierData *shrmd)
-{
- if(shrmd->wt)
- smoke_turbulence_free(shrmd->wt);
-
- BKE_ptcache_free_list(&shrmd->ptcaches);
- shrmd->point_cache = NULL;
-}
-
-void smokeHRModifier_do(SmokeHRModifierData *shrmd, Scene *scene, Object *ob, int useRenderParams, int isFinalCalc)
-{
- ModifierData *md = NULL;
- SmokeModifierData *smd = NULL;
- SmokeDomainSettings *sds = NULL;
-
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list