   OpenGL 3.2 and Nvidia drivers... already!
  Nvidia isn't fooling around, drivers on the same day of the announcement.and WebGL.... pretty cool.here's a link.http://news.developer.nvidia.com/2009/08/khronos-announces-opengl-32-nvidia-offers-drivers-.html   
comments already.   ;  He's perfectly right to point out that moving to GL3.x requires SM4/DX10 level hardware such as the NV8800 or higher.  On the other hand, you can adopt GL3.x without requiring Windows Vista.For developers that would like to keep supporting SM3 hardware, there are a fair number of extensions representing GL3 features which can also be implemented on pre-GL3 hardware, ARB_map_buffer_range and ARB_framebuffer_object for example - both of these bring more functionality to a GL2.x app than could previously be obtained on SM3 hardware.If you adopt DX9 as an API, you can't leverage SM4 level features, but you can run on XP and up.  If you adopt DX10 as an API, you can only run on Vista and up (but then you can use the new hardware features).  So there are tradeoffs to be aware of in many cases.  Adopting DX10 or GL3.x puts you at the same hardware floor.;  Also wanted to add, here are two good threads on OpenGL.org; if you have specific features or improvements you would like to see in the API, that would help you with something you are working on, these are two good places to participate.  As you can see from the 12-month 3.0 / 3.1 / 3.2 release schedule, the process for improving OpenGL has been streamlined a bit.GL 3.2 feedback thread Talk about your applications;Quote:Original post by rbarrisAlso wanted to add, here are two good threads on OpenGL.org; if you have specific features or improvements you would like to see in the API, that would help you with something you are working on, these are two good places to participate.  As you can see from the 12-month 3.0 / 3.1 / 3.2 release schedule, the process for improving OpenGL has been streamlined a bit.GL 3.2 feedback thread Talk about your applicationsvery cool...I don't really see a need for my current project (game engine/game) to use the latest greatest OGL Api other then making my deferred pipeline better, and of course OpenCL, when the time comes, for things like AI. I'm hoping to have something finished by then though. I do see some potential for bindless graphics to really help though. we have a complex LOD system for terrain that I hope to expose more in our shaders. Strange.... why would something like that not get thrown in the standard? is it too different? I am using PhysX, which is interesting... OpenCL will be/is done in CUDA, same as physx... will PhysX get ported to OpenCL? prolly not in Nvidia's best (business) interest.   ;  In response to the comments of phantom:The latest AMD driver provided a beta OpenGL 3.1 context (probably still incomplete, but nevertheless it gave me OpenGL 3.1 when I asked for a 3.1 context). No geometry shader support though, but there were some changes in the drivers relating to geometry shaders, so the chances are big that AMD is working on it. I also heared rumours that there are OpenGL 3.2 drivers in the AMD closed beta program. But I can't confirm that as I'm not (yet) in the beta program (and if I were I probably wouldn't be allowed to comment on it ;)).So... yes, AMD is lagging behind, but they are working on it. I hope they are able to speed up a bit and we don't have to wait 6 months for OpenGL 3.2 support. On the other hand... if OpenGL 3.2 support is available in 6 months that wouldn't be too bad either. At least it means we'll get the functions at a reasonable time scale.By continuing updating the OpenGL core specs, I think Khronos shows they care and they are trying to modernize OpenGL again. They also force AMD and nVidia (however, nvidia doesn't need this force I guess ;)) to implement the functionality which is a good thing. It is of great importance that a dev can rely on certain functions being available.   ;  AMD drivers seem to support a number of extensions that made it to 3.2 core, already. Geometry shaders are likely to take some time, but hopefully the lag between spec release (yesterday) and driver support will be less than 6 months this time. I'll be happy if AMD offers beta 3.2 drivers around October/November.Related news:    ;  I think at this point people should either ignore what phantom writes on OpenGL or take it with a big grain of salt:Quote:I think I'll upgrade my earlier statement to 'couldn't find their own arse with a map, 3 tries and a GPS reciever and coordinates for their arse'.from Phantom's journal.Not exactly neutral, eh?I'd like to correct some bits that Phantom has stated.1) OpenGL 3.0 and D3D9 confusion.OpenGL 3.0 was D3D10 hardware only anyways. Why you might ask? Answer: integer support and framebuffer objects in GL3.0 had to support integers and had to support mixing formats; D3D9 cards could not do that (they could only support when the sizes were exactly the same and only decimal formats). Native integer support in fragment shaders is a D3D10 generation of card deal, i.e. bit operations, textures, etc.Now, lets take a look: D3D10 cards were released over 2 and half years ago, so, *cough* not exactly hard to expect that someone would have such hardware. Intel's integrated video hardware can advertise D3D9 support, but it performs so badly it is not even worth using.2) context creation confusionGL3.2 added an additional (optional) parameter for context creation in the compatible profile context deal, so we now have:forward contextcore profile vs compatibility profileforward context means features marked as deprecated in the version of GL one requests are unavailable, where as compatibility profile is for saying "I want everything from GL 1.0 and upto the version I get". Note that compatible profile with forward context is same as compatible profile without forward context.Phantom's complaining of it in his oh so neutral way demonstrates either not understanding it or not willing to see the use for it.3) provoking vertexHard to tell from Phantom's bile if he understood it. The idea is simple, if you have an interpolator declared as flat, i.e. no interpolation, what value do you take from (for example) the 3 vertices that make the triangle, before GL 3.2 it was always the last vertex, now it can be made to be the first.and now for some bile from me onto gamedev.net: Over the past 2-3 years Gamedev.net has practically morphed into a Windows centric place. Now actually that is really, really bad for Indie developers. For an Indie developer, you are not trying to sell 500,000+ units, and when you only want/need to sell a few thousand non-Windows platforms become a disproportionate percentage of one's sales relative to their market percentage. In the realms of 3D graphics, I am so sick of seeing "GL is so not even D3D10"... guess what people, Vista's uptake was really bad. For the first year Vista was out all sorts of stuff did not work (it took quite sometime before the video drivers ran at any decent speed) and even now there are a variety of tasks that Vista has issues with that XP does not. So: D3D10 means you target Vista only (and the soon to be released Windows 7)... I for one still use XP a great deal, a fair amount of stuff (software and hardware) won't work under Vista or will work strangely. Oddly enough, to access D3D10 features for the whole Windows OS market means you use GL3.x! Also though this is a "game dev" site, there are lots of uses for 3D graphics beyond games, and guess what my little children: in a large variety of situations, using Windows is a huge no-no, and for even more places using Vista is a huge no-no where as XP is ok.   ;Quote:Original post by kRogueI think at this point people should either ignore what phantom writes on OpenGL or take it with a big grain of salt:Quote:I think I'll upgrade my earlier statement to 'couldn't find their own arse with a map, 3 tries and a GPS reciever and coordinates for their arse'.from Phantom's journal.Not exactly neutral, eh?I'd like to correct some bits that Phantom has stated.1) OpenGL 3.0 and D3D9 confusion.OpenGL 3.0 was D3D10 hardware only anyways. Why you might ask? Answer: integer support and framebuffer objects in GL3.0 had to support integers and had to support mixing formats; D3D9 cards could not do that (they could only support when the sizes were exactly the same and only decimal formats). Native integer support in fragment shaders is a D3D10 generation of card deal, i.e. bit operations, textures, etc.Now, lets take a look: D3D10 cards were released over 2 and half years ago, so, *cough* not exactly hard to expect that someone would have such hardware. Intel's integrated video hardware can advertise D3D9 support, but it performs so badly it is not even worth using.2) context creation confusionGL3.2 added an additional (optional) parameter for context creation in the compatible profile context deal, so we now have:forward contextcore profile vs compatibility profileforward context means features marked as deprecated in the version of GL one requests are unavailable, where as compatibility profile is for saying "I want everything from GL 1.0 and upto the version I get". Note that compatible profile with forward context is same as compatible profile without forward context.Phantom's complaining of it in his oh so neutral way demonstrates either not understanding it or not willing to see the use for it.3) provoking vertexHard to tell from Phantom's bile if he understood it. The idea is simple, if you have an interpolator declared as flat, i.e. no interpolation, what value do you take from (for example) the 3 vertices that make the triangle, before GL 3.2 it was always the last vertex, now it can be made to be the first.and now for some bile from me onto gamedev.net: Over the past 2-3 years Gamedev.net has practically morphed into a Windows centric place. Now actually that is really, really bad for Indie developers. For an Indie developer, you are not trying to sell 500,000+ units, and when you only want/need to sell a few thousand non-Windows platforms become a disproportionate percentage of one's sales relative to their market percentage. In the realms of 3D graphics, I am so sick of seeing "GL is so not even D3D10"... guess what people, Vista's uptake was really bad. For the first year Vista was out all sorts of stuff did not work (it took quite sometime before the video drivers ran at any decent speed) and even now there are a variety of tasks that Vista has issues with that XP does not. So: D3D10 means you target Vista only (and the soon to be released Windows 7)... I for one still use XP a great deal, a fair amount of stuff (software and hardware) won't work under Vista or will work strangely. Oddly enough, to access D3D10 features for the whole Windows OS market means you use GL3.x! Also though this is a "game dev" site, there are lots of uses for 3D graphics beyond games, and guess what my little children: in a large variety of situations, using Windows is a huge no-no, and for even more places using Vista is a huge no-no where as XP is ok.Amen!I largely agree with you. Gamedev is a place in which lots of people tend to think that only whatever the big game developing companies use and develop for (DirectX, Windows) is good enough and everything else is rubbish. The same thing happens with AMD. Because Ati delivered bad OpenGL drivers years ago, AMD drivers are still called rubbish, while they are quite good nowadays.Personally I think OpenGL is a great development platform after the transformations it has gone through the last year. Especially for Indie game developers like kRogue said. If you didn't care to actually look carefully into it since than, don't call out the trolls. The same goes for AMD drivers, if you have no recent experience with them, please don't respond, because you probably don't know what you're talking about.   ;  And don't even let me get started on the entire D3D11 vs GL3.x crap, AMD now has an extension NOW that expose the tessellation on hardware out NOW. Oh well I did get started! If you are writing custom apps for specific uses where you control the hardware to be used, well GL actually can be much better in terms of exposing hardware capabilities than D3D, again depends on the IHV, but that is the case for D3D anyways.As for AMD's support for GL3.x, don't be surprised that they have 3.2 drivers ready and working well by the end of the year, in some ways geomtry shader is a subset of the tesselation, well not quite.And as cold as this sounds, geometry shaders are highly overrated, their main uses that I have seen so far are: 1) stencil shadows and other volumes 2) drawing to cubemaps via texture layersbut the idea of modifying data on a per-primitive deal at first sounds cool, but so far the uses for it have not been huge; by the way, tessellation in Geometry shaders is a no-no (be it GL3.x or D3D10).The instance drawing, is far more useful, which was what, GL 3.0? Personally I would not be surprised that GL overtakes in a year or two, especially if nVidia's bindless graphics in some form makes it to core (think man pointers in shaders!)as for market segmentation, in the Windows world we will soon have:XPVista7and still right now XP has far deeper penetration than Vista, Microsoft is hoping everyone will take Windows 7, but I would not count on it... and so where will conservative big boys play: XP ala D3D9 with a D3D10 pretty version. Where as if you stick with GL3, you will write the same app across XP or Vista... just you will be honest about the hardware requirements atleast.