Description
There exist numerous claims that prehistorical and historical buildings have been built so that important architectonic elements (main axes, windows, ...) are pointing into astronomically relevant directions, e.g. cardinal points (due North, South, East, West) or points where the Sun rises at the solstices, or where certain stars appeared/vanished on the horizon at some point in time, etc.
Surveyors can measure the horizon elevations, and astronomers can compute positions of respective celestial objects, but for members of other disciplines and a wider audience these things remain hard to understand. Virtual reconstructions and demonstrations can help to verify, and later to communicate these ideas to a wider audience.
There exist many archaeologically correct virtual reconstructions of ancient buildings, in which the user can walk around and get an impression of the old architecture. There also exist a few astronomically correct desktop planetarium programs, where the night sky can be explored from a single location on Earth. However, a high-quality simulation of the night sky combined with a landscape and building walkthrough seems to be missing.
Task
Stellarium is an OpenSource multiplatform (Windows, Mac, Linux) desktop planetarium program providing a quite realistic view of day and night skies, and several uncommon features like dome rendering, telescope control, or the possibility to exchange constellation figures (great for ethno-astronomical demonstrations). The local horizon can be shown with a panorama photograph, giving a pretty good feeling of immersion, restricted however to one observer location. It does not only use the typical rectangular viewport, but also allows super-wideangle views in several projections.
COLLADA has been established in the last few years as flexible exchange format for 3D content, supported by many 3D modelling products like Blender, Maya, 3DS max, AutoCAD, or Google Sketchup.
The task is now to add a COLLADA model loader and renderer with walkthrough mode as plugin into Stellarium, so that users can walk around in a (typically limited) 3D landscape with uneven terrain, buildings and other typical landscape elements. We do not require the full spectrum of COLLADA models implemented. It is expected that most users will build rather simple models using Google Sketchup, so triangle-based models without any animation or physics simulation (but with collision detection during the ground-based walkthrough) should be fine. (Extensions like fire simulation are welcome, though...)
During the walkthrough, interesting viewpoints shall be stored, so that they can be retrieved at later sessions.
Note: In this Praktikum, you already build on an existing code base, and the focus is on implementing robust shadow mapping, and other lighting effects.
Tools
Stellarium is an OpenSource project at Sourceforge. Its sources are available directly from the SVN repository there.
Several OpenSource loaders and example renderers exist that show how to work with COLLADA (.dae) models, e.g. COLLADA DOM. (You are not required to use this, but it can help!)
Several example landscapes in .dae format will be provided for testing.
Requirements
C++, OpenGL, previous COLLADA experience is helpful. Development should be done on Windows or Linux. Given the expected user base, Windows is preferred in this case. Note that Stellarium is a multiplatform project, so optimally your plugin should work on all 3 platforms. A Stellarium key developer has signalled interest and his will to support you.
At least casual interest in visual astronomy (skywatching) may be helpful to understand Stellarium and to like this project, but is no obligation.
Note that this project shall be contributed to the Stellarium project, so a successful project may bring you international applause, and will be something probably used by many thousands of users worldwide.