[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52680] trunk/blender/source/blender/ blenkernel/intern: Fix #33353: Smoke color problems with adaptive domain
Miika Hamalainen
miika.hamalainen at kolumbus.fi
Fri Nov 30 12:01:15 CET 2012
Revision: 52680
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52680
Author: miikah
Date: 2012-11-30 11:01:14 +0000 (Fri, 30 Nov 2012)
Log Message:
-----------
Fix #33353: Smoke color problems with adaptive domain
High resolution cache didn't always read all written data fields which caused colors to get messed up.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/pointcache.c
trunk/blender/source/blender/blenkernel/intern/smoke.c
Modified: trunk/blender/source/blender/blenkernel/intern/pointcache.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/pointcache.c 2012-11-30 09:12:10 UTC (rev 52679)
+++ trunk/blender/source/blender/blenkernel/intern/pointcache.c 2012-11-30 11:01:14 UTC (rev 52680)
@@ -686,7 +686,7 @@
/* reallocate fluid if needed*/
if (reallocate) {
- sds->active_fields = active_fields;
+ sds->active_fields = active_fields | cache_fields;
smoke_reallocate_fluid(sds, ch_dx, ch_res, 1);
sds->dx = ch_dx;
VECCOPY(sds->res, ch_res);
@@ -755,6 +755,7 @@
if (cache_fields & SM_ACTIVE_FIRE) {
ptcache_file_compressed_read(pf, (unsigned char *)flame, out_len_big);
ptcache_file_compressed_read(pf, (unsigned char *)fuel, out_len_big);
+ ptcache_file_compressed_read(pf, (unsigned char *)react, out_len_big);
}
if (cache_fields & SM_ACTIVE_COLORS) {
ptcache_file_compressed_read(pf, (unsigned char *)r, out_len_big);
Modified: trunk/blender/source/blender/blenkernel/intern/smoke.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/smoke.c 2012-11-30 09:12:10 UTC (rev 52679)
+++ trunk/blender/source/blender/blenkernel/intern/smoke.c 2012-11-30 11:01:14 UTC (rev 52680)
@@ -165,7 +165,7 @@
void smoke_reallocate_fluid(SmokeDomainSettings *sds, float dx, int res[3], int free_old)
{
int use_heat = (sds->active_fields & SM_ACTIVE_HEAT);
- int use_fire = (sds->active_fields & (SM_ACTIVE_HEAT | SM_ACTIVE_FIRE));
+ int use_fire = (sds->active_fields & SM_ACTIVE_FIRE);
int use_colors = (sds->active_fields & SM_ACTIVE_COLORS);
if (free_old && sds->fluid)
More information about the Bf-blender-cvs
mailing list