Exaggerated Elevations on Globe
I think this is more of an advanced topic rather than a shader topic for please forgive if posted in the wrong forum.
Iíve have seen in the past many rendering of globes, Earth and Mars for example, where the heights of the terrain were greatly exaggerated and give a very unique look to the final rendering. Iíd like to know the techniques used to create such renderings.
I have been working a solar system rendition and have many techniques worked out like bump and parallax mapping, shadowing and translucencies for rings and all looks really good. I have attempted to do deformations, just for effect, but from what I have gathered so far is this work can only be accomplished in the vertex shader. Using the marís elevation maps for example I can extract the height at the texture coordinate and adjust accordingly. To get any sense of accuracy I need to generate an enormous amount of geometry for my sphere in the order of one vertex per height sample. I have done this in a smaller extent with flat geometry and quad-trees to generate flatter elevations with shadowing but large geometry is also required to get any sense of realism and the cost of performance. The global perspective is something Iíd like to play with.
I suspect the answer is it will require the detailed geometry but wondering if there is something I am missing. My target is earlier versions of GLSL since Iíd like to target iOS for example. Is this type of effect even possible in a real-time type simulation? Are there techniques that I have overlooked?
Any insight is greatly appreciated.
This is more of a research question at this time as Iíve wanted to dive into this more but not sure of the approach.
The easy way is to use tellesation with LOD but I don't think iOS supports tesselation - in which case you need real vertices but you can use LOD index buffers to keep the render time up. It may also be possible to rebuild a fixed vertex buffer bases on the distance the camera is from the sphere for the frame.
In general you cannot do everything on a iPhone/iPad that you can on a desktop - it just does not have enough grunt.