The Tholos Project
2003-2006, Foundation of the Hellenic World
-
The "Tholos" Virtual Reality Dome Theater
Left: The Tholos dome theater at Hellenic Cosmos. Right: cross section of the tilted dome theater. Tholos is the virtual reality theater of the Foundation of the Hellenic World (FHW) at Hellenic Cosmos exhibition center. It is a dome-shaped auditorium with a tilted hemispherical screen capable of displaying real-time stereoscopic virtual reality content. Tholos is fully interactive but can also display pre-rendered content either as an alternative signal source or as part of the immersive experience. The real-time VR dome theater of FHW utilizes a fully digital projection system, configurable in a monoscopic, stereoscopic or a mixed mode of operation (see next section). 6 pairs of seamlessly blended SXGA+ projectors are projecting the synthesized imagery on a tilted hemispherical reflective surface of 13m in diameter. The auditorium is designed to host up to 132 visitors at the same time.
The VR system is mainly operated by a single user (guide) via a tracked joystick, but at selected points during the show, the action can be controlled by the audience via an integrated voting and averaging user I/O system. The visitors can be grouped in teams or addressed as a unified audience and interact with the joysticks attached to their seats. The VR software is designed to allow the biasing of the navigation from the seat joystick input and a voting trigger is also available to let the visitors select among a number of choices at decision points.
-
Image Generation
The hemispherical image is composed by stitching together 6 independent planar views perspectively projected on the dome surface (tiles). A common virtual center of projection (COP) is designated and respected by all 6 off-axis monoscopic projections. In the case of stereoscopic operation, each projection is split into two individual left/right projection frusta to simulate the eye disparity and hence convey the depth information. The dome uses passive stereoscopic technology (Infitec) due to its low cost and high flexibility. Therefore, each tile corresponds to multiple display outputs, each of which needs to be able to be reconfigured according to what portion of the dome it is projected on, which eye it simulates and possibly what portion of the tile it renders. The last requirement is imposed to facilitate the future demand to split the rendering load for a tile into separate graphics cards and drive them through a compositing matrix to the projector, for better performance scalability. A final but important constraint in the display projection design was the disassociation of the VR engine and the particular projection system. FHW uses the same engine in many VR platforms from single display systems to this dome theater and the particulars of a certain display setup should not interfere with the core engine design.
Left: Multi-headed display cluster stress test at the AUEB computer labs (32 nodes simultaneously deployed). Right: The Tholos cluster (circa 2006) Having all that in mind, we have implemented a display module, named TiDE (Tiled Display Environment), which operates as a projection matrix configuration mediator between the actual rendering procedure and the graphics outputs of a system. An XML configuration file provides a list of any possible scripted configurations a computer (or cluster node) may have as well as global data such as the center of projection and global transformations of the projections setup (needed for example for easy tilting of the virtual view at various angles). Each setup section has a unique name specified by the user and TiDE can switch from one setup to another in real-time, as well as re-calculate the projection matrices according to the tracked input. Setup switching is important because it enables a flexible redundancy schema for the computing cluster.
TiDE provides an easy XML-based configuration of projections for a multi-display system, through the geometric description of the display surface, in physical units, also setting up scale, proportions and stereoscopic parameters. -
Unidirectional Stereoscopic Display
In contrast to pre-rendered graphics, where spherical or cylindrical projection surfaces can be easily mapped to image space by radial ray casting, real-time rendering performs perspective projection on planar windows in space. The visible area through the extents of the window defines in general an oblique frustum centered at the user location and passing through the edges of an arbitrary rectangular viewport (see next section). Mapping the planar projections on a curved screen is not a trivial problem and results in multiple intersecting frusta at odd angles. The projectors that display the image perform projective mapping of screen image coordinates to points on the curved display surface. This should rectify the inconsistency between the perspective distortion introduced by the rendering projection and the arc-length linearity of the curved surface, if it were not for the fact that the physical frustum of the projector is different from the displayed virtual frustum. To counter this, the image is warped before being driven to the projector.
The most common and easiest practice when calculating the left/right eye frusta is to assume that the eye disparity vector is parallel to the projection plane. This is hardly an unrealistic scenario, as the spectators tend to face a display surface when viewing the three-dimensional content. So this frustum setup works pretty well for tiled flat panels, CAVE environments or cylindrical panoramas with a small bend angle. The problem that arises is that when the planar projections intersect at a significant angle (as in the case of domes) the corresponding disparity vectors are crossing each other too at the same angle. Even for small interocular distances, the generated frames cannot match at the seams and the whole problem can only be partially alleviated by the image blending. Another problem associated with the particular case of a spherical projection surface is inverted stereo or cross-eye viewing. When the disparity vector is parallel to the projection plane, the top and rear left/right offsets are inverted. One solution to the crossing of the vectors is to completely remove the stereo effect from the rear tiles, although even this, needs to be done gradually by progressively diminishing the interocular distance from the front tiles toward the back of the spherical projection surface.
The generation of a pair of frusta for stereoscopic rendering by moving the eye point of each one parallel to the monoscopic viewing plane is quite trivial and it also has the advantage of keeping the rigid camera transformation disassociated from the projection transformation, a computational formulation that graphics programmers are accustomed to. In order to overcome though the problems stated above, an eye pair configuration is required that does not depend on the projection plane direction and remains fixed for all display tiles.
Given a primary looking direction, for example the expected front direction (direction toward the main point of interest) in a dome virtual reality theater, the center of projection for the left and right eyes can be defined on a line perpendicular to that direction in the world coordinate system (WCS) for all frusta. This ensures that the disparity vector is the same for all projections and therefore there is no mismatch between projected viewports. Furthermore, the traditional eye-space stereo separation technique could produce inappropriate frusta in the case where the display tile was tilted. The resulting disparity vector when transformed to the world coordinate system (the spectators' center of projection coordinate system) would not be parallel to the horizon. Using a unidirectional configuration relative to the WCS avoids this phenomenon. Another useful property is that as the eye-pair vector remains fixed, its projection on the display tiles varies according to the relative angle between the respective viewing direction and the primary one (front). This provides a natural transition from the maximum apparent inter-ocular distance to a zero stereo effect at the rear part of the dome and overcomes the cross-eye stereo problem.
Unidirectional multiview stereo. Left: setup. Right: seamless stereoscopic display in action (Tholos dome). - Contributors:
- G. Papaioannou ( design and implementation of computing cluster, display and positional audio systems )
- A. Gaitatzes ( VR team management, platform design, programming and integration )
- D. Christopoulos ( input devices interface design and implementation, platform and tools software development )
- G. Zyba ( network protocol and clustering library programming )

