8
\$\begingroup\$

OpenGl 3.0 and up has a quite big difference from the older versions like OpenGl 2.x and opengl 1.x in terms of implementation, does that mean applications which are written with the old versions of opengl won't run on computers having video cards supporting Opengl 3.x and up?

Sorry, if this is not the right place to ask this.

Thanks.

\$\endgroup\$

2 Answers 2

2
\$\begingroup\$

In short: OpenGL 1.x will still be supported.

It's theoretically possible for someone to write an OpenGL implementation that only supports 3.x and up, but supporting the older stuff gives you such a wide range of existing applications that it would be silly not to support it.

Some parts of the OpenGL 1.x pipeline may be implemented in a non-optimal (i.e. slow) manner, but things will still work. ATI drivers made picking horribly slow at some point, prompting changes in Blender, for instance.

On the OpenGL ES side things are a bit more complicated. I'm not aware of any instances of it, but ES 2.0 and onwards are so much different from ES 1.x that it's possible that some devices have no ES 1.x support. In most cases, ES2+ hardware emulated ES 1.x in software (generating shaders on the fly and fun things like that).

\$\endgroup\$
3
\$\begingroup\$

Currently no driver has removed support for earlier versions of OpenGL. On top of that, most also implement the compatibility extension, which means you can mix old stuff with OpenGL 3.2+ contexts (the exception is Mac OSX, where only core profile for OpenGL 3.2 is available - you can still use old stuff, but not together with new stuff).

\$\endgroup\$
2
  • 1
    \$\begingroup\$ Are you saying glBegin..glEnd code won't compile on modern OSX? \$\endgroup\$ Commented Sep 20, 2012 at 8:40
  • \$\begingroup\$ @JariKomppa, amended my answer. \$\endgroup\$
    – Tapio
    Commented Sep 20, 2012 at 9:01

You must log in to answer this question.

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