I’ve got a library, which I inherited, which presents a zoomable representation of the Earth. It’s a Mercator projection and is constructed from triangles, the properties of which are stored in binary files.
The surface is built up, for any given view port, by drawing these triangles in an overlapping fashion to produce the image. The definition of each triangle is the lat/long of the vertices.
It looks OK at low values of zoom but looks progressively more ragged as the user zooms in. The view ports are primarily referenced though a rectangle of lat/long co-ordinates.
I’d like to replace it with a better quality approach. The problem is, I don’t know where to begin researching the options as I am not familiar either with the projections needed nor the graphics techniques used to render them.
For example, I imagine that I could acquire high resolution images, say Mercator projections although I’m open to anything, break them into tiles and somehow wrap them onto a graphical representation of a sphere.
I’m not asking for “how do I”, more where should I begin to understand what might be involved and the techniques I will need to learn.
I am most grateful for any “Earth rendering 101” pointers folks might have.
4
Sometimes the correct answer in programming is to not program.
It sounds like your question is in the “expert” level of knowledge for rendering, but neither your skills nor the existing documentation are there to back you in this quest.
As it sounds like you’re running solo, I’m willing to guess that the topographical rendering isn’t your business’ core area. Rather it’s something drug along in order to represent what your core capability really is.
Others have solved this problem (topographical rendering) and sell the solution. I’d recommend looking into them. Google Earth is an example as is Microsoft Maps (or whatever it’s called now).
I know it’s odd on P.SE to recommend against coding, but I think this is a case where you are seriously out of your skill set. You’ll have a better solution more quickly by acquiring a 3rd party product instead.
5