Check the HW?


How can I check which graphic card I’m using?
Is there some way for this in Win API?
OpenGL/DX ?

//Regards, Ninja

You can use glGetString with GL_VENDOR and GL_RENDERER. For Windows, try EnumDisplayDevices.

Ok, thanks!

But which way is the best to go if I want to write backends for different cards?
How do I distinguish between the cards?
E.g. how do I know if a graphic card is third or second generation hw?

Regards, Ninja

You can also use glGetString with GL_EXTENSIONS and GL_VERSION. And there is also wglGetExtensionsStringEXT for wgl specific extensions which may or may not be in the regular extension string.

Unfortunately I do not know how to distinguish between a card that supports 1.2 on hardware but supports 1.4 through drivers or supports specific extensions through hardware but other extensions through drivers.

Not sure if that is what you were looking for.

Typically, a card that cant do something in hw, won’t advertise the extension.

However, it might return 1.4 as the version but not support 3D textures for example.

Generation doesn’t mean much since different vendors offer different capabilities in the same year.

It’s also relative to the needs of an extension. vetex_program can be done on the cpu pretty fast so some vendors put it in the extension string.

Bottom line, it doesn’t matter who is executing GL as long as you dont go below a certain FPS.

Thanks V-Man.
Not sure if it helped Ninja, but it helps me.