OpenGL 3 (3DLabs And The Evolution Of OpenGL)
To fully understand the controversy that surrounded the announcement of OpenGL 3, we have to go back a few years to 2002. At that time, as we said in our introduction, OpenGL was losing ground. Up until that point, DirectX had simply copied the capabilities of OpenGL. This time, however, SGI’s API had been overtaken. With DirectX 9, Microsoft introduced support for a high-level shader language, HLSL, and OpenGL had nothing to compare. It is important to note that OpenGL’s origins lie with IRIS GL, an API initially created by SGI to expose the functionality of its hardware. For a long time, ATI and Nvidia simply followed SGI’s rendering model, which meant that OpenGL was especially well-suited to the makers’ cards even before they were released. But with the introduction of shaders, the new GPUs moved away from the traditional rendering pipeline.
At the time, one company realized the importance of the need for a rapid evolution to OpenGL if the API had any hope of being applied to modern GPUs: 3DLabs. That’s not surprising, because 3DLabs abandoned gaming cards after its Permedia 2 was EoLed to concentrate on the professional market, where OpenGL is the standard. 3DLabs presented a plan with several points for bringing OpenGL into a new era. First was inclusion of a high-level shader language: GLSL. Then it called for complete revision of the API. Many of its features no longer made sense on modern 3D cards, but the need for backward compatibility required GPU manufacturers to support them at least at the software level. Not only does that make writing drivers more complex, increasing the occurrence of bugs, but the legacy capabilities also made the API confusing for new programmers.
So 3DLabs wanted to expose a subset of functionality that would guarantee efficient execution by the GPU and eliminate outmoded or redundant features. This subset was called OpenGL 2.0 Pure and was intended for developers of new applications. For backward compatibility, the full set of extensions in OpenGL 1.x was available in Open GL 2.0.
Unfortunately, after interminable discussions within the ARB, the plan was rejected. And when OpenGL 2.0 finally became available, all it did was to add support for GLSL to the API. All of 3DLabs’ other proposals ended up in the trash, leaving OpenGL still lagging behind the Microsoft API.



So, is the tesselation stage similar to AF or bi/trilinear filtering?
Tesselation, from what I've seen, takes a simple model intended for say a 4650 and "upgrades" it in memory making it more complicated and details for higher end cards. If I understand this correctly it will drastically reduce development time and costs while increasing visual quality.
Hmm, not sure about "upgrading" in memory. I looks like it just lets you pass in the control points that define your geometry rather than passing in all vertices for the mesh, which you yourself would probably have defined in a similar manner anyway.
Direct3D remains utterly irrelevant to me as a Linux user.
Direct3D remains utterly irrelevant to me as a Linux user.
But it is relevant to a lot of GNU/Linux users as the Wine programmers have to compatiblise what M$ implements in their 3D API... Currently they are making a dogs dinner of DirectX 9.0 support. However Windows games are generally well supported if they have an OpenGL option... Far Cry for example will not render under Wine in DirectX mode but when switched to OpenGL it works very well.
It is sad to hear about the difficulties OpenGL is having therefore.
Bob
Tessellation as far as I'm aware is adding more triangles to a model to give smoother surfaces over curves. It does not add any visual details but does add to the complexity of the model.
It breaks down the existing geometry into smaller triangles. (most 3d models are built out of triangles to begin with)
Very good aricle, thanks! I'm an OpenGL developer as well, and I wish it the best. I think that now, OpenGL needs money and commercial support - unfortunately these are the rights of current world. It would be a shame to have only one modern 3D API...
"the professional market, where OpenGL is the standard"
what market are you talking about? Please detail. Your readers are mostly common computer users, not specialsts knowing in-depth details about the computer graphics market.
"Since the ARB—the group in charge of ratifying the API’s development—included many different, competing companies.."
What are the most important members of this ARB? Whose words have big weight in that group? The readers might be curious - who are the people generating the conflicts that slow down the OpenGL evolution?
And by the way, why ATI and nVidia don't just take care about OpenGL and ignore that silly ARB? If they can't because of patents and such, they should make a new API from the scratch. Im pretty sure they are more than capable of it.
The problem with OpenGL is that industry users (e.g. CAD and scientific users) are opposed to change in the API which is blatantly against the ethos of the games development community. Industry users have already spent a lot of money on the OpenGL apps, so naturally they don't want the features they use to die. I think that what Khronos has done to date is the most logical route to take given the constraints they are working within.
The ideal solution would be to cut any ties that lead to a conflict of interest and pursue untainted API refreshes as they had originally promised.
As a cross-platform developer I want OpenGL to be a true competitor to D3D, I don't use anywhere near the full feature set of what current versions provide but if it looses at the top end, support will dwindle and the bottom end will also be affected.
If OpenGL even have a chance of competing against DirectX 10, then I'm more than impressed! OpenGL is the way to go for Linux and I and many others with me would like to use Linux as an gaming platform instead of Windows.
I'm very tired of using Windows and I don't like the operating system. It works, but it isn't very fun, unlike Linux which IS a enjoyable experience and feels fast even on old computer hardware, unlike Windows which never get the power it needs.