I described in Part 1 the basis of an approach for a planetary renderer with Level of Detail (LOD) support. I've now added the following:
- Support for a simple cylindrical tiling scheme, using 512-pixel, square tiles and 2 tiles at LOD 0.
- A background process to load tiles as required, without locking the rendering loop.
- Datasets for surface texture, normals, specularity and clouds to LOD 5 (2048 tiles with an overall size of 32,768 x 16,384 pixels).
Figures 1-3 below show the mapping of surface texture, normals and specularity.
The next step is to adapt the atmospheric shaders for a tile-based approach. Adapting the cloud-shadowing algorithm will be the biggest challenge, since this will require more than one cloud tile in order to calculate the correct shadows for a single ground tile.