Upon request, I enabled a new feature in Trackviewer: showing terrain.
It is enabled in the Menu->View->Additional views.
For some routes the loading of all terrain .ace files is taking too long. Therefore, when loading a route, terrain will never be shown initially. If you enable it, it will only load those tiles and their terrain that are visible at that zoom level. If you zoom out again, it will not automatically load the rest of the tiles. Only if you de-select viewing terrain and select it again, it will load new information when needed.
At least the following can be improved
- I have not been able to test 2x2 tiles. Can anyone point me to a freeware route that uses 2x2 tiles?
- It is possible to show boundaries between patches. This is not yet done very well.But I would like to have a 2x2 tile example before improving this.
- Performance. TrackViewer's architecture is like a game: it redraws the screen up to 20 times per second. This makes it very responsive in general. But on older hardware this might not work very well with re-drawing all terrain. The current implementation already make sure that drawing is done texture-by-texture, and not tile-by-tile, and in indexed vertexbuffers. Unless someone has other idea's the only way I see to improve this is to draw say a tile to a Texture2D first, and then showing that texture. But getting this done right during zooming is tricky. The inset (top-right) already uses this technique. But you can also see issues with that during fast zooming.
It does not do the following (yet)
- Colors of track is still black (or black.green). This is not very visible, so probably yellow (and an option to change it) makes sense. This addition is probably done pretty soon.
- No lo-tiles
- No water
I would appreciate it if someone could point me to documentation on the format of the .t files and other terrain-related files. Currently I was able to do this only by looking at the code and especially in-memory information during debug.
Jeroen.