Summer of Code in Space 2014

From Stellarium Wiki
Revision as of 16:29, 13 April 2014 by Alexwolf (Talk | contribs)
Jump to: navigation, search

Ideas for the SOCIS 2014 (ESA Summer of Code in Space).


Common requirements

All of these tasks require knowledge of C/C++, as Stellarium is written in it, and some knowledge of the Qt framework (or willingness to learn the basics very quickly), because Stellarium relies heavily on it, especially for its GUI.

You should also become familiar with Stellarium's merge proposal review guideline, which outlines how your code will be reviewed before it's merged in Stellarium's code.

Suggested workflow

For each task that looks interesting to you:

  • Understand it - read the description and try to imagine what is required
  • Research it - if the description is unclear, you can ask for clarification and/or do some research and come up with your own ideas. Also, look at how Stellarium works with similar tasks
  • Sketch it - Check out Stellarium's code and build it (there are instructions on this wiki), look at what can be used and what needs to be done to implement your idea, how it will come together with the rest of Stellarium
  • All of this should prepare you to write a good proposal.


Add-on manager for management of downloadable extras

See Launchpad Blueprint Add-on manager for management of downloadable extras

Brief explanation: An Add-on manager something along the lines of that in Firefox, for downloading, installing, updating and removing extras: specifically landscapes, scripts, sky cultures, star catalogs, nebula sets, etc.

Knowledge Prerequisite: C++

Mentor: Alexander Wolf (IRC: alexwolf)


Irregular Solar System bodies

Brief explanation: At the moment, all Solar System bodies are rendered as spheroids. This is fine for all planets and large satellites, but unrealistic for all asteroids and some smaller moons (such as Phobos, etc.). Realistic rendering of asteroids requires the rendering of a simple 3D model, either in some accepted open 3D model format (e.g. COLLADA?) or in a simple format developed for Stellarium. Rough shape data for about 20+ asteroids can be found somewhere on NASA's websites. Working on this project should start with finding it and deciding which format to use.

If the implementation causes visible performance degradation on weaker systems, there should be an option for to turn the feature off. Many such features are enable/disabled via preferences.

Knowledge Prerequisite: OpenGL, C++

Mentor: Alexander Wolf (IRC: alexwolf)


Planetary nomenclature

Brief explanation: At the moment, Stellarium doesn't support the nomenclature for bodies of Solar system. Nomenclature (signature topographical formations on the surface of the planet) should be enabled since a certain values of FOV and first should be marked biggest formations - like lunar maria. When user zooming the surface of body then signature for objects of first level (biggest formations) should be hidden, and make visible of signatures for the objects of second level, e.g. big craters and mountains.

This feature should support localization and enabling/disabling via preferences for exception possibility of the visible performance degradation on weaker systems.

Knowledge Prerequisite: C++, Basic Astronomy, Geometry.

Mentor: Alexander Wolf (IRC: alexwolf)


Your idea

You can propose your idea for Stellarium. If it will be great we can approve it.


Personal tools
in this wiki
other languages