Creating equirectangular projections using CelestiaWritten by Paul Bourke
The following documents how one might create equirectangular projections from Celestia. Why might one want to do this? Equirectangular projections are a convenient image format for presenting 360x180 data online or through head mounted displays. It is one of a few formats that records everything visible from a point in space. The other major format are cube maps, in the following the cube maps are created and the equirectangular derived from those.
The document here: Create equirectangular projections using Stellarium achieved the result by rendering two fisheyes in order to capture the whole 360x180 view. Celestia does not have a fisheye rendering mode so the "standard" alternative is to render the 6 faces of a cube, each a 90 degree by 90 degree field of view. These 6 cubemap faces can be used directly in many viewing softwares or they can be remapped to an equirectangular.
The 6 cube maps are automatically generated with a .cel script, specifically it orientates the camera along each of the positive and negative axes. Unfortunately it does not seem possible to automatically do a window or screen capture so this needs to be performed manually. Celestia also does not provide a means to set an exact window size, normally one would want a square window to ensure both the horizontal and vertical field of view are the same, namely 90 degrees. The way around this is made possible given that the FOV one can specify in the .cel script is the vertical FOV. So, as long as the window is wider than the width then one can crop it horizontally to give a square image with 90x90 degree FOV. One way to get the higher resolution is to run Celestia in full screen mode, run the .cel script with delays at each camera orientation and do a screen grab at each orientation. A simple script can trim and rotate the images to conform to any desired cubemap convention. Example of cube map images images are presented below.
The corresponding equirectangular is as follows.