What is the OpenGL eqivalent to Sm2.0/3.0?

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?

The ARB only makes a standard if there is a good reason to. For example, the "UltraShadow" is an OpenGL NVIDIA extension. Carmack coded support for it, it gets used, but probably will never be promoted to ARB because it's use is very limited and it just speeds things up (but darn easy to code for it). Other stuff, like ATI_float_buffer is supported by both ATI and NVIDIA, and being important, got promoted to an ARB extension (with some cleaning up).

PBuffers is an ARB extension (very old and stupid). Carmack complained because it is very complicated to use (does the job but it's a pain). Solution: ARB_framebuffer_object. In this extension, both NVIDIA, ATI, IBM and 3DLabs (and others) are working on it:

Super-buffers ARB workgroup chair said:
It might be of interest to know that ATI and NVIDIA are succesfully co-authoring the specification.

Isn't it beautifull?! :D
 
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 ;)
 
Ostsol said:
V3 said:
Like ATI F-buffer. That one took awhile, actually I haven't check if they put an extension to it yet. Have they ?
Still nothing. :(
If the elusive F-Buffer ever comes online, I wouldn't expect it to be in the form of another extension. It rather should just "magically" increase the instruction limits for ARB_fragment_program and/or ARB_fragment_shader.
 
Ingenu said:
zeckensack said:
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 ;)

Ultra Shadow is just that : GL_EXT_depth_bounds_test
I know. And I know it's already been done. Sorry for the miswording. Make that "would have had" :)
 
AndrewM said:
Sigma said:
Super-buffers ARB workgroup chair said:
It might be of interest to know that ATI and NVIDIA are succesfully co-authoring the specification.

Isn't it beautifull?! :D

And superbuffers got canned. ;)

No, just another name: EXT_framebuffer_object. The original super buffers was to much complicated and no hardware would support it 100% (or 85% for that matter). They are cleaning things up and adding new stuff, but the workgroup name remains the same, hence "Super-buffers ARB workgroup chair". What I qouted was posted in 10-08-2004 on OpenGL's forums...
 
Back
Top