5
\$\begingroup\$

I'm working on an app that uses immediate mode in all of it's draw routines and I'd like to keep those functions intact when updating our graphics drivers to OpenGl 4.

My intention is to get the app functioning on 4.x and then convert the code to use VBOs.

I've read there's a way to load a more "full" context that includes deprecated libraries but I have not found an actual implementation to base mine off of.

\$\endgroup\$

2 Answers 2

6
\$\begingroup\$

You can attempt to create a context with the compatibility profile. However, you aren't guaranteed to be able to succeed.

As a practical matter, all Windows and Linux drivers will provide compatibility profile support. OSX does not. But then again, OSX doesn't support OpenGL 4.x either, so you can't use it either way.

\$\endgroup\$
1
  • \$\begingroup\$ Ok, our app is only targeting Windows and all our boxes have cards that support 4.x. I'll look more into seeing what it takes to create a context that contains the libraries we need. Thanks for the answer. \$\endgroup\$
    – Tyler McEntee
    Jun 3, 2013 at 18:02
0
\$\begingroup\$

This will depend entirely on the drivers. Since immediate mode is deprecated, it's up to the hardware manufacturers if they want to support it or not (mostly not).

I suggest you reverse your process and convert to VBOs first. Then upgrade and get the remainder of your OpenGL function calls updated to work with 4.x.

There are libraries out there that attempt to emulate immediate mode, but I don't think integrating more libraries into your code is a step you want to take if your final goal is VBOs.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ Just to be explicit, OSes like OSX only offer newer GL features if you use a core (non-compatibility) profile (though they only support GL 3.2 last I checked, not 4.x), so you must choose between immediate mode support or newer API features. Most implementations don't do this; all of the mainstream Windows GL drivers will let you do full GL 4.x in compatibility mode just fine. \$\endgroup\$ Jun 3, 2013 at 15:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .