1
\$\begingroup\$

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

\$\endgroup\$
  • \$\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\$ – Draco18s Apr 27 '17 at 22:03
  • 1
    \$\begingroup\$ Can you give examples of what kind of look you want to achieve? \$\endgroup\$ – congusbongus Apr 28 '17 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\$ – user1617735 Apr 28 '17 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\$ – user1617735 Apr 30 '17 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\$ – Draco18s Apr 30 '17 at 21:30
1
\$\begingroup\$

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.

\$\endgroup\$
  • \$\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\$ – user1617735 Apr 28 '17 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\$ – user1617735 Apr 28 '17 at 11:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.