Sign in to follow this  
MountainGod

OpenGL - setting up header files, versions, hardware acceleration...

Recommended Posts

I have an NVIDIA Quadro card with the latest drivers. GLFW tells me it can create hardware-accelerated windows using my card's OpenGL version (3.3) on Vista.

But I've realised I can't get to all the GL3.x functions. Turns out my gl.h header (provided by MinGW) is from Mesa3D 4.0 and doesn't support anything higher than GL1.3 .

I'm new to OpenGL, but not C or basic 3D graphical concepts. In spite of this, all the advice out there regarding how to get & use the latest possible version (or even finding out what version you have & whether you're using it) is totally opaque.

There is no forthcoming answer to the question "how do I get and develop with version X of OpenGL?" Instead there's a whole bunch of contradictory statements on what not to do (e.g. use deprecated functions) that the newcomer has to struggle through in a trial-and-error fashion.

Rant aside, how do I get access to all the GL3.3 functions referenced in the latest Red Book and online reference pages? If I need new headers, where do I find them? Which headers? Does the header define whether my final program will be hardware accelerated? Am I going to have to mess with function pointers to get core GL3.3 functionality? If I decide to drop back to an older version of OpenGL (say, because it's easier to learn or for compatibility with older machines), how easy would that be? Would I need to swap out all my header files again - deprecation means many older functions don't exist in 3.3 ?

You can see how such a simple question has become ridiculously complex as a result of OpenGL's meandering development history. I hope this is the last hoop I'll have to jump through before I can start actually learning something.

Share this post


Link to post
Share on other sites
You install and use GLew. Or you putz around manually loading extension pointers - your choice [smile]

As for the whole deprecation thing, since you are just starting with OpenGL, put your context in forward-mode, which will make all of the deprecated functions illegal, and then learn modern OpenGL.

If you are considering having to drop down to older versions in the future, that isn't nearly as hard as moving forward from an earlier version.

Share this post


Link to post
Share on other sites
Wow, thanks for the quick reply!

So all I need is GLEW, and my accessible functions will be right up to date with GL3.3, hardware accelerated and everything? I can keep the Mesa3D gl.h ?

Share this post


Link to post
Share on other sites
Quote:
Original post by MountainGod
So all I need is GLEW, and my accessible functions will be right up to date with GL3.3, hardware accelerated and everything? I can keep the Mesa3D gl.h ?
Ja. GLew abstracts away all the nasty details of loading extension pointers, etc.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this