Noise: Fix interpolation at negative coordinates

master
kwolekr 2015-05-17 00:04:51 -04:00
parent c00b6812b1
commit 28b2476b11
1 changed files with 4 additions and 2 deletions

View File

@ -590,8 +590,9 @@ void Noise::gradientMap2D(
int seed) int seed)
{ {
float v00, v01, v10, v11, u, v, orig_u; float v00, v01, v10, v11, u, v, orig_u;
u32 index, i, j, x0, y0, noisex, noisey; u32 index, i, j, noisex, noisey;
u32 nlx, nly; u32 nlx, nly;
s32 x0, y0;
bool eased = np.flags & (NOISE_FLAG_DEFAULTS | NOISE_FLAG_EASED); bool eased = np.flags & (NOISE_FLAG_DEFAULTS | NOISE_FLAG_EASED);
Interp2dFxn interpolate = eased ? Interp2dFxn interpolate = eased ?
@ -655,8 +656,9 @@ void Noise::gradientMap3D(
float v000, v010, v100, v110; float v000, v010, v100, v110;
float v001, v011, v101, v111; float v001, v011, v101, v111;
float u, v, w, orig_u, orig_v; float u, v, w, orig_u, orig_v;
u32 index, i, j, k, x0, y0, z0, noisex, noisey, noisez; u32 index, i, j, k, noisex, noisey, noisez;
u32 nlx, nly, nlz; u32 nlx, nly, nlz;
s32 x0, y0, z0;
Interp3dFxn interpolate = (np.flags & NOISE_FLAG_EASED) ? Interp3dFxn interpolate = (np.flags & NOISE_FLAG_EASED) ?
triLinearInterpolation : triLinearInterpolationNoEase; triLinearInterpolation : triLinearInterpolationNoEase;