PDA

View Full Version : Convert GLUT/GLEW to GLX



advorak
06-30-2016, 09:11 AM
I am trying to convert an existing GLUT/GLEW program to only use GLX.

I am confused about something. The current program does not have ANY vertex and fragment shader programs.

How is this possible? I thought the pipeline did not have any default shaders. Is a basic shader included in GLUT and GLEW?

I have been reading the data on "learnopengl.com" and it says shaders are required.

Any help would be appreciated.

john_connor
06-30-2016, 09:30 AM
in older versions of opengl (pre-3.0 i think) the shaders were "build-in", so to say ...
it was a fixed function pipeline, meaning you cant change the "pipeline"
newer opengl versions allow you to program your own shaders

https://www.opengl.org/wiki/Fixed_Function_Pipeline

advorak
06-30-2016, 12:23 PM
That would make sense if it was an old version of openGL.

The version of openGL running on the system is 4.5.0 Nvidia 361.42

The version of GLX running on the system is 1.4

mhagain
06-30-2016, 12:57 PM
It still makes sense even in newer OpenGL versions. OpenGL evolves by incrementally layering new versions on top of each older version. So for each version n, it also also includes all of the functionality of version (n - 1). This, of course, excludes core contexts/deprecation.

The advantage of this is that your ancient OpenGL 1.1 program will still run correctly on even the newest OpenGL 4.5 hardware. Try it: grab a copy of Quake and run it; it'll work.

The disadvantage is that the crufty old API that no longer looks anything like the way GPUs actually work must not only still be supported by drivers, but in many cases it must still interoperate cleanly with newer features.

Alfonse on this forum has remarked on occasion that old Direct3D 3 code was like looking into the Ark of the Covenant. I can only surmise that if you looked at code for a modern OpenGL driver, not only would the Abyss look back, it would suck out your eyeballs, climb into your head, and drive you round like a car.