[OSM-dev] GSOC 2017 libosmscout: Implementation of a OpenGL ES renderer

Tim Teulings tim at framstag.com
Mon Mar 13 09:32:27 UTC 2017

Hello Fanny,

> I am Fanny Monori, a Computer Engineering MS student from the University
> of Debrecen, Hungary. I wish to participate in Google Summer of Code
> this year, and I am interested in the "libosmscout: Implementation of a
> OpenGL ES renderer" task, and I am looking for someone to help me
> getting started with it.

I'm Tim Teulings, the main author (but in recent times not the only 
author) of libosmscout. I wrote the project idea and also likely would 
be your mentor (though the rest of the libomscout community will likely 
help, too).

Hello and welcome to OpenStreetMap and libosmscout :-)

I live in Dortmund, Germany so my time zone is CET / GMT +1. I normally 
will answer in the evening.

> I have a bachelor's degree in Computer Science, and during my studies I
> became familiar with OpenStreetMap. As part of a course, students had to
> work on projects that are using OpenStreetMap. I really liked working
> with it, and I would love to contribute to it. I also studied computer
> graphics, and because of that I have experience using OpenGL.
> In your Google Summer of Code page you have mentioned that you might
> require a small exercise or prototype. Do you have any qualification
> task in mind regarding this project?

Some questions:
* Libosmscout is written in C++. Are you familiar with C++?
* One can develop for Libomscout under Linux, Windows, Mac. I suggest 
though to work under Linux, since this is the most convenient regarding 
building the software (and likely working with OpenGL). OK for you?
* Is the task clear for you? Do you have any front up questions?

I suggest the following next steps:
* Subscribe to the mailing list of libosmscout (and write a small 
introduction mail to make sure people know who you are and thus give you 
as much help as you need):-)
* Look at the documentation available and try to get the existing code 
running (that means, get it to build, import some OSM data export and 
get the OSMScout2 demo to show you the map).
* Look at the rendering pipeline for one of the existing renderer (Qt, 
cairo, agg, the others are incomplete) (interaction with Database, 
MapService, StyleConfig and MapPainter base class). This should give you 
deeper inside how the existing code is doing the rendering and which 
functionality is already there (and which is not). There is some 
rudimentary OpenGL backend code. Just ignore that. It will not help you. 
Its bad code and bad design.
* I assume that the OpenGL backend will be different in some aspects, 
because of the constraints and principles of OpenGL. So a likely next 
step would be to make a proposal how your code will look like 
structurally, how your rendering pipeline will work in principle 
("describe the planed design"). How will you get the drawing primitives 
required working? How will you interact with the styling engine?
* Part of the design will likely also be some discussions on the list 
regarding implementation alternatives. Make suggestions.
* If time allows a very simple demo would be helpful to show your OpenGL 
capabilities, though we should already see some of it based on your 
design suggestions. I assume that getting "some" rendering to show is 
already a rather huge part of the implementation effort. So there will 
be no time for this befor the official proposal. Still, having something 
to show would be helpful.
* Next step would be a concrete implementation plan and a more precise 
description of what must be implemented to succeed and which optional 
features can get implemented if time allows. Though a concrete plan can 
be mad later later than the 20.3. (see overall timeline below).

You can find the libosmscout homepage at sourceforge: 

The documentation should already answer many questions.

Note that the project also has a github page:

We do use the sourceforge mailinglist but the github git repository is 
(much) more current than the sourceforge one. We also (mainly) use the 
github issue tracker.

If you have any questions => ask on the libomscout mailing list. If you 
find bugs, make an issue :-)

OSM GSoC 2017 page: 

Overall time line (Google page): 

If I understand correctly you have a round 1 week for official 
registration and submission so we - especially you! - have to hurry up.


More information about the dev mailing list