....and Venus was her name...Initial data conversion and renderings of Venus
Written by Paul Bourke
A number of these images appeared on an ESA (European Space Agency)
In 1978 the Pioneer orbiter entered an elliptical orbit about Venus. One of the many experiments was a radar system to measure the topology and other surface features of the planet. The resulting topology data is relatively low resolution (1 degree on average) and unsuitable for anything more than local average planet radii.
In 1990 the Migellan spacecraft entered orbit about Venus and started a much higher resolution survey, on average approximately 1/22 degrees. The data is presented as three maps, one for each pole and one as a Mercator projection centered at the equator. Unfortunately the resulting datasets are far from clean. The most obvious problem with the data are large areas of missing height values. This is clearly seen on the North, South, and Mercator topology images on the right.
The first hurdle then for a whole planet topological model is to fill in the missing regions as best as possible. This was accomplished by using the base topology from the Pioneer mission which didn't have the same missing data regions (except for the poles). For the smaller scale structure a fractal perturbation was used that had the same fractal dimension as the neighbouring region. The resulting renderings shown below for the two polar regions, the technique was quite successful even for the large missing wedges. This was the desired effect for renderings where a significant part of the planet is visible. The regions with missing data are still noticeable if one gets too close to the surface but these regions will simply be avoided in any subsequent low level renderings and animation.North Pole
Similarly, the missing data artifacts aren't noticeable from the following four renderings at each compass point about the equator.Equator, Longitude: 0 degrees
Equator, Longitude: 90 degrees
The images below are representations of the topology, the lighter the grey value the higher the elevation. The regions with no data are clearly visible as black wedges (poles) or stripes (Mercator).North pole data
South pole data
Mercator data (sideways)
Equator, Longitude: 270 degrees
All the renderings above were created using PovRay version 3.5 along with custom data filtering software.
Based upon Terragen version 0.8 for the Macintosh.
For the source of the Venus topology see here.
The evaluation reported on here was performed to not just determine whether Terragen could render the topology, atmosphere, and lighting as desired but to determine whether it could be used for large scale rendering and animation projects. In particular, "minutes" of stereoscopic movies at the 1024 or 1280 pixel resolutions and secondly planetarium style fisheye animations at the 4000 pixel resolution.Importing Real Topology
There are two ways of importing real topological data into Terragen, using one of the supported file formats (currently 8 and 16 bit maps) or creating ".ter" terrain files directly using the documentation provided. I personally found the second approach gave me more intuitive control over the height scaling and offsets.Creating Flight Paths
The version evaluated here supported the creation of snapshots which contain mostly camera attributes. These can be saved to a text file (script files), the user can then write simple utilities that read these keyframes and apply his/her favourite interpolation algorithm and finally write out a new script file. The format of the .tgs files is well documented, although the parameters that can be animated here are a small subset of what could be animated, essentially the camera, the sun, and clouds.Animation Frames
While Terragen will diligently render all the frames in the script files discussed above, there are some annoying aspects and limitations in the current version. In particular, the current file names are of the form "Frame nnnn". A vastly better approach would for the BaseName in the "InitAnim" setup command in the script to be in the form of a C style format string, eg: "seq_%04d.tga". In any case, there is enough functionality at the moment to create camera based animations.QuickTime Panoramic and Cubic Movies
Terragen internally creates both panoramic and cubic QuickTime movies. using standard multipass algorithms. Unfortunately the cubic images, while they can be saved separately, are inconvenient for creating planetarium dome content because the cube is not aligned with the camera view direction. I wouldn't classify this necessarily as a bug, see later for cubic and fisheye images that are aligned to the camera coordinate system rather than the word coordinate system.Creating Stereo Pairs
The approach for stereo pairs is the same as discussed earlier for animations, a utility is written which reads a .tgs file, possibly interpolates the frames, and finally writes out a new .tgs file for each eye. The stereo setting provided by the user is just the eye separation. Since Terragen doesn't support offaxis frustums the method for creating correct stereo pairs is as discussed here. Briefly, the user chooses a focal length (distance to zero parallax), from that an eye separation is chosen (typically focal length / 30). The desired window width and aperture (converted to zoom for Terragen) is increased given the formula on the link given above. After the images are rendered they are trimmed back to the desired size, the left image is reduced from the left and the right image is reduced from the right.Creating Fisheye Images (planetarium)
The standard way of creating fisheye images (hemisphere) using software that doesn't support fisheye rendering for dome displays or planetariums is to render onto the sides of a cube (90 degree aperture) and resample those views to form the fisheye image. This method has the additional advantages that the horizon of the fisheye can be changed to suit the range of dome angles as well as being able to support offaxis dome projection.
The same approach is taken as for the stereo pairs, a .tgs file is created in Terragen, a separate utility program reads that, interpolates as required, and spits out another .tgs file with 6 frames per original frame (one for each side of the cube). Terragen then renders this new .tgs file. In reality a number of .tgs files are created for distributed rendering.
The "trick" is to create the camera heading, pitch, and bank angles for each side of the cube, remembering that this has to be done in the camera coordinate system. That is, unlike the QuickTime VR case already supported within Terragen, the view direction passes through the middle of the front face, the right vector passes through the center of the right face, and the up vector passes though the center of the top face. An example of a cube created with a camera pitched down by 35 degrees and banked by 10 degrees is shown below.
The animation stereoscopic/cubic/interpolation utility was further modified to create multiple animation scripts that can be used for one of a number of rendering processors running on different machines. At the time of writing there is not a dedicated renderer but the Windows version of Terragen can be run in command line mode and functioned under the "WINE" environment on a large Linux cluster.
wine --debugmsg -all "Terragen.exe" /exit /hide /w test.tgw /t test.ter /s test.tgs all