Home      Discussion      Topics      Dictionary      Almanac
Signup       Login
Ray tracing hardware

Ray tracing hardware

Overview
Ray tracing hardware is a special purpose computer hardware design for accelerating real-time ray tracing.

The problem of rendering 3D graphics can be conceptually presented as finding all intersections between a set of "primitives
Geometric primitive
The term geometric primitive in computer graphics and CAD systems is used in various senses, with common meaning of atomic geometric objects the system can handle . Sometimes the subroutines that draw the corresponding objects are called "geometric primitives" as well...

" (typically triangles
Triangle
A triangle is one of the basic shapes of geometry: a polygon with three corners or vertices and three sides or edges which are line segments. A triangle with vertices A, B, and C is denoted ....

 or polygons
Polygon
In geometry a polygon is traditionally a plane figure that is bounded by a closed path or circuit, composed of a finite sequence of straight line segments . These segments are called its edges or sides, and the points where two edges meet are the polygon's vertices or corners...

) and a set of "rays" (typically one or more per pixel).

Typical graphic acceleration boards, so called GPU
Graphics processing unit
A graphics processing unit or GPU is a specialized processor that offloads 3D graphics rendering from the microprocessor. It is used in embedded systems, mobile phones, personal computers, workstations, and game consoles...

s, use rasterization algorithms. Using this approach, the GPU finds all intersections of a single primitive and all rays of the scene.
Discussion
Ask a question about 'Ray tracing hardware'
Start a new discussion about 'Ray tracing hardware'
Answer questions from other users
Full Discussion Forum
 
Encyclopedia
Ray tracing hardware is a special purpose computer hardware design for accelerating real-time ray tracing.

Ray Tracing vs. Rasterization


The problem of rendering 3D graphics can be conceptually presented as finding all intersections between a set of "primitives
Geometric primitive
The term geometric primitive in computer graphics and CAD systems is used in various senses, with common meaning of atomic geometric objects the system can handle . Sometimes the subroutines that draw the corresponding objects are called "geometric primitives" as well...

" (typically triangles
Triangle
A triangle is one of the basic shapes of geometry: a polygon with three corners or vertices and three sides or edges which are line segments. A triangle with vertices A, B, and C is denoted ....

 or polygons
Polygon
In geometry a polygon is traditionally a plane figure that is bounded by a closed path or circuit, composed of a finite sequence of straight line segments . These segments are called its edges or sides, and the points where two edges meet are the polygon's vertices or corners...

) and a set of "rays" (typically one or more per pixel).

Typical graphic acceleration boards, so called GPU
Graphics processing unit
A graphics processing unit or GPU is a specialized processor that offloads 3D graphics rendering from the microprocessor. It is used in embedded systems, mobile phones, personal computers, workstations, and game consoles...

s, use rasterization algorithms. Using this approach, the GPU finds all intersections of a single primitive and all rays of the scene. Well known brands such as Intel, NVIDIA
NVIDIA
Nvidia is a multinational corporation which specializes in the development of graphics processing units and chipset technologies for workstations, personal computers, and mobile devices...

 and ATI
Ati
As a word, Ati may refer to:* Ati, a town in Chad* Ati, a Negrito ethnic group in the Philippines** Ati-Atihan Festival, an annual celebration held in the Philippines* Ati, a queen of the fabled Land of Punt in Africa...

 have developed very efficient algorithms to do so.

The ray tracing algorithm solves the rendering
Rendering (computer graphics)
Rendering is the process of generating an image from a model, by means of computer programs. The model is a description of three-dimensional objects in a strictly defined language or data structure. It would contain geometry, viewpoint, texture, lighting, and shading information. The image is a...

 problem in a different way. In each step, it finds all intersections of a single ray with all primitives of the scene. The ray tracing algorithm has been around for some decades, but only recent research has led to interactive ray tracing that is able to compute this algorithm at more than several frames per second for complex scenes.

Both approaches have different benefits and drawbacks. Rasterization can be performed in a stream-like manner, one triangle at the time, and access to the complete scene is not needed. The drawback of rasterization is that non-local effects, like reflections
Reflection (computer graphics)
Reflection in computer graphics is used to emulate reflective objects like mirrors and shiny surfaces.-Specular reflection:Specular reflection is the mirror-like reflection of light from a surface...

, refraction
Refraction
Refraction is the change in direction of a wave due to a change in its velocity. This is most commonly observed when a wave passes from one medium to another...

, shadows
Shadow
A shadow is an area where direct light from a light source cannot reach due to obstruction by an object. It occupies all of the space behind an opaque object with light in front of it...

 and realistic lighting, are very difficult to compute.

The ray tracing algorithm can also be parallelized
Parallel computing
Parallel computing is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently . There are several different forms of parallel computing: bit-level,...

 very well if each ray is considered separately. However, memory bandwidth
Bandwidth (computing)
In computer networking and computer science, digital bandwidth, network bandwidth or just bandwidth is a measure of available or consumed data communication resources expressed in bit/s or multiples of it ....

 is crucial, as various parts of the scene need to be accessed. But it can easily compute various kinds of physically correct effects, providing much more realistic impression than rasterization.

An additional advantage is logarithmic complexity
Computational complexity theory
Computational complexity theory is a branch of the theory of computation in computer science that focuses on classifying computational problems according to their inherent difficulty. In this context, a computational problem is understood to be a task that is in principle amenable to being solved...

 of ray tracing in number of scene objects and possibility of using more complex primitives without their prior triangulation. The biggest drawback for real time ray tracing is the need for quite costly recomputations of spatial index
Spatial index
Spatial indexes are used by spatial databases to optimize spatial queries. Indexes used by non-spatial databases cannot effectively handle features such as how far two points differ and whether points fall within a spatial area of interest...

 structures in case of highly dynamic scenes. Some problems remain to be solved, such as ray tracing of lines and text.

In the past, raytracing could be done in hardware with IrisGL
IRIS GL
IRIS GL was a proprietary graphics API created by Silicon Graphics for producing 2D and 3D computer graphics on their IRIX-based IRIS graphical workstations. Later SGI removed their proprietary code, reworked various system calls, and released IRIS GL as the industry standard OpenGL.- External...

 on Silicon Graphics
Silicon Graphics
Silicon Graphics, Inc. was a manufacturer of high-performance computing solutions, including computer hardware and software, founded in 1981 by Jim Clark and Abbey Silverstone...

 systems. IrisGL used the Geometry Engine processors to achieve this. This feature was later abandoned when OpenGL replaced IrisGL.

Implementations


Today there are two existing implementations of ray tracing hardware:
  • ART VPS company, situated in the UK, sells ray tracing hardware for offline rendering.
  • Saarland University
    Saarland University
    Saarland University is a university located in Saarbrücken, the capital of the German state of Saarland. It was founded in 1948 in co-operation with France and is organized in 8 faculties that cover all major fields of science. The university is particularly well known for research and education...

    , is striving to develop a real-time ray tracing chip. So far they have published two designs: SaarCOR
    SaarCOR
    SaarCOR is an early experimental ray tracing hardware, developed at the Saarland University.As SaarCOR is not programmable, it accelerates only a small part of the ray tracing process that deals with finding intersections....

     and the RPU
    Ray Processing Unit
    The Ray Processing Unit is experimental ray tracing hardware device, developed at the Saarland University. It will be 50-100 times faster than the most advanced graphics processing unit....

    .