[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47913] branches/smoke2/source/blender: - Fix disabled obstacles

Daniel Genrich daniel.genrich at gmx.net
Thu Jun 14 20:04:35 CEST 2012


Revision: 47913
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47913
Author:   genscher
Date:     2012-06-14 18:04:26 +0000 (Thu, 14 Jun 2012)
Log Message:
-----------
- Fix disabled obstacles
- Fix drawing of obstacles_from_derivedmesh

Problems: Obstacles are not airtight yet

Modified Paths:
--------------
    branches/smoke2/source/blender/blenkernel/intern/smoke.c
    branches/smoke2/source/blender/editors/space_view3d/drawvolume.c

Modified: branches/smoke2/source/blender/blenkernel/intern/smoke.c
===================================================================
--- branches/smoke2/source/blender/blenkernel/intern/smoke.c	2012-06-14 16:55:55 UTC (rev 47912)
+++ branches/smoke2/source/blender/blenkernel/intern/smoke.c	2012-06-14 18:04:26 UTC (rev 47913)
@@ -631,6 +631,8 @@
 
 static void obstacles_from_derivedmesh(Object *coll_ob, SmokeDomainSettings *sds, SmokeCollSettings *scs, unsigned char *obstacle_map, float *velocityX, float *velocityY, float *velocityZ, float dt)
 {
+	printf("obstacles_from_derivedmesh\n");
+
 	if (!scs->dm) return;
 	{
 		DerivedMesh *dm = NULL;
@@ -652,6 +654,8 @@
 		mface = dm->getTessFaceArray(dm);
 		numverts = dm->getNumVerts(dm);
 		dvert = dm->getVertDataArray(dm, CD_MDEFORMVERT);
+
+		printf("obstacles_from_derivedmesh with DM\n");
 		
 		// DG TODO
 		// if (sfs->flags & MOD_SMOKE_FLOW_INITVELOCITY) 
@@ -752,6 +756,8 @@
 
 						/* tag obstacle cells */
 						obstacle_map[index] = 1 | 8;
+
+						// DEBUG printf("added obstacle\n");
 					}
 				}
 			}
@@ -816,7 +822,7 @@
 
 		// DG TODO: check if modifier is active?
 		
-		if((smd2->type & MOD_SMOKE_TYPE_COLL) && smd2->coll && smd2->coll->verts_old)
+		if((smd2->type & MOD_SMOKE_TYPE_COLL) && smd2->coll)
 		{
 			SmokeCollSettings *scs = smd2->coll;
 			
@@ -1275,6 +1281,8 @@
 
 			smd->coll->dm = CDDM_copy(dm);
 			DM_ensure_tessface(smd->coll->dm);
+
+			printf("Collision: Created dm!\n");
 		}
 
 		if(scene->r.cfra > smd->time)

Modified: branches/smoke2/source/blender/editors/space_view3d/drawvolume.c
===================================================================
--- branches/smoke2/source/blender/editors/space_view3d/drawvolume.c	2012-06-14 16:55:55 UTC (rev 47912)
+++ branches/smoke2/source/blender/editors/space_view3d/drawvolume.c	2012-06-14 18:04:26 UTC (rev 47913)
@@ -516,17 +516,21 @@
 
 				float pos[3] = {min[0]+((float)x + 0.5f)*cell_size, min[1]+((float)y + 0.5f)*cell_size, min[2]+((float)z + 0.5f)*cell_size};
 
-				if (heat[index] >= 0.01f) {
-					//float col_gb = 1.0f - heat[index];
-					//CLAMP(0, 0.0f, 1.0f);
-					// glColor3f(1.0f, col_gb, col_gb);
+				if (heat[index] > 0) {
+					GLUquadricObj *qobj = gluNewQuadric();
+					gluQuadricDrawStyle(qobj, GLU_FILL);
+
 					glColor3f(0, 0, 1.0f);
-					// glPointSize(24.0f * heat[index]);
-					glPointSize(0.01f);
+					
+					glPushMatrix();
 
-					glBegin(GL_POINTS);
-					glVertex3f(pos[0], pos[1], pos[2]);
-					glEnd();
+					glTranslatef(pos[0], pos[1], pos[2]);
+					glScalef(domain->dx * domain->scale * 0.1, domain->dx * domain->scale * 0.1, domain->dx * domain->scale * 0.1);
+					gluSphere(qobj, 1.0, 8, 5);	
+
+					glPopMatrix();
+	
+					gluDeleteQuadric(qobj);
 				}
 	}
 }
\ No newline at end of file




More information about the Bf-blender-cvs mailing list