The Ray-Casting Engine: General Description:

The Ray-Casting Engine (RCE) is an application specific, parallel computer. The RCE is designed to compute the intersections of a regular grid of parallel lines with 3-Dimensional objects. The machine is loaded with a description of a set of equally spaced parallel lines and a Constructive Solid Geometry (CSG) description of a three-dimensional object. The RCE computes all the intersections between the set of lines and the 3-D object. The computation is done in parallel.

The output from the RCE is a long list of interval segments. Each interval in the list represent an interval of intersection between a ray and an object. This collection of interval segments is a discrete approximation of the 3-Dimensional object. WE call this discrete approximation of the object: the Ray-Representation of the object. So, one way of looking at the Ray Casting Engine is as a parallel machine that converts continuous CSG representations of three dimensional objects into discrete ray representations.

RCE 1.0

The prototype machine RCE-1.0 was in operations since the summer of 1990. Two copies were made: one for Duke University and one for Cornell University. The RCE-1.0 had an array of 2304 (256*9) custom bit serial processors. It was housed inside an ADAGE-3000 frame buffer. The ADAGE-3000 bipolar bit-slice processor is used to control the RCE. A small (8 Mbyte) dual port memory is used for storing intermediate results. The Ray-Casting Project here at Duke was done in collaboration with the Cornell Programmable Automation project at the Sibley School of Mechanical Engineering at Cornell University. Most of the software algorithms and applications were developed at Cornell University by Professor Herbert Voelcker's group.

In late 1991 professor Michael Prisant of the Chemistry Department at Duke University and I have started collaborating using the RCE for modeling proteins. Professor Prisant and his students have developed new and exciting applications for ray-casting. RCE-1.0 was extensively used to calculate protein's volume and solvent accessible surface area and to analyze the internal and external cavities of proteins.

RCE 1.5

The development of an upgraded version of the Ray Casting Engine, RCE-1.5 was recently (March 1995) complete. Copies of RCE-1.5 were delivered to Cornell University, Sandia Laboratory and Duke's Chemistry Department.

The new system uses the same processor array core of RCE-1.0 but upgrades the major shortcomings of the "old" RCE-1.0 system. The RCE-1.5 uses VME bus for host interface, has a large (96 Mbyte) internal buffer, has hardware DMA transfer to and from the host, hard-wired data recirculation and data compression to enhance data flow into and out of the RCE processor array.

We are now in the process of putting together the RCE-1.5 On-line Documentation The Documentation will be provided in PDF file format and is readable with Adobe's Acrobat reader. The Acrobat reader is available free of charge by accessing Downloadable Software from Adobe.