Here is what open street map data looks like when viewed through Google Cardboard. This was recorded on my iPhone 5S (ancient technology I know!). It is a block of data around Glasgow. The keen eyed of you may recognise the Glasgow City Chambers building at around 25 seconds in. You should be able to… Continue reading Google Cardboard and OpenStreetMap
Rendering Polylines In part 1 I learned how to identify polylines and came up with a simple visual representation by drawing the polylines using the OpenGL "GL_LINES" primitive. This led to a network of lines representing the centres of roads/rivers/railway lines etc. Extracting the data To allow us to render the roads with some proper "width"… Continue reading OSM Renderer – Polylines part 2
I decided the previous video could do with some improvements! This version now has a small route programmed for the camera to get rid of the jerky movement from the previous video. This video is also HD - in 1080p @ 48 fps as opposed to the previous 480p video. This video also introduces the rendering of… Continue reading Open Street Map video – Now in HD!
As the old saying goes, a picture is worth a thousand words... A video however is much better than a picture! This video has been captured from an iPhone 5s using Quicktime movie recording. I know the video looks laggy, but this is mostly because of me not being very smooth with my finger gestures to… Continue reading OpenStreetMap in 3d Video!
We have heights! To improve the realism of the building/city rendering the next step I took was to parse the building heights from the Open Street map objects. The height tag is described on the OSM Wiki here. The main points are as following: the "height" tag of the way returns the maximum height of the… Continue reading Building Heights!
Lighting Basics The next step I took to improve the rendering was to add in lighting. Until now I had just gave everything a normal of "up". This meant that every surface of the building had the same brightness as the normal represents the direction the surface is facing. Basic is lighting is done by… Continue reading Calculating normals + lighting
Now that we have the walls complete, I thought it would be a good time to move onto rendering the rooftops! Instead of having to triangulate the polygons myself, I looked online to find a triangular to do it for me. I stumbled across an old flipcode article that had a triangular in it. I simply… Continue reading Rendering Rooftops – Triangulating polygons