Advertisement

GL_VERSION = 1.1.0 ?

Started by September 06, 2003 07:14 AM
8 comments, last by HiddeN_BiT 21 years, 5 months ago
Hello to everybody ! My question is how i can get a newer ogl version(stupid huh?). I read at opengl.org''s FAQ that ogl version from 1.2 and above are installed with my graphics card drivers. I don''t understand that.It means that when i install newer drivers, ogl''s files (gl32.h, gl32.lib etc) are updated too or just the extensions that my graphic card supports? Now an other question. When my graphics card says that it supports ogl, what does this really mean? That it accelarates ALL ogl''s functions (ogl''s version depends on card''s age) plus that it gives me some extensions? If i have an old card, can i code in a newer ogl version (possibly not supported by the card), and if so where can i get any newer ogl versions (i am asking that caused i searched with google but i couldn''t find anything)? My PC specs are: Celeron @ 400MHz 192 MB SDRAM Voodoo3 PCI card (with latest *official* drivers i could find) ..and some other crappy stuff. These things are puzzling me so any help will be apreciatted. Thanks for your time! What is "real"? How do you define "real"? If you''''re talking about what you can feel. . . what you can smell, taste and see. . . then "real" is simply electrical signals interpreted by your brain.
What is "real"? How do you define "real"? If you''re talking about what you can feel. . . what you can smell, taste and see. . . then "real" is simply electrical signals interpreted by your brain.
There are two parts to a normal OpenGL implementation: the MCD and the ICD. The MCD is more-or-less a stub that connects software linked to it to an ICD. The ICD is commonly supplied by video drivers.

quote:
Original post by HiddeN_BiT
I read at opengl.org''s FAQ that ogl version from 1.2 and above
are installed with my graphics card drivers.

I don''t understand that.It means that when i install newer drivers, ogl''s files (gl32.h, gl32.lib etc) are updated too or just the extensions that my graphic card supports?

The Windows MCD only supports OpenGL 1.1. The headers and libraries you use when compiling and linking correspond to the MCD, so you can only link against an MCD of OpenGL 1.1 in Windows. Other environments have up-to-date OpenGL implementations and provide MCDs supporting OpenGL versions of 1.2 through 1.4.

quote:
Original post by HiddeN_BiT
When my graphics card says that it supports ogl, what does this really mean? That it accelarates ALL ogl''s functions (ogl''s version depends on card''s age) plus that it gives me some extensions?

When a card supports an OpenGL version it (the ICD) must supply all functions required by the standard. It doesn''t mean that they are all accelerated or useful, but that is commonly true.

For example: in OpenGL version 1.2.1 multitexturing was introduced as an optional extension. The vendors did not need to support it at all to comply with version 1.2.1. In OpenGL version 1.3, multitexturing was became a required feature. The vendors need to support the functions (glActiveTexture, et cetera) even though they''re allowed to only support two texture units.

If your ICD supports features that your MCD does not support, you can still use the features as extensions; it''s just an annoyance that your MCD is out-of-date due to vendor evilness.

quote:
Original post by HiddeN_BiT
If i have an old card, can i code in a newer ogl version (possibly not supported by the card), and if so where can i get any newer ogl versions (i am asking that caused i searched with google but i couldn''t find anything)?

OpenGL is a standard, not an implementation by itself. To really get a newer OpenGL implementation, you must update your MCD or link against something else entirely. In many environments, Mesa is used for an MCD, so you would upgrade it (or the package including it, in the case of DRI). In Windows, there is no new MCD, so you cannot upgrade it; however, you can link against a port of Mesa to Windows and use it as a software renderer.

Advertisement
Thanks ! You were really enlightening!

To get sure that i understood all the things you told me:

The MCD is the software related part. It is also the way to hardware accelarate basic features(i mean without using extensions)that ogl gives (only if my card supports them).ICD is the hardware part(it is responsible for every hardware accelaration my graphics card can offer)(it is some dll files unique for my graphic card). Features supported by MCD but not supported by ICD are software rendered(slow).

When i install new drivers, my ICD is updated.
The Windows MCD cannot be updated (or to be precise: there is no update for Windows MCD)(evil Micrsoft) but if my ICD supports one feature but MCD does not i can still use it as an extension(nice).

In any event if i want to use more ogl features that Windows MCD does not support, nor my (crappy)ICD (software rendering)i should port Mesa to Windows and use THIS as an MCD.

Thanks again !

What is "real"?
How do you define "real"?
If you're talking about
what you can feel. . . what you can smell, taste and see. . . then "real" is simply electrical
signals interpreted by your brain.


[edited by - HiddeN_BiT on September 6, 2003 12:46:32 PM]

[edited by - HiddeN_BiT on September 6, 2003 1:11:13 PM]

[edited by - HiddeN_BiT on September 6, 2003 1:13:07 PM]

[edited by - HiddeN_BiT on September 6, 2003 1:14:03 PM]
What is "real"? How do you define "real"? If you''re talking about what you can feel. . . what you can smell, taste and see. . . then "real" is simply electrical signals interpreted by your brain.
quote:
Original post by HiddeN_BiT
In any event if i want to use more ogl features that Windows MCD does not support, nor my (crappy)ICD (software rendering)i should port Mesa to Windows and use THIS as an MCD.

If you want to use OpenGL features your MCD doesn''t support, you can use them as extensions (assuming that your ICD does support them). Mesa already runs in Windows, but it''s software rendering only as far as I know; it can''t actually act as a "real" MCD in Windows, only as an alternative to the MCD.

Yes i got it.

I just glanced mesa.org''s FAQ.
I could''t figured if it can be used with MS Windows.I will download it and try.
But if Mesa is an ogl implementation won''t it be slower (compared to pure ogl)?

And an other question which just poped in my mind.
If the is no update for Windows MCD how do they manage to code all these really cool graphics we see on games (i.e.)? They use A LOT of extensios? And how do they manage to render these graphics (poorly though) with hardware that simply does not support these extensions(for example i can play games like Quake 3 and medal of honor with my crappy card)?

What is "real"?
How do you define "real"?
If you''''re talking about
what you can feel. . . what you can smell, taste and see. . . then "real" is simply electrical
signals interpreted by your brain.
What is "real"? How do you define "real"? If you''re talking about what you can feel. . . what you can smell, taste and see. . . then "real" is simply electrical signals interpreted by your brain.
To upgrade simply put a real OS on your comp. Once you have installed linux make sure you have the latest offial drivers and you could be good to go.
--------------------------Nukemmsn: nukem996@hotmail.comaim: nukem996open source open mind
Advertisement
quote:
Original post by HiddeN_BiT
But if Mesa is an ogl implementation won''t it be slower (compared to pure ogl)?

There is no "pure ogl", there are only implementations. Mesa''s (or any other implementation''s) software rendering will be slower than virtually any hardware rendering implementation (Mesa can use hardware acceleration, but often not "by itself" unless you have what would now be a relatively uncommon system).

quote:
Original post by HiddeN_BiT
And an other question which just poped in my mind.
If the is no update for Windows MCD how do they manage to code all these really cool graphics we see on games (i.e.)? They use A LOT of extensios?

In short: Yes, they use a lot of extensions.

quote:
Original post by HiddeN_BiT
And how do they manage to render these graphics (poorly though) with hardware that simply does not support these extensions(for example i can play games like Quake 3 and medal of honor with my crappy card)?

The programmers write their code to not use what isn''t supported. For example: multitexturing (a feature almost all modern games rely on) can often be faked by multiple rendering passes if the video card doesn''t support it or doesn''t have enough texture units.

Yes, now i got it!!

Thanks a lot.You helped me more than all FAQs i have read together!!

@Nukem: Installing Linux is in my TODO list. First of all i need a bigger HD(i cannot jump directly to Linux.I want to have 2 OS installed simultaneously) and a faster pc as well !

What is "real"? How do you define "real"? If you''re talking about what you can feel. . . what you can smell, taste and see. . . then "real" is simply electrical signals interpreted by your brain.
Without running into a troll, just know that linux can run on very old hardware with still decent performance, so you don''t really "need a better hardware to run linux".

As for giving an answer on-topic, the ICD is not really the hardware part. It is still a software. That is the software that is directly connected to the hardware, but still it''s a software. In fact, it''s a part of the driver.
N&V is correct, except technically you don't need extensions to access core parts of OpenGL on windows, however you do need to link the function pointers in the same way as you would with extensions. This makes very little difference, except you don't need to type ARB or whatever after each command.

I got tired of faffing about with extensions, so I wrote the GLee library (see sig). It automatically loads all extensions and supported core functions at startup. With it you can use OpenGL 1.4 as easily as

if (GLEE_VERSION_1_4){  //OpenGL 1.4 commands go here  glMultiTexCoord3f(...); }  


This makes the shortcomings of the windows MCD a non-issue.

(edit: oops, forgot the sig)
____________________________________________________________
www.elf-stone.com | Automated GL Extension Loading: GLee

[edited by - benjamin bunny on September 15, 2003 7:18:19 PM]

____________________________________________________________www.elf-stone.com | Automated GL Extension Loading: GLee 5.00 for Win32 and Linux

This topic is closed to new replies.

Advertisement