data structures in the most efficient manner. It also allows scene management computations to be performed on the high-performance graphics hardware, eliminating a bottleneck on the CPU.

Support for game physics and AI. A flexible parallel architecture can easily support computations such as collision detection, fluid dynamics simulations (e.g., for explosions), and artificial intelligence for game play. It also allows these computations to be tightly integrated with the rendering computation.

Rapid innovation. Software can be changed more rapidly than hardware, so a flexible parallel architecture that uses software to express its graphics algorithms enables more rapid innovation than traditional designs.

The best choice for the system as a whole is to use flexible parallel hardware that permits software to use aggres-

 

E volution of Data Structures a . current systems s cene graph for s cene management

no spatial
data structure

z-buffer
rendering/
visibility
on graphics
processor

CPU

specialized hardware

b. future systems

unified data structure scene management and visibility

(lazy) (lazy)

(lazy)

general-purpose parallel graphics hardware

scene graph visibility data structure

sive algorithmic specialization and optimization, rather than to use specialized parallel hardware that mandates a particular algorithm.

PROGRAMMING MODEL

When I say that future graphics architectures are likely to support an extremely flexible parallel programming model, what do I mean? There is considerable debate within the graphics hardware community as to the specific programming model that graphics architectures should adopt in the near future. I expect that in the short term each of the major graphics hardware companies will take a somewhat different path. There are a variety of reasons for this diversity: different emphasis placed on adding new capabilities versus improving performance of the old programming models; fundamental philosophical differences in tackling the parallel programming problem; and the desire by some companies to evolve existing designs incrementally.

In the longer term (five years or so), the programming models will probably converge, but there is not yet a consensus on what such a converged programming model would look like. This section presents some of the key issues that today’s graphics architects face, as well as thoughts on what a converged future programming model could look like and the challenges that it

E volution of Overall Graphics System

a . today b . future application artist application artist tools tools

game engine game engine (includes high-level (includes all rendering algorithms) rendering graphics API algorithms and management of (DirectX, Open GL) parallelism) graphics driver

graphics hardware

(includes low-level rendering algorithms) graphics hardware

F IG 5

References:

mailto:feedback@acmqueue.com

Archives