Live data from Hacker News

Terrain Diffusion: A Diffusion-Based Successor to Perlin Noise

arxiv.org

11–20 of 44 posts

Re: Terrain Diffusion: A Diffusion-Based Successor to Perlin Noise

#11
post #3

I 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.

In practice you can use 2d generation on spheres with simple UV mapping techniques. Your pixel height becomes distance from the sphere origin.

Re: Terrain Diffusion: A Diffusion-Based Successor to Perlin Noise

#12

Mm. This paper makes it hard to understand what they've done. For example: > MultiDiffusion remains confined to bounded domains: all windows must lie within a fixed finite canvas, limiting its applicability to unbounded worlds or continuously streamed environments. > We introduce InfiniteDiffusion, an extension of MultiDiffusion that lifts this constraint. By reformulating the sampling process to operate over an effe…

Very common in ML research these days - claim novelty / cite prior work in an obfuscated way and so on.

Re: Terrain Diffusion: A Diffusion-Based Successor to Perlin Noise

#13
post #3

I 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.

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.

Re: Terrain Diffusion: A Diffusion-Based Successor to Perlin Noise

#14
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 Minecraft integration, for instance, the bottleneck in generation speed is by far Minecraft's own generation logic (on one RTX 3090 Ti).

- I agree that this is not "production-ready" for most tasks. The main issue is that (1) terrain is generated at realistic scales, which are too big for most applications, and (2) the only control the user has is the initial elevation map, which is very coarse. Thankfully, I expect both of these issues to be fixed pretty quickly. (1) is more specific to terrain generation, but I have a number of ideas on how to fix it. (2) is mostly an issue simply because I did not have the time to engineer a system with this many features (and as-is, the system is quite dense). I believe a lot of existing work on diffusion conditioning could be adapted here.

- The post title misses one key part of the paper title: "in Infinite, Real-Time Terrain Generation." I don't expect this to replace perlin noise in other applications. And for bounded generation, manual workflows are still superior.

- The top level input is perlin noise because it is genuinely the best tool for generating terrain at continental scale. If I had more time on my hands, I would like to use some sort of plate tectonics simulator to generate that layout, but for something simple, reasonably realistic, and infinite, perlin noise is pretty much unbeatable. Even learned methods perform on-par with perlin noise at this scale because the data is so simple.

Re: Terrain Diffusion: A Diffusion-Based Successor to Perlin Noise

#15
post #2

This is really awesome, actually! It looks great, very diverse, and clearly is scalable to extremely large maps. Props for testing the generation out on Minecraft - where terrain generation really matters.

No it's not. The whole presentation of it is confusing. Sorry.

This is a low quality, extremely low quality comment. What in particular did you find confusing?

Re: Terrain Diffusion: A Diffusion-Based Successor to Perlin Noise

#16

It's interesting but i can't see it replacing Perlin or Simplex noise which are used for more than just terrain generation. edit: I don't think i have the vocabulary to describe other issues i have other than it doesn't feel like the right way to "solve" this problem. I'd prefer something that was entirely code rather than requiring training, and possibly retraining to get what i want. edit2: Also is this entirely fl…

> Also is this entirely flat?

Yes.

The output in this case is a 90m heightmap (ie. 2d grayscale image).

Re: Terrain Diffusion: A Diffusion-Based Successor to Perlin Noise

#17

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…

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

#18

Earlier 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.

Yes, to generate a whole planet it is a much better idea to use something like a cube map.

Re: Terrain Diffusion: A Diffusion-Based Successor to Perlin Noise

#19

I worked on something very similar for my master's degree. The problem I could never solve was the speed, and from reading the paper it doesn't seem like they managed to solve that either. In the end, for my work, and I expect for this work, it is only usable for pre generated terrains and in that case you are up against very mature ecosystems with a lot of tooling to manipulate and control terrain generation. It'll…

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

#20

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.

Post reply on HN