Learning OpenGL 3, since video card won't support 4

This forum is reserved for everything you want to talk about. It could be about programming, opinions, open source programs, development in general, or just cool stuff to share!
Post Reply
thor36
Knows some wx things
Knows some wx things
Posts: 35
Joined: Sat Feb 01, 2014 2:20 pm

Learning OpenGL 3, since video card won't support 4

Post by thor36 »

Hi

I am attempting a purchase of a laptop, that has ATI Mobility Radeon HD 5650 video card.

I wanted to begin learning OpenGL 4, and have acquired a modern literature on that latest version of the library. The video card on the laptop however supports only OpenGL versions up to 3.2 .

Presently, I don't know anything about OpenGL . I would like to know, what to do now, after I got the OpenGL 4 literature, but video card won't support that version. Should I find an older text and older tutorials online ? Are differences only in library functions implementations, but not in library use from the coder's perspective ? Would learning OpenGL 3 put me a "century behind" modern development ?

Any guidance and extra explanation will be much appreciated. Thank you.
User avatar
doublemax
Moderator
Moderator
Posts: 19116
Joined: Fri Apr 21, 2006 8:03 pm
Location: $FCE2

Re: Learning OpenGL 3, since video card won't support 4

Post by doublemax »

I don't think there are many OpenGL experts in this forum, try http://www.opengl.org/
Use the source, Luke!
Manolo
Can't get richer than this
Can't get richer than this
Posts: 827
Joined: Mon Apr 30, 2012 11:07 pm

Re: Learning OpenGL 3, since video card won't support 4

Post by Manolo »

As doublemax told you, this is not the best forum to ask for OGL questions.

Anyhow:
* OGL 4 is more advanced that 3.2, yes. But just for some features. Most of your code will be 3.2 compatible.
* If you read tutorials that don't use shaders, then they were written in OGL < 2.0 age. Too old.
* To use OGL >= 3 new features you need to set a special "OGL context".
* By now, wxWidgets (when using wxGLContext) only sets compatible context (for OGL <= 3). But you can set it on your own with other tools.
* OGL 2.1 is still today very used. That's because there're many old cards alive; and because OpenGL ES is still very 2.1 similar.
thor36
Knows some wx things
Knows some wx things
Posts: 35
Joined: Sat Feb 01, 2014 2:20 pm

Re: Learning OpenGL 3, since video card won't support 4

Post by thor36 »

Thank you for your answer, it is very informative for a beginner.

Can you explain me, what do you mean by special OGL context ?
You state that modern OGL software uses shaders, which are a little more recent invention. So I should probably know what I have to do to make use of them.

Since it's wxWidgets forum.. Can anyone also tell me what impact does my OGL version issue have on using wxWidgets 3.0 ? What things must I be careful about, what are the good and less good practices when coding ?
Manolo
Can't get richer than this
Can't get richer than this
Posts: 827
Joined: Mon Apr 30, 2012 11:07 pm

Re: Learning OpenGL 3, since video card won't support 4

Post by Manolo »

If you look in opengl specs/forums/tutorials/books you will find that there are two types of context, depending if you want only OGL>3.0 or allow older versions.

Shaders began with OGL 2. For OGL>=3.3 they are a must. Shaders are the programable part of OGL.
Most of the OGL API commands you use for OGL 2 are still the same for OGL 4. In a OGL spec (2? 3?) you can read which are the old, deprecated commands. If you use the new ("Special" I called) context, these commands are not only deprecated, but removed.

wxWidgets (all versions) offer just a small connection with OGL through wxGLCanvas and wxGLContext. But you can use OGL in a simple wxWindow if you take care of the context on your own. I use wx to handle mouse/keyboard/size events and send the proper action to OGL API.
thor36
Knows some wx things
Knows some wx things
Posts: 35
Joined: Sat Feb 01, 2014 2:20 pm

Re: Learning OpenGL 3, since video card won't support 4

Post by thor36 »

Manolo, your tips and answers are very valuable, since I am just beginning to learn OpenGL. As you can see, I lack many basics and also missing the big picture of the OpenGL development timeline. This is much easier to grasp for someone who's been in the business for years. Can you please point me to any tutorials or references that would explain these things in a beginner-friendly way to me ? It is not because I can't use Google, but because I don't know what to Google for, I don't even know the basic terms. It would be very much appreciated.
Manolo
Can't get richer than this
Can't get richer than this
Posts: 827
Joined: Mon Apr 30, 2012 11:07 pm

Re: Learning OpenGL 3, since video card won't support 4

Post by Manolo »

It is not because I can't use Google, but because I don't know what to Google for, I don't even know the basic terms. It would be very much appreciated.
Well. What about "OpenGL tutorial"?

My favorite:
http://www.arcsynthesis.org/gltut/index.html
And more:
openglbook.com/the-book/
duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Table-of-Contents.html
opengl-tutorial.org
packtpub.com/article/tips-tricks-getting-started-with-opengl-glsl-4
thor36
Knows some wx things
Knows some wx things
Posts: 35
Joined: Sat Feb 01, 2014 2:20 pm

Re: Learning OpenGL 3, since video card won't support 4

Post by thor36 »

First, thank you for all the resources you have listed. I got to say I have stumbled upon a few of them before, but others are new to me and seem really great.
By presenting me with these tutorials, you have given me a chance to easier explain what problem I had in mind, regarding my search of resources.

It is easy to Google for "OpenGL tutorial" , I have done this, and I hope it is not hard to believe =) . Problems start when I go about reading them. The starting point is OpenGL. Then, most of tutorials move on to other topics - obviously related to OpenGL - but totally unknown to me. For example, your favourite tutorial on http://www.arcsynthesis.org , describes using "Unofficial OpenGL SDK" . Tutorials also talk about GLSL, FreeGLUT, SFLW, GLFW, and the list goes on. Even though I checked the websites of these tools or wiki entries, I still don't understand things like : what are they actually with relation to OpenGL, why use one and not another, what do they have in common, what are the differences, how do I know what I ( don't ) need...

That is also why I have asked you this question about basic tutorials and explanations in earlier post. I hope you can understand now what kind of understanding I lack and where the problem is =)
Manolo
Can't get richer than this
Can't get richer than this
Posts: 827
Joined: Mon Apr 30, 2012 11:07 pm

Re: Learning OpenGL 3, since video card won't support 4

Post by Manolo »

First of all, I must say that these posts are going out of wxWidgets scope. I can't promise to keep this thread alive.

That said, I remember my own problems starting with OGL. It seems like a steep mountain, but that's not necessary true. Some time ago, I decided to write my own tutorial, telling things so that any novice will understand them (too pretentious?). If you understand Spanish I can send to you the few pages I wrote.
Essentially:
* How videocards work. They follow the OpenGL specifications, the OGL pipeline. Somehow explained at arcsynthesis tuto ("AT"), part I, "Graphics and Rendering".
* Why yo do need maths. Some explained also at AT Part I.
* Some useful libraries. Read also AT "Getting Started with OpenGL". You will learn about those FreeGLUT, GLEW, etc.

Good luck!
User avatar
doublemax
Moderator
Moderator
Posts: 19116
Joined: Fri Apr 21, 2006 8:03 pm
Location: $FCE2

Re: Learning OpenGL 3, since video card won't support 4

Post by doublemax »

I'd like to add this tutorial site:
http://nehe.gamedev.net/
Use the source, Luke!
thor36
Knows some wx things
Knows some wx things
Posts: 35
Joined: Sat Feb 01, 2014 2:20 pm

Re: Learning OpenGL 3, since video card won't support 4

Post by thor36 »

Manolo, if it is not in your interest to keep this thread alive, I understand. But if you are referring to the forum rules, let me explain that I have carefully chosen a sub-forum. And this sub-forum says :
This forum is reserved for everything you want to talk about. It could be about programming, opinions, open source programs, development in general, or just cool stuff to share!
So I think it is ok, if we don't discuss wxWidgets directly. If I may add though, I plan to use OpenGL with wxWidgets as well. And maybe someone else in future will find answers in this thread useful.

I would be very glad to take a look at your tutorial, but unfortunately I don't understand Spanish. People value tutorials very much, especially complete beginners. So perhaps it would be worthy to consider an English translation ? If it is not too much a nuisance for you, I think it would be great !

Thank you for your and also others' inputs !
Post Reply