Tools used in the research project

Persistence of Vision Raytracer—POV-Ray is free, open-source raytracing software.
Syzygy is "a grid OS for PC cluster virtual reality," developed at the University of Illinois at Urbana-Champaign.

Dave Zielinski, of Duke Univeristy's CSEM, and Camille Goudeseune and Jim Crowell, both of UIUC's ISL are working together to create real-time, immersive, interactive raytracing, by integrating POV-Ray with Syzygy. The basic demo program is szgpov.py, distributed with the Aszgard Project Beta relased 6/20/06.



A challenge in developing interactive virtual environments to be rendered by raytracing is the potential for extreme fluctuations in the amount of time required to render a scene. A particular object, texture, or treatment of light may require the renderer to perform exponentially more ray tests, thus slowing the process of rendering that part of the scene.

In order to investigate the causes of such bottlenecks in interactive raytracing, I have worked with POV-Ray's histogram feature to produce "parallel animations" to the scenes being rendered. These animated histograms present time-per-pixel data in a dynamic, graphical format, corresponding to the visual content of the rendered scene. This technique permits a subjective view of the scenes' limiting factors with respect to rendering speed.

The Data-Encrusted World that Almost Was

We attempted to bring the CPU histogram feature into Syzygy; that is, to create a real-time test mode in the CUBE / CAVE / DiVE where we would replace the ray-traced images output by POV-Ray with the histograms showing the time required to trace those images.

However, we discovered a catch-22: the histograms I described above are a feature of the official POV-Ray software; the Syzygy/POV-Ray project uses the MegaPOV executable. Official POV-Ray offers histograms, but doesn't run as a console app (at least in the Windows release, which is implied for the CUBE and for Aszgard); MegaPOV runs from the console, but does not output histograms.

For the time being, we decided to leave this effort aside, rather than spend the effort to compile a custom version of POV-Ray just for this one feature.