Graphics Reference
In-Depth Information
Fixed-function
Hybrid
Programmable only
OpenGL 1
OpenGL 1.4
OpenGL “Core” 3.2, 4.x, ...
Direct3D 2
RealityLab
Direct3D 8
Direct3D 10
1992
1995
2001
2009
Figure 16.1: Evolution of two important commercial real-time 3D graphics platforms:
OpenGL and Direct3D.
Section 36.3. The modules in the pipeline were configurable via parameters, but
their algorithms were hardwired and could not be customized or replaced. Thus,
the IM platforms in that era were focused on providing access to the FF features,
and as new features were introduced in successive hardware releases, the IM APIs
expanded to provide access.
16.1.1.2 Extensibility via Shaders: The “Hybrid Pipeline” Era
As the CG community demanded ever-higher levels of control over the rendering
process and greater access to GPU capabilities, the popularity of shaders surged
in the early 2000s—almost a full two decades after their introduction in a sem-
inal 1984 paper by Rob Cook and pioneering implementation as part of Pixar's
RenderMan software developed by Hanrahan et al. The term “shader” is mislead-
ing, as it would seem to restrict its utility to just surface-color determination—in
actuality, the technology encompasses many stages of the rendering pipeline and
the term thus refers to any programmable module that can be dynamically installed
into the 3D rendering pipeline.
For many years, shader programming had a steep learning curve due to its
assembly-language specification; however, in the 2003-2004 time frame, shader
programming became more accessible with the development of high-level lan-
guages (similar to C) like HLSL/Cg (from a Microsoft/NVIDIA collaboration)
and GLSL (introduced in OpenGL 2.0, designed by the OpenGL Architecture
Review Board).
The IM layer initially treated shader support as an add-on to the FF pipeline,
and for many years, fixed and programmable features co-existed, with applications
using the FF pipeline when appropriate and installing supplementary shaders as
needed. For example, an animation house working on a movie could use the hybrid
pipeline to facilitate real-time tests of scenes before moving on to expensive ray-
traced renderings; the availability of shaders could be used to allow the real-time
rendering to have at least some special effects such as a water-surface effect that
cannot be achieved with the FF pipeline.
16.1.1.3 The Programmable Pipeline
As would be expected, reliance on the FF pipeline has decreased as the expecta-
tions of movie audiences and video gamers regarding imaging quality have surged,
setting off a race among application programmers and GPU designers to provide
the next “cool effect.” As a result, in the middle of this century's first decade,
both OpenGL and Direct3D began the process of deprecating the FF pipeline.
Starting with OpenGL 3.2, the fixed functions have been moved to OpenGL's
 
 
Search WWH ::




Custom Search