[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