What Makes A Good Terrain Material

What features would you consider the most useful in a terrain material? For example:

  • pbr
  • tri planar mapping
  • angle-based texturing
  • height-based texturing
  • texture painting
  • etc

I’d just be interested in what we’re the most useful to people these days, or if there were any other ideas floating around.

For my project, terrain is only visible as a background. I need PBR (no metallicity) and texture scaling. At some point, I’ll probably want texture painting also.

here need heightbased/tileable terrain that use tri-plannar / pbr / parallax / texture painting / ability to make “holes” and ofc proper LOD / physics CS recalculating.

but i belive most people like use voxel/isosurface worlds that libs already exist.

The most important part for me usually is texture painting - It’s a must have to have a good solution for that in my opinion.

I think a thing I see a lot of requests for is ‘splatting’… and while there are many ways to do it, almost all of them rely on specific knowledge of how the terrain mesh was constructed or specifically being able to insert themselves into the shader and so on.

…so it might be worth thinking about either including it as a feature or at least being transparent about how it could be done.

How does splatting differ from texture painting?

Maybe I misunderstand what texture painting is.

My idea of painting is using an alpha map and 3 textures.

The primary texture is drawn. You draw on the alpha map - and it decides which of the other 3 texture go where. You could have multiple alpha maps.

But that’s different than splatting. So I’m curious what other folks mean.

I’d definitely like to read/talk about any technique tbh. I’d be interested to learn.

I guess vertex painting could work with some noise to deviate the positions and maybe some effects like this. You might not even notice the vertex positions.

My understanding was that “texture painting” was referring to painting the different X “default” textures of the terrain. So earth, grass, rock etc.
And “splatting” was the addition of other textures on top, that don’t belong to the terrain - The best example I could give is the spray logos that you had in shooters like CounterStrike, that you could put anywhere on the map. Or maybe one of these black explosion marks on top of the terrain, that slowly fades out. Pretty much anything that you paint “on top” of the ground, but that isn’t part of the ground itself.

But I might be wrong, at least that’s what I was referring to. For me, the texture painting part is obviously the most important one, because well, these are the ground textures. The additional textures on top (splatting) is a very very very huge and nice feature, but it’s a feature.

Yeah, that’s right. Sometimes splatting is also called “decals” but I like “splatting” better because it’s often something you want to add to the terrain at runtime.

The gamasutra link is abusing the term for “texture blending”. (Which is also important, TBH.)

Splats can be all kinds of things as you mentioned. Some others, leaves, foot prints, scattered paper, etc…

The issue is that all of the good ways to implement those efficiently need to be hooked into the terrain directly, either by doing fun stuff in the shader or by extrapolating mesh parts, and so on. General “works with any mesh” solutions tend to be suboptimal for blasting a bunch of permanent/semi-permanent ‘decals’ onto the terrain.