I’m pretty new to OpenGL and 3D in general. I picked up Superbible 7th edition and started in; this version of the book is geared towards OpenGL 4.5. The author uses a simple wrapper class for the main() entry area with a few setup calls, but otherwise uses glfw 3.-0 for the rest, as far as I’ve seen to this point.
The machine I’m working on has an AMD Firepro M6100 processor and various tools tell me it has OpenGL 4.3.x available.
On the first examples which I typed in for sake of better understanding, there’s a call to glCreateVertexArrays() that causes the application to crash with “0xC0000005: Access violation executing location 0x00000000.”. So I looked in the working book example code and there’s instead a call to glGenVertexArrays(), which seems to work just fine.
A little more research shows me that glCreateVertexArrays() is a method new in 4.5, whereas glGenVertexArrays() appears to be continuous since 3.0.
So the general context of my question is:
If I code for 4.5 based on the book examples, does that mean I will not be able to run (all) examples using 4.5+ features with my GPU (as 4.3)?
And more directly, is it likely that my access violation is direct evidence that I won’t be able to? (IE, no graceful backwards compatibility under the hood?)
Sorry if that seems too silly, I’m just wondering how the various versions of APIs interact with actual driver’s supported versions, and if there’s some magical way features manage this type of thing.