[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47004] trunk/blender/source/blender: Fixed smoke 3D-view issues: Preview became invisible from certain angles if domain size was < 1. 0 and density+shading strength changed depended on domain size.
Miika Hamalainen
miika.hamalainen at kolumbus.fi
Fri May 25 11:40:56 CEST 2012
Revision: 47004
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47004
Author: miikah
Date: 2012-05-25 09:40:56 +0000 (Fri, 25 May 2012)
Log Message:
-----------
Fixed smoke 3D-view issues: Preview became invisible from certain angles if domain size was < 1.0 and density+shading strength changed depended on domain size.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/smoke.c
trunk/blender/source/blender/editors/space_view3d/drawobject.c
trunk/blender/source/blender/editors/space_view3d/drawvolume.c
Modified: trunk/blender/source/blender/blenkernel/intern/smoke.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/smoke.c 2012-05-25 09:26:47 UTC (rev 47003)
+++ trunk/blender/source/blender/blenkernel/intern/smoke.c 2012-05-25 09:40:56 UTC (rev 47004)
@@ -1809,7 +1809,7 @@
if((int)smd->time == startframe && (cache->flag & PTCACHE_OUTDATED || cache->last_exact==0)) {
// create shadows straight after domain initialization so we get nice shadows for startframe, too
if(get_lamp(scene, light))
- smoke_calc_transparency(sds->shadow, smoke_get_density(sds->fluid), sds->p0, sds->p1, sds->res, sds->dx * sds->scale, light, calc_voxel_transp, -7.0*sds->dx * sds->scale);
+ smoke_calc_transparency(sds->shadow, smoke_get_density(sds->fluid), sds->p0, sds->p1, sds->res, sds->dx, light, calc_voxel_transp, -7.0*sds->dx);
if(sds->wt)
{
@@ -1840,7 +1840,7 @@
// create shadows before writing cache so they get stored
if(get_lamp(scene, light))
- smoke_calc_transparency(sds->shadow, smoke_get_density(sds->fluid), sds->p0, sds->p1, sds->res, sds->dx * sds->scale, light, calc_voxel_transp, -7.0*sds->dx * sds->scale);
+ smoke_calc_transparency(sds->shadow, smoke_get_density(sds->fluid), sds->p0, sds->p1, sds->res, sds->dx, light, calc_voxel_transp, -7.0*sds->dx);
if(sds->wt)
{
Modified: trunk/blender/source/blender/editors/space_view3d/drawobject.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawobject.c 2012-05-25 09:26:47 UTC (rev 47003)
+++ trunk/blender/source/blender/editors/space_view3d/drawobject.c 2012-05-25 09:40:56 UTC (rev 47004)
@@ -6960,7 +6960,7 @@
GPU_create_smoke(smd, 0);
draw_volume(ar, smd->domain->tex,
smd->domain->p0, smd->domain->p1,
- smd->domain->res, smd->domain->dx * smd->domain->scale,
+ smd->domain->res, smd->domain->dx,
smd->domain->tex_shadow);
GPU_free_smoke(smd);
// #endif
@@ -7013,7 +7013,7 @@
GPU_create_smoke(smd, 1);
draw_volume(ar, smd->domain->tex,
smd->domain->p0, smd->domain->p1,
- smd->domain->res_wt, smd->domain->dx_wt * smd->domain->scale,
+ smd->domain->res_wt, smd->domain->dx_wt,
smd->domain->tex_shadow);
GPU_free_smoke(smd);
}
Modified: trunk/blender/source/blender/editors/space_view3d/drawvolume.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawvolume.c 2012-05-25 09:26:47 UTC (rev 47003)
+++ trunk/blender/source/blender/editors/space_view3d/drawvolume.c 2012-05-25 09:40:56 UTC (rev 47004)
@@ -319,9 +319,9 @@
for (i = 0; i < 8; i++) {
float x, y, z;
- x = cv[i][0] - viewnormal[0];
- y = cv[i][1] - viewnormal[1];
- z = cv[i][2] - viewnormal[2];
+ x = cv[i][0] - viewnormal[0]*size[0]*0.5f;
+ y = cv[i][1] - viewnormal[1]*size[1]*0.5f;
+ z = cv[i][2] - viewnormal[2]*size[2]*0.5f;
if ((x >= min[0]) && (x <= max[0]) &&
(y >= min[1]) && (y <= max[1]) &&
@@ -373,7 +373,7 @@
/* d0 = (viewnormal[0]*cv[i][0] + viewnormal[1]*cv[i][1] + viewnormal[2]*cv[i][2]); */ /* UNUSED */
ds = (ABS(viewnormal[0]) * size[0] + ABS(viewnormal[1]) * size[1] + ABS(viewnormal[2]) * size[2]);
- dd = 0.05; // ds/512.0f;
+ dd = ds/96.f;
n = 0;
good_index = i;
More information about the Bf-blender-cvs
mailing list