Sqrt[-1], v-man, korval, komat, -NiCo-, knackered, and all, thanks for all the posts … this has been a great thread, but I think you all are falling for ruysch’s troll bait. As for ruysch, grow some balls and post either using your real name, or add your real name to your profile.
However this thread is just getting too fun to skip out of posting on.
PC games, DX10 only market seems a no-go for any major publishers because Vista never caught on, and the vast majority of gamers still run XP. Also piracy seems to be driving majority of companies (US and non-MMO) out of the PC market and perhaps into consoles. For consoles, PS3 is DX9 level and 360 is not at full DX10 level. So all games, especially those intending to be profitable by porting to multiple platforms, still need a DX9 level (in terms of technology) engine. Lets keep in mind that a majority of the game industry still does not use DX. Look at the sum of PS2, PSP, PS3, Wii, and other game platforms/titles compared to XBox/360.
Now lets get back to GL. Apple is slowly catching up to having good GL support. Anyone check what features are now in 10.5.2? I believe EXT_gpu_program4 is supported on NVidia 8 series (also heard that CUDA was ported to OSX as well). How is, with 10.5.2, all the DX9 level functionality for GL on OSX with ATI cards? Given that ATI/AMD isn’t adding EXT_gpu_program4 type support for HD anytime soon, DX10 level functionality on ATI cards is going to be stalled as well until after GL3. I think Apple works with the IHV’s to build drivers, so probably no DX10 level support on ATI cards from Apple any time soon as well.
So lets face it, the entire industry is stalled on DX9 level features (except for niche markets).
The core of DX9 feature level (take out DX9 vertex texture fetch, because it was too slow on NVidia’s 6 and 7 hardware, and not supported by ATi at the time) works rather well on GL right now! About the only really stupid thing on GL’s part is not having support for pre-compiled shaders (which basically kills it for any game which has the material/shader combination explosion problem). But otherwise GL2 still currently kicks ass!
So now lets look at the short term future.
GL3 isn’t going to be an important performance update for DX9 level programming. No new features, really just lower draw call overhead (hopefully), fine grain buffer locking, and better control of GPU<->CPU transfers (which we can already do well in GL2). We’ve got perhaps 3-6 years left on this console generation, stuck with DX9 level GPUs. So GL3+ and DX10+ makes no difference there. PC only games are becoming rarer, and Vista is not building market share fast enough, so GL3+/DX10+ isn’t going to really make much of a difference there either for a while. Apple takes a while to catch up to any new GL stuff, so GL3 isn’t going to be important on Mac any time soon either. You can currently use DX10 feature level on NVidia 8+9 series GPUs simply by using the GL2.1 EXTensions. So GL3 isn’t important there either.
Now how about the future.
Right now there is a tremendous need to iron out a GL API which will properly transform !!!AND UNIFY!!! the industry past DX9 level features and into the highly programmable parallel GPU of the future.
How do you best do this?
Intel is getting serious about Larrabee (bought Project Offset team + lots of really smart people like Tom Forsyth, etc). Larrabee looks to be highly programmable, and doesn’t match well with the current GL pipeline. Its strengths seem to require a new type of API. NVidia, the current dominate in market share for the highend, still has a bunch of features which would be highly useful for graphics which are not exposed in GL. For example shader local memory store (exposed in CUDA). And perhaps a read/write surface cache is planned (programmable ROP perhaps?) as it is in the CUDA/PTX docs, but not yet implemented in CUDA. ATI/AMD provides a 1/4 speed scatter capability (programmable ROP?) in CTM which is not exposed in GL.
So if you were the ARB what would you do? With Intel entering the market in the GL3 lifespan with a seriously divergent product how would you respond? How do you balance the strengths of all the vendors and create a core API to move forward? How do you mold GLSL into something which will work for all the vendors (especially Larrabee)?
So no news might actually really be a good thing, in that perhaps ARB is taking advantage of the current market conditions (DX9 being all that really can be used and GL2 working fine there), and fixing up GL3 for a more generalized parallel GPU of the future?