Skip to main content

Interactive Ray Tracer for Cell Broadband Engine

A proof-of-technology visual demonstration of the graphics power of the Cell Broadband Engine for realistic real-time animation on the Playstation 3 or QS21 platforms.

Date Posted: August 29, 2007

alphaworks tab navigation

 

What is Interactive Ray Tracer for Cell Broadband Engine?

Interactive Ray Tracer for Cell Broadband Engine™ demonstrates the power of the Cell Broadband Engine for interactively ray tracing high-definition television (HDTV) images of complex scenes. Interactive Ray Tracer can run on both the Playstation 3 and QS21 Cell Broadband Engine-based platforms. A single Linux® binary is supplied that renders the provided scene. Interactive Ray Tracer serves as an example to those interested in the digital media, graphic rendering, and high-performance computing aspects of the Cell Broadband Engine's capabilities.

Interactive Ray Tracer has been shown at three major conferences (Super Computing '06, Game Developer's Conference '07, and SIGGRAPH '07) and is now available as a downloadable demonstration for users with access to either Sony Playstation 3 or QS21 Cell Broadband Engine-based hardware. A demonstration model is provided, allowing users to animate in real time a three-dimensional, high-definition model using the tool.

How does it work?

Ray tracing is a rendering technique used by the film industry and is considered too computationally expensive for today's game systems. However, Interactive Ray Tracer enables the Cell Broadband Engine processor to achieve real-time performance with this rendering process, once considered only for offline.

Ray tracing is much more computationally expensive than the more commonly used raster graphic process. Both attempt to create realistic images, but only ray tracing delivers optically correct results. The raster graphic process falls short because it considers each object in a scene as an isolated entity. Ray tracing, on the other hand, takes into account the interaction of light between objects, allowing for correct reflections, refractions, and shadows. Ray tracing is also able to compute the effects of indirect lighting, where light is transferred from one surface to another. This technique is called "global illumination;" the first step in this direction is "Ambient Occlusion," which is implemented by Interactive Ray Tracer.

Today a large, complex, ray-traced scene might take hours to render. If that is multiplied by number of frames (24 to 30) in a typical second of animation and then by the length of the animation, it is easy to see why production studios are investing heavily in server clusters for generating feature films. Now consider the implications within the context of an interactive video game where, as opposed to a scripted film, every possible scenario must be taken into account and each frame must be rendered in 1/60 of a second. For this reason, ray tracing has long been considered too expensive for interactive purposes.

However, the Cell Broadband Engine processor can trace high-definition frames in fractions of a second. This processor provides a cost-effective alternative to current ray-tracing options and helps free studios from the limitations of low-fidelity, raster-based graphics approximations in their final production frames.

On the Playstation 3 running Linux, six of the Cell Broadband Engine's eight SPEs are available and are deployed for ray tracing. The RSX graphics chip normally used to compute images sits idle as 720p or 1080p frames are computed by software and sent directly to the framebuffer. Furthermore, the user can navigate through the scene with the PS3 controller.

On an IBM® BladeCenter® QS21, a fixed orbit is selected around the scene and frames are output to memory or, optionally, stored to files rather than being displayed. Using the Blade's two Cell Broadband Engines, with a combined 16 SPEs, for ray-tracing performance is dramatically enhanced and continues to increase linearly with the clustering capabilities of the full Interactive Ray Tracer server.

Please also see the following:

About the technology author(s)

Barry Minor is a senior software engineer with IBM. Having developed five generations of 3D hardware including the industry-leading Diamond FireGL1, FireGL2, and FireGL3, he joined the Cell Broadband Engine processor team at its inception and played a large role in defining the SPE ISA. His research interests include rendering algorithms and their mapping to high-performance processors. Mr. Minor received a B.S. in computer engineering from the University of Washington.

Mark Nutter is a senior software engineer and IBM Master Inventor working for IBM's Systems & Technology Group. His responsibilities include adapting algorithms, programming models, and operating system software to multicore processors such as the Cell Broadband Engine. His research interests include large model visualization. Mr. Nutter received a B.S. in computer science from the University of New Mexico.

Joaquin Madruga is a software engineer working for the IBM Quasar Development Center. He is responsible for distributed scheduling and memory management in Interactive Ray Tracer. He is interested in scheduling and resource distribution in heterogeneous compute environments. Mr. Madruga received a B.S. in computer science from Georgia Institute of Technology.

Ross Mikosh is a software engineer with IBM in the Cell Advanced Applications development team. He is responsible for automating Cell Broadband Engine memory overlays in Interactive Ray Tracer. His interests include parallel programming, distributed computing, and performance optimization. Mr. Mikosh received a B.S. in computer science from the University of Texas at Austin and an M.S. in computer science from Texas State University.

Trademarks




Related technologies