Hi everyone, I wrote this paper. Cool to see it has been posted here already. I want to clarify some points on things other people have mentioned: - This architecture is not as fast as Perlin noise. IMO it is unlikely we will see any significant improvement on Perlin noise without a significant increase in compute, at least for most applications. Nonetheless, this system is not too slow for real-time use. In the Mine…
> in Infinite, Real-Time Terrain Generation My sincerest apologies. The submission disallowed the title in its entirety. It's generally unclear if the guidance for submitters favors omission or rewording. I take full responsibility for omitting those qualifiers.
Terrain Diffusion: A Diffusion-Based Successor to Perlin Noise
21–30 of 44 posts
Re: Terrain Diffusion: A Diffusion-Based Successor to Perlin Noise
#22Hi everyone, I wrote this paper. Cool to see it has been posted here already. I want to clarify some points on things other people have mentioned: - This architecture is not as fast as Perlin noise. IMO it is unlikely we will see any significant improvement on Perlin noise without a significant increase in compute, at least for most applications. Nonetheless, this system is not too slow for real-time use. In the Mine…
The irony of this paper is that the part that isn't geographic (towns, roads, fields, etc) which have non-random ordered structure are the parts that are most suitable for this approach.
Re: Terrain Diffusion: A Diffusion-Based Successor to Perlin Noise
#23Re: Terrain Diffusion: A Diffusion-Based Successor to Perlin Noise
#24Earlier quoted context omitted.
I came here to say this. My masters was on procedural generation. Perlin, fBm, etc. The things these noise functions have that an LLM doesn’t is speed. 1-D perlin is just a dozen or so multiplications with a couple random coefficients. The GPU can do 4-D Perlin all day long every frame taking up a 4096x4096x32 texture volume. While I do like the erosion effects and all, having a few height texture brushes that have t…
My masters was also on procedural generation. Now I wonder how many of us are out there. At any rate, given that this paper divides the terrain in regions and apparently seeds each region deterministically, it looks like one could implement a look-ahead that spawns the generation on async compute in Vulkan and lets it cook as the camera flies about.
In any case, like I said, I welcome any new advances in this area. Overhang being the biggest issue with procedural gen quad terrain. Voxel doesn’t have that issue but then suffers from lack of fine detail.
Re: Terrain Diffusion: A Diffusion-Based Successor to Perlin Noise
#25Earlier quoted context omitted.
I came here to say this. My masters was on procedural generation. Perlin, fBm, etc. The things these noise functions have that an LLM doesn’t is speed. 1-D perlin is just a dozen or so multiplications with a couple random coefficients. The GPU can do 4-D Perlin all day long every frame taking up a 4096x4096x32 texture volume. While I do like the erosion effects and all, having a few height texture brushes that have t…
My masters was also on procedural generation. Now I wonder how many of us are out there. At any rate, given that this paper divides the terrain in regions and apparently seeds each region deterministically, it looks like one could implement a look-ahead that spawns the generation on async compute in Vulkan and lets it cook as the camera flies about.
Re: Terrain Diffusion: A Diffusion-Based Successor to Perlin Noise
#26Re: Terrain Diffusion: A Diffusion-Based Successor to Perlin Noise
#27Earlier quoted context omitted.
I came here to say this. My masters was on procedural generation. Perlin, fBm, etc. The things these noise functions have that an LLM doesn’t is speed. 1-D perlin is just a dozen or so multiplications with a couple random coefficients. The GPU can do 4-D Perlin all day long every frame taking up a 4096x4096x32 texture volume. While I do like the erosion effects and all, having a few height texture brushes that have t…
My masters was also on procedural generation. Now I wonder how many of us are out there. At any rate, given that this paper divides the terrain in regions and apparently seeds each region deterministically, it looks like one could implement a look-ahead that spawns the generation on async compute in Vulkan and lets it cook as the camera flies about.
Re: Terrain Diffusion: A Diffusion-Based Successor to Perlin Noise
#28Hi everyone, I wrote this paper. Cool to see it has been posted here already. I want to clarify some points on things other people have mentioned: - This architecture is not as fast as Perlin noise. IMO it is unlikely we will see any significant improvement on Perlin noise without a significant increase in compute, at least for most applications. Nonetheless, this system is not too slow for real-time use. In the Mine…
Re: Terrain Diffusion: A Diffusion-Based Successor to Perlin Noise
#29I wonder what it would take to adapt a model like this to generate non-Earthlike terrain. For example, if you were using it to make planets without atmospheres and without water cycles, or planets like Io with rampant volcanism.
I learned a lot from his papers and demo code, and based the design of The Sims character animation system on his Improv project.
https://mrl.cs.nyu.edu/~perlin/ (expired https cert)
https://web.archive.org/web/20001011065024/http://mrl.nyu.ed...
Here's a more recent blog post about a new one using WebGL, Dragon Planet:
https://blog.kenperlin.com/?p=12821
Here's another blog post about how he's been updating his classic Java applets by rewriting them in JavaScript:
Re: Terrain Diffusion: A Diffusion-Based Successor to Perlin Noise
#30Earlier quoted context omitted.
In practice you can use 2d generation on spheres with simple UV mapping techniques. Your pixel height becomes distance from the sphere origin.
Will it not get all bunched up near the poles though? and maybe have seam where the ends of the tiles meet? edit: Perlin noise and similar noise functions can be sampled in 3d which sorta fixes the issues i mention , and higher dimensions but i am not sure how that would be used.