Advertisement

Currently reading OpenGL Programming Guide. Why does it teach OpenGL 1.X and 2.X when others are recommending OpenGL 3.2 and up?

Started by February 24, 2019 08:37 PM
9 comments, last by CrazyCdn 5 years, 6 months ago

I must be missing something crucial about the OpenGL Programming Guide with OpenGL 4.5 in the first chapter.

Maybe it was there because the reader needs to know the history of OpenGL and how to invoke or understand the older OpenGL versions?

But it doesn't explain why the use of OpenGL 1.1 is still written in the book, when other developers are recommending to jump straight to OpenGL 3.2 and up, with OpenGL 3.2 as the minimum version for entry?

Can someone explain this to me? Thank you in advance.

It's probably proactively showing you what legacy gl looks like when you inevitably supplement your knowledge with online resources. Though most of the industry has moved on from legacy gl, to say that's still not being studied/learned/used would be a over-simplification of the APIs usage, and there are plenty of online resources referencing the legacy API that one will stumble upon when learning modern gl

TLDR; if you know what it looks like, you can avoid it.

Advertisement

I see. So this is just a proactive measure.

May I ask if the Khronos Group ever thought of supplementing the legacy OpenGL materials in the book as an Appendix chapter, instead of putting them in as the main content of the first chapter?

Or this has been talked about, but never was agreed upon to preserve historical reasons?

7 minutes ago, tom_mai78101 said:

May I ask if the Khronos Group ever thought of supplementing the legacy OpenGL materials in the book as an Appendix chapter, instead of putting them in as the main content of the first chapter?

As far as I know, this book is absolutely not related with Khronos in any concerns. Is it ?

Also note that you can create a compatibility profile with OpenGL 4.5.

50 minutes ago, tom_mai78101 said:

I must be missing something crucial about the OpenGL Programming Guide with OpenGL 4.5 in the first chapter.

Something is amiss. This book...

https://www.amazon.com/OpenGL-Programming-Guide-Official-Learning/dp/0134495497

does not teach OpenGL 1.1 in the first chapter. The first example uses shaders to create a triangle and the rest of the chapter has nothing about 1.1

Chapter 2 dives deeper into shaders and I doubt later chapters backtrack into earlier versions.

ED: The first figure is labeled 1.1 and the first example is labeled 1.1, maybe this is the confusion? Those labels have nothing to do with the OpenGL version being used.

🙂🙂🙂🙂🙂<←The tone posse, ready for action.

I own this book and I haven't read it in a while but there was no reference to OpenGL before 3.0 other then maybe a paragraph or two.  Mine is the 8th edition too.  Unless you're reading a very old edition maybe, like 5 or older? :)

"Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety." --Benjamin Franklin

Advertisement
15 hours ago, fleabay said:

ED: The first figure is labeled 1.1 and the first example is labeled 1.1, maybe this is the confusion? Those labels have nothing to do with the OpenGL version being used.

Spoiler

Of course it is. If you jump to chapter 10, you have example 10.1, which is all about OpenGL 10 !

 

On 2/24/2019 at 7:13 PM, CrazyCdn said:

I own this book and I haven't read it in a while but there was no reference to OpenGL before 3.0 other then maybe a paragraph or two.  Mine is the 8th edition too.  Unless you're reading a very old edition maybe, like 5 or older? :)

I'm just reading the 7th edition.

Now, it has come to the point where I'm trying to understand the constant "WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB".

I'm trying to obtain OpenGL 3.0. In the official documentation, it said the following quote:

Quote

If a version less than or equal to 3.0 is requested, the context
    returned may implement any of the following versions:

      * Any version no less than that requested and no greater than 3.0.
      * Version 3.1, if the GL_ARB_compatibility extension is also
        implemented.
      * The compatibility profile of version 3.2 or greater.

So no matter what, it always gives me OpenGL 4.6, whenever I tried requesting for OpenGL 3.0. I even turned off the compatibility profile, but that gets ignored. However, I can request for OpenGL 3.1, which seems to be the lowest OpenGL version I can achieve.

 

Am I truly hardware-limited to OpenGL 3.1 and up all because of the graphics cards drivers?

 

And this is my last question. For that adventure of seeking out the most minimum OpenGL I can request in 2018.

43 minutes ago, tom_mai78101 said:

Am I truly hardware-limited to OpenGL 3.1 and up all because of the graphics cards drivers?

For your sake I certainly hope so. Anyone advising you how to get FF/IM OpenGL working is doing you a disservice.

Limits are limiting. That is not a limit. That is the opposite of a limit.

🙂🙂🙂🙂🙂<←The tone posse, ready for action.

19 hours ago, tom_mai78101 said:

So no matter what, it always gives me OpenGL 4.6, whenever I tried requesting for OpenGL 3.0.

What you get back doesn't matter as long as it's the same or higher then you require.  That does not mean you have to use 4.6 commands/capabilities, you can limit yourself to 3.0/3.1 stuff, not sure why you would, honestly.  I would say 4.2 or 4.3 would be the lowest end hardware I would honestly support.  And since you're clearly just learning, I wouldn't worry about it at all.

"Those who would give up essential liberty to purchase a little temporary safety deserve neither liberty nor safety." --Benjamin Franklin

This topic is closed to new replies.

Advertisement