Graphics Reference
In-Depth Information
curve without changing code. There were many others working in hardware
shaders at that time, and we apologize to anyone whose work we omited.
By the early 2000s, graphics hardware had become sophisticated and fast
enough that people started thinking that it needed the same sort of flexible
shading capability that Rob Cook had described nearly 20 years before. The
first implementations of this were Cg [29] [16] and HLSL (High Level Shader
Language) [33], which, while separate products, were developed in lockstep
and thus look very similar. Cg was developed by NVIDIA Corporation, while
HLSL was developed by Microsoft as part of its Direct3D graphics API. Close
behind came GLSL (OpenGL Shading Language), created by the OpenGL
Architecture Review Board (ARB).
These three hardware-oriented shader languages do things a litle difer-
ently, but all have the same basic functionality: vertex, geometry, and fragment
(or pixel) shaders, a C-like language, and access to key data values within the
graphics pipeline. This topic bases all its application examples on GLSL, but
the same underlying concepts are common to all three languages, and the code
can be readily translated between them. If you know one of the three, learning
the other two isn't hard.
OpenGL Shader History
To understand the nature of OpenGL
shaders, we need to look more
deeply at OpenGL's evolution, and
particularly to the evolution of shad-
ers and shader technology in the last
few years. Table 2.1 shows the time-
line for OpenGL's versions.
OpenGL Release
GLSL Release
When
1.0
---
1993
1.1
---
1997
1.2
---
1998
1.3
---
2001
1.4
---
2002
1.5
---
2003
2.0
1.10
2004
OpenGL 2.0/GLSL 1.10
2.1
1.20
2006
This version of OpenGL introduces
shader-based graphics program-
ming, including programmable ver-
tex and fragment shaders and the
GLSL language. Each of these is the
subject of a later chapter in this topic.
These shaders restore an enormous
amount of flexibility and creativity
3.0
1.30
July 2008
3.1, 3.2, 3.3
3.30
July 2009
4.0
4.00
March 2010
4.1
4.10
July 2010
4.2
4.20
August 2011
Table 2.1. Evolution of OpenGL and GLSL.
Search WWH ::




Custom Search