@@ -155,9 +155,9 @@ namespace cudaNoise {
155
155
156
156
// Device constants for noise
157
157
158
- __device__ __constant__ float gradMap[12 ][3 ] = { { 1 .0f , 1 .0f , 0 .0f },{ -1 .0f , 1 .0f , 0 .0f },{ 1 .0f , -1 .0f , 0 .0f },{ -1 .0f , -1 .0f , 0 .0f },
158
+ __device__ __constant__ float gradMap[16 ][3 ] = { { 1 .0f , 1 .0f , 0 .0f },{ -1 .0f , 1 .0f , 0 .0f },{ 1 .0f , -1 .0f , 0 .0f },{ -1 .0f , -1 .0f , 0 .0f },
159
159
{ 1 .0f , 0 .0f , 1 .0f },{ -1 .0f , 0 .0f , 1 .0f },{ 1 .0f , 0 .0f , -1 .0f },{ -1 .0f , 0 .0f , -1 .0f },
160
- { 0 .0f , 1 .0f , 1 .0f },{ 0 .0f , -1 .0f , 1 .0f },{ 0 .0f , 1 .0f , -1 .0f },{ 0 .0f , -1 .0f , -1 .0f } };
160
+ { 0 .0f , 1 .0f , 1 .0f },{ 0 .0f , -1 .0f , 1 .0f },{ 0 .0f , 1 .0f , -1 .0f },{ 0 .0f , -1 .0f , -1 .0f }};
161
161
162
162
// Helper functions for noise
163
163
@@ -282,15 +282,10 @@ namespace cudaNoise {
282
282
float y3 = y0 - 1 .0f + 3 .0f *G3;
283
283
float z3 = z0 - 1 .0f + 3 .0f *G3;
284
284
285
- // Work out the hashed gradient indices of the four simplex corners
286
- int ii = i & 255 ;
287
- int jj = j & 255 ;
288
- int kk = k & 255 ;
289
-
290
- int gi0 = calcPerm12 (seed + ii + calcPerm (seed + jj + calcPerm (seed + kk)));
291
- int gi1 = calcPerm12 (seed + ii + i1 + calcPerm (seed + jj + j1 + calcPerm (seed + kk + k1)));
292
- int gi2 = calcPerm12 (seed + ii + i2 + calcPerm (seed + jj + j2 + calcPerm (seed + kk + k2)));
293
- int gi3 = calcPerm12 (seed + ii + 1 + calcPerm (seed + jj + 1 + calcPerm (seed + kk + 1 )));
285
+ int gi0 = calcPerm12 (seed + (i * 607495 ) + (j * 359609 ) + (k * 654846 ));
286
+ int gi1 = calcPerm12 (seed + (i + i1) * 607495 + (j + j1 ) * 359609 + (k + k1) * 654846 );
287
+ int gi2 = calcPerm12 (seed + (i + i2) * 607495 + (j + j2) * 359609 + (k + k2) * 654846 );
288
+ int gi3 = calcPerm12 (seed + (i + 1 ) * 607495 + (j + 1 ) * 359609 + (k + 1 ) * 654846 );
294
289
295
290
// Calculate the contribution from the four corners
296
291
float t0 = 0 .6f - x0 * x0 - y0 * y0 - z0 * z0;
0 commit comments