Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Genrich <daniel.genrich@gmx.net>2009-09-14 04:01:08 +0400
committerDaniel Genrich <daniel.genrich@gmx.net>2009-09-14 04:01:08 +0400
commit9f5e42ff7622b5b2dd0ef711769ecc541126efb5 (patch)
tree7dcc51237ae081122bebccd76e904ef39b497760 /intern/smoke
parentcf20399993566ce15b4af8c558394eb3a6e391c8 (diff)
Smoke:
* Totally new try to get cache running * Didn't try "bake" and such things yet Hint * Very verbose yet * Please do only test new blend files, not old ones! Please give me feedback on my blog about the old crashers.
Diffstat (limited to 'intern/smoke')
-rw-r--r--intern/smoke/intern/FLUID_3D.cpp3
-rw-r--r--intern/smoke/intern/FLUID_3D.h2
-rw-r--r--intern/smoke/intern/FLUID_3D_STATIC.cpp18
-rw-r--r--intern/smoke/intern/smoke_API.cpp3
4 files changed, 13 insertions, 13 deletions
diff --git a/intern/smoke/intern/FLUID_3D.cpp b/intern/smoke/intern/FLUID_3D.cpp
index 7574a0ec16e..8a32eaa2e68 100644
--- a/intern/smoke/intern/FLUID_3D.cpp
+++ b/intern/smoke/intern/FLUID_3D.cpp
@@ -182,6 +182,9 @@ void FLUID_3D::initBlenderRNA(float *alpha, float *beta)
//////////////////////////////////////////////////////////////////////
void FLUID_3D::step()
{
+ // addSmokeTestCase(_density, _res);
+ // addSmokeTestCase(_heat, _res);
+
// wipe forces
for (int i = 0; i < _totalCells; i++)
{
diff --git a/intern/smoke/intern/FLUID_3D.h b/intern/smoke/intern/FLUID_3D.h
index 9d9e7318204..a7be7f58335 100644
--- a/intern/smoke/intern/FLUID_3D.h
+++ b/intern/smoke/intern/FLUID_3D.h
@@ -47,7 +47,7 @@ class FLUID_3D
void initVectorNoise(int amplify);
void addSmokeColumn();
- static void addSmokeTestCase(float* field, Vec3Int res, float value);
+ static void addSmokeTestCase(float* field, Vec3Int res);
void step();
void addObstacle(OBSTACLE* obstacle);
diff --git a/intern/smoke/intern/FLUID_3D_STATIC.cpp b/intern/smoke/intern/FLUID_3D_STATIC.cpp
index 4909c071c3d..2d3ec125c2b 100644
--- a/intern/smoke/intern/FLUID_3D_STATIC.cpp
+++ b/intern/smoke/intern/FLUID_3D_STATIC.cpp
@@ -44,8 +44,8 @@ void FLUID_3D::addSmokeColumn() {
// generic static version, so that it can be applied to the
// WTURBULENCE grid as well
//////////////////////////////////////////////////////////////////////
-/*
-void FLUID_3D::addSmokeTestCase(float* field, Vec3Int res, float value)
+
+void FLUID_3D::addSmokeTestCase(float* field, Vec3Int res)
{
const int slabSize = res[0]*res[1]; int maxRes = (int)MAX3V(res);
float dx = 1.0f / (float)maxRes;
@@ -57,22 +57,22 @@ void FLUID_3D::addSmokeTestCase(float* field, Vec3Int res, float value)
float heighMin = 0.05;
float heighMax = 0.10;
- for (int y = 0; y < res[1]; y++)
- for (int z = (int)(heighMin*res[2]); z <= (int)(heighMax * res[1]); z++)
+ for (int y = 0; y < res[2]; y++)
+ for (int z = (int)(heighMin*res[2]); z <= (int)(heighMax * res[2]); z++)
for (int x = 0; x < res[0]; x++)
{
float xLength = x * dx - xTotal * 0.4f;
- float yLength = y * dx - zTotal * 0.5f;
+ float yLength = y * dx - yTotal * 0.5f;
float radius = sqrtf(xLength * xLength + yLength * yLength);
if (radius < 0.075f * xTotal)
{
int index = x + y * res[0] + z * slabSize;
- field[index] = value;
+ field[index] = 1.0f;
}
}
}
-*/
+
//////////////////////////////////////////////////////////////////////
// set x direction to Neumann boundary conditions
@@ -295,12 +295,10 @@ void FLUID_3D::advectFieldSemiLagrange(const float dt, const float* velx, const
const int xres = res[0];
const int yres = res[1];
const int zres = res[2];
- static int hits = 0;
- static int total = 0;
const int slabSize = res[0] * res[1];
// scale dt up to grid resolution
-#if PARALLEL==1 && !_WIN32
+#if PARALLEL==1
#pragma omp parallel
#pragma omp for schedule(static)
#endif
diff --git a/intern/smoke/intern/smoke_API.cpp b/intern/smoke/intern/smoke_API.cpp
index 058831dddbb..67df6e805d8 100644
--- a/intern/smoke/intern/smoke_API.cpp
+++ b/intern/smoke/intern/smoke_API.cpp
@@ -81,8 +81,7 @@ extern "C" void smoke_step(FLUID_3D *fluid, size_t framenr)
extern "C" void smoke_turbulence_step(WTURBULENCE *wt, FLUID_3D *fluid)
{
- if(wt)
- wt->stepTurbulenceFull(fluid->_dt/fluid->_dx, fluid->_xVelocity, fluid->_yVelocity, fluid->_zVelocity, fluid->_obstacles);
+ wt->stepTurbulenceFull(fluid->_dt/fluid->_dx, fluid->_xVelocity, fluid->_yVelocity, fluid->_zVelocity, fluid->_obstacles);
}
extern "C" void smoke_initBlenderRNA(FLUID_3D *fluid, float *alpha, float *beta)