Originally posted by deepmind:
The following issues bother me. Is it worth to start a 3-year project targetting OpenGL2.0 compliant hardware?
Absolutely. Whatever the final language the ARB approves is likely to offer similar capabilities to what is being proposed for OGL2 so it should be fairly simple to translate.
- Now that MicroSoft owns many SGI patents, won’t they use that to slow OpenGL progress (at the March ARB meeting, they evoked their “concerns” about IP issues, and may I be paranoïd or not I think that fits in a whole “plan” for D3D9 & 10)
I have no insight as to why Microsoft are doing this but it impacts Cg a lot more than OGL2. Cg relies on a lower level assembler interface and if that interface does not exist as a standard then that can only leave Cg as an nvidia-only proprietarily extension. Microsoft have effectively put the 1.4 vertex program on hold at the ARB with this tactic. Let us not forget that that Cg also needs to sit on top of a fragment program layer as well, and work (and consensus) in this area is trailing the vertex program by a long long way.
I don’t think OGL2 is impacted as pretty much all the ideas it uses has been around since the late 80s in the form of RenderMan and its predecessors so Microsoft cannot have any claim on these (implementation details are another matter).
- NVidia just launched Cg. I think NVidia has plans too and want to take over the market before we get a unified API. Am I wrong? (I’m not a ATI enthusiast and I’ve always had NV cards, but it would hurt if NV had such intends)
nvidia’s market penetration and wide adoption of their extensions were effectively giving them the ability to define OGL single handed and undermine the role of the ARB in doing the right thing for OGL. They executed superbly well and caught a lot of the other IHVs napping and full credit to them for this. Obviously they would like to maintain this situation and controlling the defacto extensions gives them this.
With the advent of OGL2, or any paradigm shift (such as vertex shaders and pixel shaders) the top dog runs the risk of being unseated and clearly nvidia have fallen behind the curve of programmable parts (everybody has something better than register combiners for fragment processing, for example). Allowing OGL2 to flourish out of their exclusive control severely undermines their hold on the market and tarnishes the ‘best of breed’ image they like to portray. The introduction of Cg is a very clever strategy to leverage their marketing muscle and installed base to try to make Cg the defacto standard and again regain the initiate. The other IHVs are not so sleepy now!
- Matt raised this issue in the advanced forum: Until the ARB vote in favor of GL2 extensions, these are 3DLabs proprietary extensions -not OpenGL2.0 ones. Could you convince me the ARB globally agrees on these specifications, please? Will my OpenGL2.0 project work on NVidia, ATI, Kyro, and 3DLabs hardware or will it be a “3DLabdsGL 2.0” project, running only on next-generation Wildcat?
The ARB endorsed 3Dlabs as the spec writer for the OGL2 work and agreed that the proposals in the half dozen or so white papers were a good starting point. A proof of concept is very desirable before anything is included in OGL2.0 and along side the development of the specification 3Dlabs has also been working on an implementation. Our current hardware platform (P10) predates our OGL2 work so while it can run some shaders it does not allow a complete implementation. This is sad (for 3Dlabs) but not surprising as one of the stated goals is to provide a standard that hardware can aspire to, much like OGL1.0 did to begin with.
The implementation work has been going very well and we have learnt a lot from this, but the final arbiter of ‘fit for purpose’ are the ISVs and encapsulating the implementation into some extensions allows this to happen and gives independent verification to the ARB that the specs are valid and viable. I am confident that other IHVs (with one obvious exception) will adopt these extensions , with due input obviously, as a prelude to OGL2 being released. All the ARB members (except two, guesses on a postcard…) want to see this fast tracked so we are not looking too far into the future before it can happen.
I would love nvidia to give up trying to control the industry and join it instead - I can only dream where we would be today if they had put the effort into OGL2 that they have clearly put into Cg.
One of the concerns raised in the December meeting was GL2.0 promotion. You have to realize that GL2.0 tutorials at SIGGRAPH won’t suffice: you have to convince programmers that GL2 will be mainstream in, say, 2 years.
Marketing and publicity of a standard while it is in development and needs to be ratified by a standards organisation (i.e. the ARB) is tricky to do without stepping on toes and wouldn’t be that necessary except that Cg has raised the visibility and presented a very biased view. I think some of this will be addressed in the coming months - perhaps we can hire the nvidia marketing machine!