OpenGL 1.3 Limitations
The bulk of graphics development was centred on 2D rendering
until 1997. The only areas of computing utilizing 3D technologies before this time were generally in the extremely
high-end professional markets, such as CAD or virtual reality. The mid-90's release of desktop-oriented 3D accelerators
like 3dfx's Voodoo or Rendition's Verite ushered in the concept of affordable 3D graphics for most mainstream PC
users. Nearly a half decade later, desktop 3D video cards now include options like cube mapping, hardware transform/lighting,
and programmable vertex/pixel shading. The OpenGL interface has evolved along with these new rendering features,
but today's OGL 1.3 does have substantial room for improvement as the next generation of video chipsets could finally
outpace the capabilities of this venerable standard.
OpenGL 1.3 suffers from several major limitations, especially in regards to extending the base programming interface
to include additional rendering options. For example, the base OGL 1.3 specification documentation is approximately
284 pages of programming conventions and theory, while nVidia's extension documentation needed to implement options
like per-pixel shading is well over 500 pages in length. The concern over efficient programming is clearly apparent
once one factors in proprietary extensions from other corporations like ATI, Matrox, STMicro and the vast number
of other companies currently offering OpenGL compliant drivers.
The age of OpenGL 1.x is the primary contributor to these limitations, as hardware has evolved at such a rapid
pace over the past few years. Systems that were considered to offer high performance only a couple of years ago
are now entry-level configurations at best. The rapid development of hardware plays a significant role, as many
manufacturers are adding OpenGL extensions without any real inter-corporate centralization in order to release
products by usually grossly misrepresented retail availability deadlines.
Worse yet, it appears OpenGL is following nearly the same development
paradigm as DirectX. DX7 was the last fixed-function D3D interface, with the current DX8 standard being devised
around poorly coordinated implementations of programmable rendering options. DX8 offers v1.2 programmable options,
while DX8.1 offers a slightly improved v1.4 programmable feature set. This development schedule can wreak havoc
on developers and hardware engineers. For example, the GeForce-3 supports v1.2, but the Radeon 8500 supports v1.4.
In can be expected that programmers will likely opt for the lowest common denominator when coding, thus it is suspect
whether some of these staggered options will ever be included in software released in the near future. Only with
the release of DirectX 9 does Microsoft plan to offer a hardware independent programmable interface.
Some developers have proposed extensions to OpenGL 1.3 to add
programmable rendering options including various extensions which may not be compatible with hardware from another
manufacturer. Efforts are also being established to institute a generalized extension set for programmable shading,
though these are still largely hardware dependant, thus they will not work with all OpenGL implementations. The
goal of 3Dlabs' OpenGL 2.0 initiative is to create an uniform standard with a hardware independent shading language
that functions with nearly all OpenGL compliant graphics accelerators.