[OSM-dev] GSOC 2017 libosmscout: Implementation of a OpenGL ES renderer
tim at framstag.com
Mon Mar 13 09:32:27 UTC 2017
> 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
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?
* 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