I am trying to display street maps and want to be able to show an entire State and zoom in/out, and around on the map. The map for a state can easily be four million lines.
I also want to be able to draw/modify the size of a circle or polygon on top of the map in real time using the mouse.
By the way everthing is done in ortho2D.
I have a 2GHz Athlon XP and a 6600GT graphics board and it takes 320 milliseconds to reload the data into the graphics board and redraw the screen.
This makes it way to slow to change the size of the circle/polygon in real time.
As far as I can tell most video boards don’t have on overlay plane available to do the circle/polygon on separately.
I bought a book on OpenGL and it completely glosses over anything to do with my questions.
The conceptual problem I have is with where the data is stored and where it goes after the matrix math is applied.
Does the data go back into the same place in memory after it is multiplied?
Does the original data still exist in the graphics card?
Is there anyway to get the data into the graphics card and zoom/move around the map without reloading the data?
Am I missing something obvious?
Other mapping programs I have tried are even slower than my code, sometimes as much as 100 times.
I do have hardware acceleration running and speed is essentially identical under WinXP and linux.
Another question has to do with resolution of the data, OpenGL allows 32 bit integer data and floats, but the OpenGL book says the data is converted to floats before being used. This would seem to imply a loss of 8 bits of resolution in the data.
email tpb@execpc.com