   OpenGL 3.2
  For years I have been avoiding the whole vertex / fragment shader subject simply because I've never needed that kind of control to draw 2D textured quads to the screen. However, with the release of the OpenGL 3.2 specification together with the introduction of the word "deprecated", I'm a little worried and find myself wanting to start catching up to what everyone else is doing, so I've come up with a few questions that I hope you guys can help me out with.1. I want to get started with OpenGL version 3.2 right off the bat, however nVidia have stated that my graphics card does not support it (Quadro NVS 320M). Does this mean that it'll be impossible for me (and whoever plays my game) to create a core (not compatibility) profile rendering context, or even use core features that are supported in previous versions?2. Is there any information available about the deprecated functions and what you should use instead? I feel as if the use of vertex shaders is going to quadruple my initialization code, and cause endless headaches while trying to manage my projection / view matricies. All I see online are people saying "Oh, they removed glBegin, glEnd, display lists, vertex arrays, changed the way you load textures, blah blah", but noone saying what the alternatives are.3. Anyone happen to know of any example code that uses OpenGL 3.2 (not 3.1, or 3.0 since most of that is going out the window too) that doesn't include the author's quirky OOP implementation (ie functional C-style only)?4. Since Microsoft will never update the OpenGL libraries, can the core functionality only be accessed via the use of 'wglGetProcAddress'?5. Can shader "programs" contain multiple vertex shaders, or just one?All this change seems silly to someone like me who doesn't do much in the way of producing uber 3D special lighting effects etc, and while nVidia do promise not to remove support for the older GL versions, I really don't want to fall behind to the point where it'll be impossible for me to catch up.Cheers!   
  1. If your card supports DirectX 10, then imo it should support OpenGL 3.x. Try installing 190.57 driver from Nvidia, it has support for OpenGL 3.2. And then try running OpenGL Extension Viewer, it will display which version your card and driver supports.2. The alternatives are the same as in OpenGL 2.x. Instead of glBegin/glEnd or display lists you use Vertex Buffer Object. Intead of built in matrices you write matrix functions yourelf or use 3rd part library (such as cmldev.org in C++). The way you load textures has not changed in 3.x.3. It's very similar to 3.0 or 3.1 context creation. You just add additional flag WGL_CONTEXT_PROFILE_MASK_ARB with value WGL_CONTEXT_CORE_PROFILE_BIT_ARB for wglCreateContextAttribsARB function (if under Windows). For 3.0/3.1 context creation this code is more or or less easy to understand: http://www.gamedev.net/community/forums/topic.asp?topic_id=512890 (or just read the extension spec, it's not so hard to understand it).4. Yes. Same as before (in 1.5 or 2.0, or 2.1 versions).5. No, only one.I hope you understand that you can still use OpenGL 2.x version without problems on any new driver Nvidia or ATI releases. They will not remove support from drivers even when they will support OpenGL 3.4 or more.   ;  Thanks for your reply, ++rating   ;  2. the spec : http://www.opengl.org/documentation/specs/3.2 doesn't appear there.3. http://www.opengl.org/wiki/Tutorials   ;  V-man, you have touched a weak point spot that leaves me alot of questions.I now rarely go back to opengl.org, last time I noticed the new version and wanted to take a look at it, yet no spec was available and, as you notice, no spec is available now as well.I wonder if this opens a new era for GL. Now, they're missing even the spec. This is terrible.   ;  The 3.2 specification is available here.   ;Quote:Original post by Krohmlast time I noticed the new version and wanted to take a look at it, yet no spec was available and, as you notice, no spec is available now as well.The site navigation is a bit of a mess, but the full documentation and something like a "change-log" has always been published immediately there. ;  Thank you.I wonder why they went for another url...   ;  The Quadro NVS 320M has a G84M core, based on the GeForce 8700M, and both support DirectX 10, and therefore, support OGL 3.2.   ;  In case you want to check if a pre-3.0 function isn't deprecated, you could try to check these two links. That way you know what is still being used and what isn't.Forward compatible OpenGL 3 entry pointsForward compatible OpenGL 3.0 #defines