XxStratoMasterXx said:
Ah, so say if nVidia wanted to show off a new feature in an opengl game (lets just say doom 3 since it's a recent ogl game) that only works with their extension, and they had the code, they could impliment it? Then later on ARB makes a standard?
I think you're still confused
"If they had the code" isn't quite the right question to ask. They know the hardware feature set because they designed the part.
1)NVIDIA
writes the entire OpenGL driver ("implementation") for their cards, and so does ATI, so does S3 etc. They control all of the code that sits between applications using OpenGL and their hardware.
That's because the ARB produces specifications only. There's no "OpenGL driver code" coming out of the ARB (as a whole -- the IHVs are ARB members after all).
(Not entirely true. Eg 3DLabs released a reference GLSL compiler frontend and a validation tool. But that's just a normal collaborative effort. None of this code is mandatory to include in actual drivers.)
2)Through the extension mechanism, they can add whatever they want to their OpenGL driver. They could write an NV_fan_speed_control extension and put it into the drivers if they really wanted to. Once an extension is in the drivers and documented (there are rules for writing extension documents btw), anyone can immediately use it, including themselves.
So yes, if there's a hardware feature only NVIDIA has, and they want to expose it, either for their own demos or for use by other developers, they can do that with the OpenGL model. They've done so with "UltraShadow", they've done so with their "CineFX" stuff and on many other occasions.
But they can't force an application to use a specific extension. They would have to ask JohnC to build "UltraShadow" support into the Doom 3 codebase. I don't think he just handed the engine source code over to NVIDIA for them to play around with it