Blender games in the iDome

Portuguese version: Jogos em Blender no iDome

Implementation by Dalai Felinto:
Supported by SAT (Society for Arts and Technology) within the SAT Metalab immersion research program.

Source code samples and testing by Paul Bourke
April 2009

See also: Unity Game engine and the iDome

And: Presentation slides by Dalai Felinto at the First Argentina Blender Conference.

The following documents support for fisheye and warped fisheye in the Blender realtime game engine. While the examples shown here are in the iDome, the technique is suited to any orientated hemispherical surface including the more traditionally aligned planetarium dome. The support has been added to the next release of Blender, namely version 2.49. It uses the multi-pass texture algorithm as described here. Briefly, that involves rendering the scene 4 times and placing the subsequent images onto a mesh designed especially such that the result, when viewed with an orthographic camera, is a fisheye projection. Support for fulldome projection using a spherical mirror instead of a fisheye lens is achieved by an image warping described here. The Blender implementation supports direct fisheye projection (projector with fisheye lens) as well as systems requiring warped fisheye images. The warped fisheye solution provides support for spherical mirror based systems (as illustrated here), various truncated fisheye configurations, and support for fisheye lens with non-linear radial functions.

Model courtesy of Mike Pan.

Please note that while the images in the iDome on this page appear distorted, that is because the camera is not at the correct position. When sitting at the center of the hemisphere the scene appears natural, for example straight lines are straight. This is the case for any surround or stereoscopic projection, the imagery is only strictly correct from a single viewing position.

As with most software packages that support the spherical mirror, they create a fisheye image by whatever algorithm they like. That fisheye image is warped by reading a mesh designed especially for the particular installation. Performed this way allows a site to create a precise warping mesh which all software uses. Importantly also, software doesn't need to know the specifics of a particular sites configuration, exactly what the warping mesh does is independent of the interactive software. The blender implementation is no different, the first image below shows the distorted fisheye with an (distorted) overlaid polar grid. The image on the dome can be seen to have an undistorted polar grid.

Example 2

Popular Habitation Project: This is an architecture and urbanism project developed as coursework at the University Federal Fluminense (Niterói / RJ - Brazil). The project was developed by Dalai Felinto, Maria Sorrentino, and Nathalia Lopes. Supervised by architect Gerônimo Leitão.


Movie example (QuickTime, H264 codec)

Example 3

ClubSilo by Luma Labs.


Please notice that the image blurring in these images is due to the 1/2 second exposure for the photos in a low light room. In reality the image is equally crisp and undistorted across the dome surface.

Example 4

Yo Frankie, the open source game by the Blender Institute.