Detail textures for planets
Recently I experimented with increasing the level of detail on planetary textures. Previously, each planet had a small texture generated (only 5x8 pixels) which contained the colour palette: The first axis assigned to point height/latitude, and the second axis assigned to point slope. The shader that generates procedural textures for planets, uses this texture to determine the colour of planetary surface points (IE the color of pixels from the generated texture). To achieve such great detail, it was necessary to significantly increase the number of octaves of various noise functions and write custom functions to generate textures of different materials (for example, in version 0.94 you can see the strata on the mountains - this would be an example of such a function).
Now the color palette texture becomes the surface material ID table. I.e. values from the texture are now interpreted as an index in the texture atlas. The texture atlas is a huge single texture, that contains many looped 256x256 textures (tiles) of images of different surface types: grass, sand, rocks, etc. I use two atlases with 8x8 textures in each, these give 128 textures in total. Now the Generator's shader can sample one tile of texture atlas instead of simply taking one color from the palette texture. This method improves level of detail and increases the realism of planetary surfaces greatly, as you can see in the pictures below:
The level of detail of the planet surface is about one meter per pixel (this means if you approach the surface from less than 100 meters, you can notice pixelations). This is a limitation of the engine, due to floating-point precision hit. I plan to eliminate this restriction and reach the level-of-detail at around 0.1-1.0 cm per pixel.