Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

johnnyboy

OpenGL beginner question/re: win95/98/etc openGL 'distribution'

This topic is 5367 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi... This might sound like a silly question, but don''t really now. How is OpenGL ''distributed'' on Windows machines? Specifically, Win95/98/NT/XP/2000, etc? Specifically -- what file(s) do I need to distribute with any software I write using OpenGL, to make sure my program will work? (DLL''s, .ocx''s, etc?) I was surprised -- I simply started using visual c++ 6.0, and open GL just seemed to work. Is OpenGL distributed on windows machines by default? Or was it because of my visual C++ install, & there is something I need on a ''clean'' machine? Also... what versions of windows would it work for? I can''t really seem to find any definite documentation on how OpenGL is distributed/making sure it is running, etc on windows ___ machines... Thanks!

Share this post


Link to post
Share on other sites
Advertisement
Guest Anonymous Poster
The OpenGL subsystem consists of two parts. First part is the generic GL dispatching library (opengl32.dll), which comes with Windows by default (even though in a very outdated version). From W95 OSR2 upwards, I believe. The second part is the OpenGL ICD, which connects to opengl32.dll. This one comes as part of the graphics driver, ie. nVidia''s Forceware, ATI''s Catalyst, etc.

Share this post


Link to post
Share on other sites
ok, thanks... so -- does that mean I need to redistribute
that at all (the opengl32.dll) -- or how do I ''know'' whether
my version of opengl software will work ok on a particular
system?

(i.e., is it like directx, where you have dx version 4,5,6,7,8,
etc -- and a software using say version 8 of dx, won''t work
on a system using dx version 5?) -- if so, how would I ''install''
the latest openGL, or could I simply use the DLL that I write my software with, and assume that overwriting the existing dll (obviously checking version info) -- will be ok/not cause any other apps to crash?

thanks!

Share this post


Link to post
Share on other sites
You don''t need to distribute anything. If you want your users to have good graphics performance, tho, you should exhort them to install the latest drivers for their video card. (this is especially true if you''re using bleeding-edge opengl extensions in your code.)


"Sneftel is correct, if rather vulgar." --Flarelocke

Share this post


Link to post
Share on other sites
Infact, you shouldnt distribute anything, overwriting the end users opengl32.dll with your own can cause huge amounts of problems (also, i dont belive you have the right to distribute it from a legal stand point, but thats a side consideration)

As Sneftel says, just tell the user to make sure they have an upto date driver installed and they will have the latest version of OpenGL installed for their graphics card

Share this post


Link to post
Share on other sites
thanks for the replies...

only question I have then is -- how do you know whether
the current version of OpenGL ''supports'' a certain set
of commands?

I.e., I wouldn''t want to write an app using the latest
and greatest technology (say on a brand spanking new version
of windows), only to find that some commands weren''t supported.

Or -- am I thinking from an incorrect mindset -- in that I
just won''t run into those problems? (I.e., either OpenGL
has not been modified/language circa 1995 when Win95
introduced, and the only new changes have been faster/better
optimization -- or -- any new functions are in some kind of ''OpenGL extensions'' that I would know I would need to distribute?)

thx very much!

Share this post


Link to post
Share on other sites
When your program starts up, typically you would check for the presence of the extension in the particular Graphics Card / driver that is being used - I won''t go into details, but there should be plenty of info on how to do this floating around on this website.

Generally, if you are using an extension in your program, you can:
- Warn the user and exit the program
- Implement the same method in a different way
- Do something else

The extensions would be implemented by the driver for the video card, so you won''t have to distribute anything to get them working...

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!