I'm rendering a big land mass to be viewed from high altitude (40+ km), so I need satellite view style textures to be generated on the fly. The per vertex attributes I've got are:

  • Biome (forest, snow, desert, mountain, etc)

  • Elevation

  • Moisture

  • Temperature

Question is, is this even possible by solely shader code without any textures to sample from? It's downright impossible to find a decent looking texture pack for satellite view style textures. So far all techniques I've found were based on generating textures on existing terrain data, what I need is a procedural way to generate those on the fly per arbitrary terrain.

This is more or less the looks I'm aiming to achieve with already generated mesh and more biomes(tundra, desert, bare, shrubland, etc) and perhaps more "zoomed in":

enter image description here

  • \$\begingroup\$ You might want small textures to sample from so your forests look like trees, and so on. But you don't actual need them if you have a proc gen way of determining pixel color. \$\endgroup\$ Commented Apr 27, 2017 at 22:03
  • 1
    \$\begingroup\$ Can you give examples of what kind of look you want to achieve? \$\endgroup\$ Commented Apr 28, 2017 at 1:14
  • \$\begingroup\$ Something along the lines of the look of this: cartographersguild.com/showthread.php?t=10768. Perhaps more zoomed in and with more biomes (snow, desert, tundra, bare, scorched), but more or less like that. cartographersguild.com/… \$\endgroup\$ Commented Apr 28, 2017 at 2:36
  • \$\begingroup\$ @Draco18s: This question is actually to find such a generic way of determining pixel color, based on pre-generated attributes, like biome type, elevation, moisture, temperature, etc :) \$\endgroup\$ Commented Apr 30, 2017 at 18:35
  • \$\begingroup\$ @user1617735 Yes, it is. The problem is that texture is complicated and those rules might be easier to encode in a small sample texture (hell, Minecraft encodes lighting as a texture and it's only got 256 possibilities). I've done some proc-gen texture work before and it's tough and I was working on starscapes. Getting something to look like "forest" instead of "grassland" involves noise. Anyway, that's why I only left a comment. \$\endgroup\$ Commented Apr 30, 2017 at 21:30

1 Answer 1


This looks remarkably similar to amitp's polygon map generator, which produces islands like this:

amitp island

This was generated from scratch, no textures required. But as you'll find out in the article, he uses a variety of different techniques to get all the features in there: land formation, biome generation, placement of water features, noise filter. This won't be possible using pure shader code.

  • \$\begingroup\$ I've used some ideas to creating the terrain itself from Amit's post. Unfortunatelly he's not using WebGL to render, which is a shame. So basically what you're saying I still need textures to sample from? \$\endgroup\$ Commented Apr 28, 2017 at 11:01
  • \$\begingroup\$ Actually, I'm note sure it's entirely impossible on pixel shader level. Since I don't need details like trees, dunes, etc, I just need a way of slightly changing pixel color, predefined for each biomes by little bit, based on elevation, moisture, temperature, etc. \$\endgroup\$ Commented Apr 28, 2017 at 11:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .