A new UK Government took office on 11 May. As a result the content on this site may not reflect current Government policy.
All statutory guidance and legislation published on this site continues to reflect the current legal position unless indicated otherwise.

NVIDIA offers GPU support for ray tracing

Ray tracing is a set of alternative algorithms designed to add more accurate lighting and shadow to a scene

Ray tracing is a set of alternative algorithms designed to add more accurate lighting and shadow to a scene rendered by a graphics processing unit (GPU). Traditionally, programs use image maps to calculate which objects from a three dimensional scene are viewable from the user's perspective. These objects are rendered as many thousands of individual triangles, determined by the brightness and colour of each surface in view, and then reprocessed by 'image shaders' and other graphics processing streams to add textures, shadows and highlights. These systems are now highly efficient, supported by thousands of processing 'cores' on more expensive graphics cards, generating real time imagery for 'first person shooter' games and virtual worlds. However, close inspection of still images from such applications reveals that reflections from curved surfaces and or other reflecting objects are often poorly rendered.

Ray tracing generates the image by beaming 'light' backwards from the eye of the viewer to surfaces in view and then following reflected beams on through the virtual image until they reach a light source. Depending on the type of surface, angle, curvature and so on, these reflected beams will take on the characteristics (especially colour and brightness) of each surface they encounter and the original light sources that would have originally generated them. However, this process becomes complex, as multiple beams must be cast 'back' from each surface to find possible primary light sources or secondary sources reflecting a primary source, introducing a level of complexity that can provide more photo-realistic results, but at added computational cost. Processing requirements are further compounded by translucent and diffusive surfaces, and projecting rays towards objects that may have no effect on the value of a particular pixel.

NVIDIA announced at the SIGGRAPH graphics conference earlier this month that its OptiX engine for real-time ray tracing would be widely available later this autumn. Like AMD's chips and Intel's forthcoming Larrabee processor, NVIDIA's high-end graphics cards contain multiple, highly parallelised graphics pipelines ideally suited to this type of repetitive task, but programming these can be an arduous assignment. The OptiX programmable pipeline is designed to simplify ray tracing problems on NVIDIA GPUs by providing a C programming interface that utilises NVIDIA's CUDA graphics environment.

NVIDIA sees the tools being used in many applications that need to model some type of radiative effect, such as optical design, acoustics and radiation research, as well as rendering high resolution imagery. Using the GPU as a numerical co-processor potentially reduces the cost of the host system, as highly parallelised tasks can be offloaded to the GPU, while demanding less of the CPU. This type of system is more likely to be found in design and graphics departments, or in research labs. (GPU computing was covered in TechNews 09/08.)


Comments [0]

Note: All comments will be reviewed by Becta before being published.

PDF creator

Add pageLink to PDF creator help

You currently have no articles chosen

Latest Tech analysis

Download the latest TechNews digest


Propose an article

propose an article

If you have an article you would like published on this site please get in touch. Email us your article proposal.