APR
5
2012

Looking for Google Summer of Code students: OpenGL mode for Marble

Google Summer of Code application deadline is just a bit more than 24 hours away and we are still looking for highly motivated students to work on a Marble Virtual Globe project this summer. Tomorrow is a holiday in many countries, so you might still have some time for the application. Make sure you file your application not later than tomorrow at 19:00 UTC.

The last project topic for GSoC that I'll cover is "OpenGL support for Marble":

You might ask: Why OpenGL? Doesn't Marble make use of OpenGL already? No it doesn't. Marble currently uses it's own software rendering to provide the different projections. Both texture and vector data are fully rendered in software by default.

This works reasonably fast on most devices, but compromises must be made with respect to the map quality. OpenGL, however, offers higher-quality results, is more state-of-the-art and perhaps helps to reduce power consumption on mobile devices. It therefore makes sense to introduce an OpenGL mode in addition to the sotware rendering mode in Marble (the user should be able to choose between software rendering or OpenGL).
The main task is to refactor the Marble codebase such that both the software rendering and the future OpenGL code share as much code as possible. In particular, visibility control (which objects should be rendered according to the current view parameters) should be factored out into separate classes, such that they can be reused in the OpenGL mode.
Initially the primary focus will be about replicating the current feature set and behavior of Marble. So the globe would still be browsed in looking top-down. Later on one could extend Marble and introduce bird-view, camera flights and "real" mountains and "real" 3D buildings.
Bernhard Beschow created an initial prototype of the OpenGL mode in an experimental branch already. You can look up more details about this prototype in his blog. Here is the video and a screenshot:

Marble - OpenGL Prototype

Since then Bernhard has partially prepared the current Marble master branch for inclusion of OpenGL. But there are still lots of missing bits and pieces in order to have the actual introduction of OpenGL inside Marble.

Expected Results for this project:

  • duty: refactored code that separates rendering from visibility management
  • "icing": an OpenGL mode

If you are interested in this wonderful project then you should act quickly: Deadline for applications is on Friday, April 6th, 2012m 19:00 UTC. Apart from the usual GSoC student application guidelines your application should:

  • describe the benefit of the feature from a user's perspective (including self-created mock-ups and screenshots)
  • provide a rough technical explanation in your own words what the project will be about.
  • state why you are the best person to master this project.

So if you are a student then we are looking forward to your application! Don't hesitate to ask us any questions.