SkySafari and dome projectionWritten by Paul Bourke
The following describes the presentation of imagery from the SkySafari software onto a hemispherical dome. The general technique of using a screen capture plug-in for Quartz Composer is introduced here in the context of Stellarium, as such that aspect will only be discussed in passing.
SkySafari presents a 180 degree fisheye view by default, if one had a data projector with a full frame fisheye then this would be the end of the story. In reality few fisheye solutions employ the full frame, they are often truncated for pixel efficiency. Some other fisheye lens products don't have a constant relationship between distance from the centre and latitude. Another common approach to single projector fulldome projection is the use of a spherical mirror instead of a fisheye lens. The most general solution that supports all the above is to apply the full fisheye image to a mesh that prewarps the image to correct for the distortions, or apply the truncation. Unfortunately implementing this within the application requires access to the source code, something not normally available for commercial packages.
The solution is to draw the fisheye to the display and somehow capture that image for warping or truncation. Two free products that permit this are "pbmesh" (see the Kineme site) and "v002 Screen Capture" patches for Quartz Composer. The approach is illustrated below, the computer needs two displays, one connected to the projector and the other to a display which has many vertical pixels as possible. The Quartz Composer editor window and the SkySafari window are placed on the display, the Quartz Composer viewer window is presented fullscreen on the projector. The SkySafari window is made square and as large as possible, the capture region for the V002 Screen Capture is set to match. In the following a 30inch display is used, the resulting fisheye here is 1450 square which is close to the maximum size required given the HD projector presenting in the dome.