-
Notifications
You must be signed in to change notification settings - Fork 87
Feature request: 4D Noise #33
Comments
While i like the idea of 4d noise, using the 4d-donut-method to produce 2d seamless noise using this library would be very inefficient - to generate a 512x512 seamless tile you would need a 512x512x512x512 array of noise - that would be 256GB ... |
@ninnghazad I know too little of the inner workings of the library, but if it supported 4D noise, I definitely wouldn't generate the entire space, but a beforehand computed set of coordinates. Maybe I'm overlooking something really obvious in how this library leverages SIMD, but if it were a possibility to generated a vastly reduced array of values, I believe this to be a beneficial feature. |
FastNoise SIMD already supports passing in an array of positions to generate at, the hardest bit of 4D noise would be making an SIMD friendly gradient function. It's something I'm looking into with my new version of FastNoise |
that sounds nice. so one could already produce seamless 2d tiles by providing a grid of coordinates mapped to a torus in euclidean 3d. that would show some distortion, but might be ok with proper scaling. when 4d noise with custom coordinates becomes available one could map 2d coords to a clifford torus in 4d and get distortion free tiles. gotta try this for seamless 1d 'strings' through 2d space. |
You also need 4D when you have 3D solid noise on some 3D geometry and you want to animate/change this over time. In such cases you point sample the noise and don't request 'blocks' of noise of certain size that need to fit in memory. |
I saw that your FastNoise library supports certain noise functions up to 4D. Would it be possible to implement 4D in FastNoiseSIMD?
4D implementations would help in creating seamless tiling 2D textures. (If more dimensions are possible it could even produce tiling in 3D)
The text was updated successfully, but these errors were encountered: