Quote Originally Posted by waldronate View Post
You should be able to use any search engine to find any number of procedural planet shaders that can be easily adapted to run on the GPU. By "any number", I mean greater than zero and by "any search engine", I mean one of the ones that has indexed at least a few hundred million pages.

Look up F. Kenton Musgrave's Gaia shader from long ago in the book Texturing and Modeling: A Procedural Approach. It's a Renderman shader, but the principle is the same as a GPU shader.

Look at articles by Inigo Quilez ( http://iquilezles.org/ and lots of his at stuff https://www.shadertoy.com/ ). They are already shaders. Or skip the understanding part and just go to https://www.shadertoy.com/results?query=planet for quick satisfaction.

If you want to generate biomes from world position and altitude, you can use a small texture as a lookup (a texture is just a lookup table for quantities that are expensive to calculate otherwise), you can convert an annual average temperature and annual average rainfall into a rough biome map using a lookup similar to http://www.thewildclassroom.com/biom...tiongraph.html. Ideally, you would have a temperature-rainfall map by biome type and feather the types out at the edges so that you can get a probability for each type of biome rather than hard edges; switch between biomes by the probability indexed into a fractal map to get scattered blending rather than soft blending. Implementing the full Koppen-Geiger model is probably not needed for the basic case.

You can convert latitude, altitude, axial tilt, and time of year into a base temperature (insolation based on latitude and axial tilt with temperature decreasing by the lapse rate for altitude). Sample that a few times around the orbit for each point. You can convert latitude and temperature into a very rough rainfall amount by starting with rainfall high at the equator, low at the desert latitudes, increasing to the temperate line, then dropping again toward the poles; if you want to calculate a distance from water and decrease rainfall past a certain amount, that helps, too). For both rainfall and temperature, add a small fractal perturbation to keep things from being too banded by latitude. A fancy sim that does heat and moisture transport via wind and wave would give nice results. For finer details, you'll probably need rivers and should take the slope and aspect angle relative to the sun into your calculations.
Thanks, but I've got all that already covered, I have algorithms to generate terrain that fits my needs, together with moisture (in my case it's proximity to sweet water source) and temperature (like you've suggested latitude and axis tilt), so basically I've got biome types figured out per field.

Quote Originally Posted by waldronate View Post
Once you have your biomes, sample a googly map of Earth at similar biomes to get a patch of representative texture. Then synthesize larger patches on the fly using a texture synthesis engine. As above, use a fractal to control the hard transition between biome types.
Any chance you can pardon my ignorance and elaborate a bit more about synthesizing textures from small samples and using fractals to control the transition between biomes? Basically the underlying structure of my terrain is hexagonal, so I need a way to make biomes transition as "noisy" as possible for hexagonal structure not to be obvious. Any links to articles explaining implementing those techniques would be greatly appreciated!