Cihad Turhan
Cihad Turhan

Reputation: 2849

Is there a trick to use a opengl 3.x version program on a graphics card which supports opengl 2.x?

I have a onboard graphics card which supports opengl 2.2. Can I run a opengl (let's say 3.3 version) application on it by using some software etc?

Upvotes: 5

Views: 12404

Answers (3)

datenwolf
datenwolf

Reputation: 162164

OpenGL major versions somewhat refer to available hardware capabilities:

  • OpenGL-1: fixed function pipeline (DirectX 7 class HW)
  • OpenGL-2: programmable vertex and fragment shader support.(DirectX 9 class HW)
  • OpenGL-3: programmable geometry shader support (DirectX 10 class HW)
  • OpenGL-4: programmable tesselation shader support and a few other nice things (DirectX 11 class HW).

If your GPU supports OpenGL-2 only, then there is no way you could run a OpenGL-3 program, making use of all whistles and bells on it. Your best bet is a software rasterizing implementation.


A few years ago, when shders were something new, NVidia shipped their developer drivers with some higher functionality emulation software rasterizer, to kickstart shader development, so that there were actual applications to run on those new programmable GPUs.

Upvotes: 5

ssube
ssube

Reputation: 48267

Sure you can, you just have to disable those features. Whether this will work well depends greatly on the app.

The simplest method is to intercept all OpenGL calls, using some manner of DLL hooking, and filter them as necessary. When OGL3 features are used, return a "correct" answer (but don't do anything) or provide null for calls that aren't required.

If done properly, and the app isn't relying on the OGL3 features, this will run without those on your hardware.

If the app does require OGL3 stuff, results will be unreliable at best, and it may be unusable. It really depends on what exactly the app does and what it needs. Providing a null implementation of OGL3 will allow you to run it, but results are up in the air.

Upvotes: 1

Nicol Bolas
Nicol Bolas

Reputation: 473407

No. Well, not really. NVIDIA has some software emulation that might work, but other than that, no.

Your hardware simply can't do what GL 3.0+ asks of it.

also:

I have a onboard graphics card which supports opengl 2.2

There is no OpenGL 2.2. Perhaps you meant 2.1.

Upvotes: 0

Related Questions