History
Texas Instruments created the first programmable graphics processor in 1985: the TMS34010, which allowed developers to load and execute code on the processor to control pixel output on a video display. This was followed by the TMS34020 and TMS34082 in 1989, providing programmable 3D graphics output.
NVIDIA released its first video card NV1 in 1995, which supported quadratic texture mapping. This was followed by the Riva 128 (NV3) in 1997, providing the first hardware acceleration for Direct3D.
Various video card vendors released their own accelerated boards, each with their own instruction set for GPU operations. The OpenGL Architecture Review Board (ARB) was formed in 1992, in part to establish standards for the GPU industry.
The ARB and NVIDIA established a number of OpenGL extensions to standardize GPU programming:
- EXT_texture_env_combine - provided a programmable method of combining textures.
- NV_register_combiners - GeForce 256
- NV_vertex_program - GeForce 3
- NV_texture_shader - GeForce 3
- NV_texture_shader3 - GeForce 4
- NV_vertex_program2 - GeForce FX
- NV_fragment_program - GeForce FX
This culminated with ARB's 2002 release of
- ARB_vertex_program
- ARB_fragment_program
These two extensions provided an industry standard for an assembly language that controlled the GPU pipeline for 3D vertex and interpolated pixel properties, respectively.
Subsequent high-level shading languages sometimes compile to this ARB standard. While 3D developers are now more likely to use a C-like, high-level shading language for GPU programming, ARB assembly has the advantage of being supported on a wide range of hardware.
Note however that some features, such as loops and conditionals, are not available in ARB assembly, and using them requires to adopt either the NV_gpu_program4 extension, or the GLSL shading language.
Most non-nVidia OpenGL implementations do not provide the nVidia ARB assembly extension and do not offer any other way to access all the shader features directly in assembly, forcing the use of GLSL even for machine generated shaders where assembly would be more appropriate.
Read more about this topic: ARB (GPU Assembly Language)
Famous quotes containing the word history:
“The myth of independence from the mother is abandoned in mid- life as women learn new routes around the motherboth the mother without and the mother within. A mid-life daughter may reengage with a mother or put new controls on care and set limits to love. But whatever she does, her childs history is never finished.”
—Terri Apter (20th century)
“To summarize the contentions of this paper then. Firstly, the phrase the meaning of a word is a spurious phrase. Secondly and consequently, a re-examination is needed of phrases like the two which I discuss, being a part of the meaning of and having the same meaning. On these matters, dogmatists require prodding: although history indeed suggests that it may sometimes be better to let sleeping dogmatists lie.”
—J.L. (John Langshaw)
“No one can understand Paris and its history who does not understand that its fierceness is the balance and justification of its frivolity. It is called a city of pleasure; but it may also very specially be called a city of pain. The crown of roses is also a crown of thorns. Its people are too prone to hurt others, but quite ready also to hurt themselves. They are martyrs for religion, they are martyrs for irreligion; they are even martyrs for immorality.”
—Gilbert Keith Chesterton (18741936)