diff options
author | Daniel Genrich <daniel.genrich@gmx.net> | 2012-08-02 00:29:37 +0400 |
---|---|---|
committer | Daniel Genrich <daniel.genrich@gmx.net> | 2012-08-02 00:29:37 +0400 |
commit | 8a0f6aa2f27c84e12def8a0f0a0b408563afb192 (patch) | |
tree | 717f3e28276871712520fca58e6861c74ddc0c7a /intern | |
parent | 6a6bcea81765976e902a4bac99ff9cbcd0faed55 (diff) |
Bugfix: High resolution "exploded" when using uneven resolutions, sometimes with specific object scaling.
Part of Smoke Development Phase III.
Credit also goes to MiikaH: It was a teamwork effort and took days to track down. :)
Diffstat (limited to 'intern')
-rw-r--r-- | intern/smoke/intern/WAVELET_NOISE.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/intern/smoke/intern/WAVELET_NOISE.h b/intern/smoke/intern/WAVELET_NOISE.h index 66dfb95d143..4806c6a9fc1 100644 --- a/intern/smoke/intern/WAVELET_NOISE.h +++ b/intern/smoke/intern/WAVELET_NOISE.h @@ -107,7 +107,7 @@ static void downsampleNeumann(const float *from, float *to, int n, int stride) // if these values are not local incorrect results are generated float downCoeffs[32] = { DOWNCOEFFS }; const float *const aCoCenter= &downCoeffs[16]; - for (int i = 0; i < n / 2; i++) { + for (int i = 0; i < ceil((float)n / 2); i++) { to[i * stride] = 0; for (int k = 2 * i - 16; k < 2 * i + 16; k++) { // handle boundary |