What is Ray Casting ?

Posted by Marwan Abd Ellah on Saturday, September 25, 2010 Under: Visualization & Computer Graphics
Volume ray casting, sometimes called volumetric ray castingvolumetric ray tracing, or volume ray marching, is an image-based volume rendering technique. It computes 2D images from 3D volumetric data sets. Volume ray casting, which processes volume data, must not be mistaken with ray casting, which processes surface data.

Classification

The technique of volume ray casting can be derived directly from the rendering equation. It provides results of very high quality rendering. The adaptive sampling strategy allows dramatically reduce number of samples to reduce rendering time however, adaptive sampling along each individual ray does not map well to GPU therefore, it is a common perception that this technique is very slow and not suitable for interactive rendering. Multi-core CPU on the contrarily is a perfect fit for this technique and may benefit marvelously from adaptive sampling to be suitable for interactive ultra-high quality volumetric rendering. Volume ray casting is classified as image based volume rendering technique, as the computation emanates from the output image, not the input volume data as is the case with object based techniques.


Basic Algorithm

The four basic steps of volume ray casting: (1) Ray Casting (2) Sampling (3) Shading (4) Compositing.

In its basic form, the volume ray casting algorithm comprises four steps:

  1. Ray casting. For each pixel of the final image, a ray of sight is shot ("cast") through the volume. At this stage it is useful to consider the volume being touched and enclosed within abounding primitive, a simple geometric object — usually a cuboid — that is used to intersect the ray of sight and the volume.
  2. Sampling. Along the part of the ray of sight that lies within the volume, equidistant sampling points or samples are selected. As in general the volume is not aligned with the ray of sight, sampling points usually will be located in between voxels. Because of that, it is necessary totrilinearly interpolate the values of the samples from its surrounding voxels.
  3. Shading. For each sampling point, the gradient is computed. These represent the orientation of local surfaces within the volume. The samples are then shaded, i. e. coloured and lighted, according to their surface orientation and the source of light in the scene.
  4. Compositing. After all sampling points have been shaded, they are composited along the ray of sight, resulting in the final colour value for the pixel that is currently being processed. The composition is derived directly from the rendering equation and is similar to blending acetate sheets on an overhead projector. It works back-to-front, i. e. computation starts with the sample farthest from the viewer and ends with the one nearest to him. This work flow direction ensures that masked parts of the volume do not affect the resulting pixel.

Examples of high quality volumetric ray-casting

Crocodile mummy provided by the Phoebe A. Hearst Museum of Anthropology, UC Berkeley. CT data was acquired by Dr. Rebecca Fahrig, Department of Radiology, Stanford University, using a Siemens SOMATOM Definition, Siemens Healthcare. The image was rendered by Fovia's High Definition Volume Rendering® engine

The gallery represents an output of high-quality volume ray casting. Commonly the crisp appearance of volume ray-casting images distinguishes them from output of texture mapping VR due to higher accuracy of volume ray-casting renderings.

The CT scan of crocodile mummy has resolution 3000x512x512 (16bit), the skull data-set has resolution 512x512x750 (16bit).


 

In : Visualization & Computer Graphics 


Tags: ray casting 
 

Tags

Blog Archive

An article shall be appended to this list on a daily basis INSHAA ALLAH.

All Rights Reserved to Marwan Abd Ellah 2009 - 2010