Rendering improvements and zoom
Aside from enjoying the easter break, I spent the last two weeks improving the rendering process. The new version of the renderer is using texture atlases to efficiently batch opengl calls. I also refined the clipping code (only re-draw the parts of the screen that have changed) to use the stencil buffer, making it both more efficient and “more correct”.
All in all, I am pretty happy with the rendering process now. On my 3 year old Notebook (2 x 2.5GHz mobile CPU, NVIDIA 9600M), fluorescence reaches an average of ~500 fps while running around in Britain. Memory usage is approx. 100 MB.
As reorganizing and improving existing code can get a bit boring, I implemented zoom for the world view as a fun experiment. You can see the result in the video below. This is just a tech demo, so please forgive the few graphic bugs (textures are not mipmapped, bleeding edges, some loading time on very far zoom levels). A more refined version of this will most likely be included in a final version, but this has no priority at the moment.