diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/display/nr-filter-turbulence.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/display/nr-filter-turbulence.cpp b/src/display/nr-filter-turbulence.cpp index a2a8c5756..19dedb67c 100644 --- a/src/display/nr-filter-turbulence.cpp +++ b/src/display/nr-filter-turbulence.cpp @@ -64,8 +64,10 @@ public: for (i = 0; i < BSize; ++i) { _latticeSelector[i] = i; - _gradient[i][k][0] = static_cast<double>(_random() % (BSize*2) - BSize) / BSize; - _gradient[i][k][1] = static_cast<double>(_random() % (BSize*2) - BSize) / BSize; + do { + _gradient[i][k][0] = static_cast<double>(_random() % (BSize*2) - BSize) / BSize; + _gradient[i][k][1] = static_cast<double>(_random() % (BSize*2) - BSize) / BSize; + } while(_gradient[i][k][0] == 0 && _gradient[i][k][1] == 0); // normalize gradient double s = hypot(_gradient[i][k][0], _gradient[i][k][1]); |
