Hello Brano, and thank you for the invitation for this forum!
I'm also involved in the development of a large terrain rendering algorithm, so I hope we have a lot of topics to discuss about.
First of all, I have to congratulate you on your effort to build extraordinary engine!Let's continue the discussion from the
Intro page...
Yes, using a geocentric coordinate system for the planet directly would allow only for limited precision, and thus it can be used only up to a certain level of detail (i.e. for some maximum distance from the surface). So what I do is that the geometry for the more detailed terrain tiles is generated in its "local space", what is a coordinate system centered in the middle of the terrain tile that starts to use it. All subsequent subdivisions of this tile use the same coordinate system.
Finally, for the rendering of these tiles the camera is expressed in the local space too. This way you get rid of large static numbers in coordinates that ruin the precision.
Yes, that is exactly what must be done,
but there is a problem when switching from one "local" tile to the other.
Many applications I am involved now does not require planet-sized terrain, so I've discarded all calculation involving Earth's diameter on certain geographic latitude and geoid's correction. But rendering the whole Earth will always be a hot topic.
During the reading your posts, I have found some interesting ideas that are just mentioned and not explained, and I'm very curious if you can give just a bit of explanation on them.
One of them is using
wavelet compressed terrain data. Which algorithm are you using? Ecw, MrSID, JPEG200, or some custom built? Five years ago I had carried out some experiments with ECW compression and found out that it cannot be used, because of very high level of degradation. That degradation is suitable for the image, because our eye cannot find the distinction in the variations of colors, but using it on the terrain heights is not acceptable. Lossless compressions can be used, but the compression-rate is moderate or poor (except on the large water surfaces with zero-elevation).
The idea of using torrent protocol for the data retrieval is
excellent!
Can you give us a clue on what algorithm is based Outerra for managing terrain LOD? Quadtrees, Octrees, Clipmaps, Ray casting or something quite different?
Thank you in advance!