Hardware accelerated real-time rendering

From OpenStreetMap Wiki
Jump to navigation Jump to search
Author: Dragan Stevanov
License: Free?
Platform: Windows
Status: Unmaintained
Version: (2010-10-30)
Language: English

Realtime OSM rendering


Conventional OpenStreetMap visualization is done by prerendering map tiles which are later displayed while browsing the map. Instead of prerendering map tiles, real-time renderer allows map image to be created on-the-fly, based on OSM data. No map tiles are used or created in the process. Image is generated on client side.

How does it work?

Rendering is hardware accelerated. DirectX is used to render images. Renderer requires at least geForce 6 or other DirectX 9 compatible graphics card to run. OSM data is imported to binary file, prior to using. Client and server are both embedded in one standalone application, for now. No database is used. I've written my own code to access stored data fast enough for real-time usage, no matter how big the data set is. That also required defining a custom binary file format.

This video explains the main features and ideas http://www.youtube.com/watch?v=vpoiUKBV6D0

The osm extract used in the video (Netherlands) is about 4gb (need to check this to make sure) in size. It's running on an average home pc.

How do I use it?

1. First, you need to install SlimDX runtime, http://slimdx.org/download_june10.php

2. Next, download a map you want to display from http://downloads.cloudmade.com/ or some other source. You’ll need the file with extension osm.

3. Next step is importing an *.osm file to internal format. To import, choose File>Import. When import process is done, 3 additional files will be created in the same folder.

4. Finally, use File>Open to open newly created map file (extension is map).

Once the map is loaded, use mouse to drag it around, use the scroll wheel to zoom in and out.

Use keyboard arrows and +/- to drag and zoom without loading new elements.

Element filter can be used to toggle rendering of map elements.

F key turns on and off wireframe rendering, to show actual triangles map geometry is composed of.

W,A,S,D rotate the whole map around to show map geometry in 3d.

To use benchmark feature, you’ll need fraps or similar software installed. Fraps can be found at http://www.fraps.com/download.php

Where can I get it?

You can get the executable here https://drive.google.com/file/d/0B1z5WPNdccTpa0pmVXhDX3R4ZVk/view?usp=sharing

Just extract the archive and run MainAppTest.exe. No installation needed.

Update: application will not be available for download until some licensing issues are solved. Update 2: executable is now available for download, but source code is still closed.



.NET 3.5 runtime or newer http://www.microsoft.com/downloads

SlimDX june 2010 or newer http://slimdx.org/download_june10.php

DirectX 9c or newer http://www.microsoft.com/downloads

Windows XP, Vista, Windows 7 (64bit recommended, but works on 32bit also)


Any newer CPU (at least dual core recommended, but works on single core)

1 gb of ram (at least 4 recommended)

geForce 6 or better (directX 9 compatible)

About author

MSc Dragan Stevanov, born 1985. in Serbia, Europe

Software Engineer