How popular is OpenGL?

If for example i am looking forward to a career in such things as game development and graphical development, is OpenGL a good choice to learn, since there is a question mark over its popularity among developers… I would like to hear some opinions on this…

Hey, OpenGL is great! It is the non-microsoft way of DirectX and can do everything there. There are a lot of skilled guys using OpenGL and a lot of add-ons. I highly recommend this. And, no MFC!

I’d like to point out that there is plenty in DirectX that OpenGL does not handle. Sound, for instance. Input, Internet data transfer, and music are all outside the bounds of OpenGL.

I’m pretty sure that you meant that OpenGL is the “non-microsoft way of Direct3D”.

And MFC is a perfectly legitimate development platform for OpenGL. Not only that, you don’t have to use MFC with DirectX (which you seem to have implied).

As for OpenGL’s popularity, I’m not sure that it matters that much. If you want to be a PC developer, learn Windows programming, OpenGL (for the ease-of-use), and Direct3D. The biggest difference between Direct3D and OpenGL is the entry fee: it takes more time to get a Direct3D program up and running than it does to get a comperable OpenGL program running. After you have done it for a while, however, writing a Direct3D program isn’t difficult.

[This message has been edited by Korval (edited 09-17-2001).]

Hi there !

When you write an OpenGL program with glut, you have a fully portable code, which often can be recompiled without modification under Linux or MacOS… This portability might be appreciated in the industry. And windows isn’t eternal, it will maybe continue for ten years, maybe more, but one can’t be sure… So choosing an one-platform API like D3D is taking a risk.

And D3D has one drawback : to get a new hardware feature working, you need to wait for Microsoft to release a new version of D3D. With OpenGL, new hardware features are handled directly by the drivers, so you don’t have to wait !

There are the two only real differences between D3D and OpenGL that I know.

PS:this thread is rapidly becoming the 150th OGL-vs-D3D thread…

Cheers
Morglum

Originally posted by Korval:
If you want to be a PC developer, learn Windows programming, OpenGL (for the ease-of-use), and Direct3D.

Sorry but I have to say that this is a pretty ignorant statement. If you want to do nothing else than prgramming for windows, than you can just can learn D3D. For everything else you have to use OpenGL.

Greetz
Chris

>>>Sorry but I have to say that this is a pretty ignorant statement. If you want to do nothing else than prgramming for windows, than you can just can learn D3D. For everything else you have to use OpenGL.
<<<

There are wrappers or wrappers could be made for other OSs. I think I saw one for Linux.

As for the big question “Should you use opengl or is it not popular enough”, I dont know if you should, but it is graphics API of choice in the industry. Most games are made with DX however.
You should search for “Opengl vs DX” threads since this question has been asked an awful lot.

V-man

Im not asking which one is BETTER, OpenGL is obviously, I have been using it for a while… What im asking is in the industry, is knowledge of OpenGL AS important or MORE important than knowledge of D3D?? Also, rumours about SGI being close to collapse (??), if this is true and OpenGL loses support it wouldnt be worth learning it would it?? That is what im asking… not which one is better feature wise…

In which industry? The gaming industry is somewhat different from the graphics industry. OpenGL is typically used in most graphics-heavy applications except the PC gaming industry where Direct3D is more common. Knowledge of either certainly will help getting into the PC gaming industry.

As for the console game industry, knowledge of either would be quite helpful, but, outside of X-Box development, neither will be directly useful. Learning an API is simple; learning graphics in general is much more complex.

If SGI collapses, they can’t take OpenGL with them. OpenGL exists outside of SGI, as it is governed by the somewhat independent ARB. So, it isn’t going away anytime soon.

Originally posted by MrShoe:
Im not asking which one is BETTER, OpenGL is obviously, I have been using it for a while… What im asking is in the industry, is knowledge of OpenGL AS important or MORE important than knowledge of D3D??

Well, I personally prefer OpenGL over D3D, basically because:

  1. It’s totally platform independent.
  2. OpenGL can tell you what you can do in hardware, whereas D3D will tell you it can do everything - basically it lies.

Example, I want to see how many lights I can use in a scene. OpengL has a minimum of 8 - I don’t know whether these are all hw (not sure though) - now D3D will tell you that you can have 256 about 2 will be done in hw and the rest in sw.

Basically, my point is this; D3D will tell you that you can do stuff that isn’t even available in hw, it’ll just drop back to sw. OpenGL does this also, but it’s not as bad.

  1. OpenGL is good for beginners as we have GLUT which is also platform independent and a beginner can see results straight away.
  2. COM is evil to program.

As for the importance, I would say that OpenGL is more important as you can transfer the skills you use to any platform - especially to SGI machines (unless it’s one of those NT ones, in which case you’d probably want D3D )


Also, rumours about SGI being close to collapse (??), if this is true and OpenGL loses support it wouldnt be worth learning it would it?? That is what im asking… not which one is better feature wise…

What I want to know is where have these rumours come from? I have seen references to SGI going down the pan for a while now, but I see no evidence of it.

So what if they have made a loss. Lots of companies have to go through that at some point or other.

A lot of people on USENET actually think that because SGI changed their logo from the cool cube to a god awful one means that SGI is going to collapse.

The problem I had with SGI was that they told me that they were going to start developing Intel based machines because they were “more mainstream.” The thing is this, anyone can buy an Intel machine cheaper than SGI can provide, so why would they go with SGI rather than any other firm?

What SGI should have done is produce high speed lower priced workstation based on the faster MIPS processors that are coming out of companies like Sierra PMC. Make the motherboards ATX formfactor and put in an AGP slot. This would give everyone a lower priced high performance machine that they could use with standard off the shelf components. They wouldn’t be as high performance as O2(+) or Octane, but that would cover their bases for their lowend. I would personally buy a machine like this if it were available. I’m sure others would too.

The other thing is that SGI would also have to start advertising on TV, magazines, etc. I think SGI have got into the habit of not advertising because they think that they don’t have to. The world & industry is changing and unfortunately managers who are in control of buying hw aren’t up on technology (generally) and only go by what they see on TV, magazines, etc so they end up buying an x86 based machine becuase they think that it’s the best…this is my grudge against the industry as a whole.


>> OpenGL can tell you what you can do in hardware…

No, OpenGL does not tell you what you can do in hardware. OpenGL has a minimum set of functions, which must be supported. By supported, I mean you must be able to use it, but it does not say anything about hardware or software. It just says it’s there.

The lights for example. Any OpenGL implementation must support at least 8 lights. If all of them are software, fine, as long as an implementation can handle 8 lights. Any implementation is of course free to support more lights.

Well replied, Bob

  1. It’s totally platform independent.

No ! you have windows functions (wgl*), Linux functions (glx*), mac functions, …

You don’t have to know COM to use DirectX.
I programmed COM (to access IE data), and it’s really good !

OpenGL IS platform independent. that you have to use some system-dependent functions is a necessety and has nothing to do with OpenGL, besides that you need them to run your app. but that goes for quite many apps.

cheers,
martin

Yes, OpenGL is platform independant, but not TOTALLY, there is some platform dependant functions.

Originally posted by opla:
Yes, OpenGL is platform independant, but not TOTALLY, there is some platform dependant functions.

hmmm which one???
don’t tell me wgl or glx, theses are not part of OpenGL

not part of OpenGL ???

how do you use OpenGL on Win32 without
wglCreateContext
wglMakeCurrent
wglDeleteContext

Use GLUT, wxWindows, Qt, etc.

Originally posted by ffish:
Use GLUT, wxWindows, Qt, etc.

thx ffish

>>>>>not part of OpenGL ???
how do you use OpenGL on Win32 without
wglCreateContext
wglMakeCurrent
wglDeleteContext
<<<<<<

Those are for opengl, but they are not part of opengl.

“It connects the OpenGL library to the X Window System by managing window handles and rendering contexts.” from MSDN; talking about GLX.

Each OS has it’s own underlying workings for those function but that does not matter to opengl. Beside, you can easily change the “wgl” part to “glx” for some functions.

V-man

>>>>>>
hmmm which one???
don’t tell me wgl or glx, theses are not part of OpenGL
<<<<<<<<<

There are platform specific extensions, but that’s normal. The core opengl is always platform independent.

V-man