Jump to content
  • Advertisement

Archived

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

v_d_d

OpenGL Checking for OpenGL hardware support...

This topic is 5683 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

I need to verify programatically if the user''s system is equiped with a 3d capable video card, more specifically, OpenGl hardware support. What would be the best way to do it? I need to tell the user he can''t use 3d in my application if he doesn''t have a 3d video card...

Share this post


Link to post
Share on other sites
Advertisement
Wouldn''t the creation of the GL device context fail outright if OpenGL isn''t supported by the drivers?

Share this post


Link to post
Share on other sites
mmm... I think on 32 bit Windows platforms, it is always supported but if there is no 3d hardware, it renders in slow software mode. Thats why I need to know if 3d hardware is present.

Share this post


Link to post
Share on other sites
GL_VENDOR string shouldn''t contain Microsoft

Otherwise it would be software.


-* So many things to do, so little time to spend. *-

Share this post


Link to post
Share on other sites
Yeah, the vendor name is a good idea. I tested it on a couple of systems that don''t have 3d accelerators and it returned "Microsoft Corporation" as vendor...

As for the thing with the pixel format, I have to test that...

Thanks all, if anyone has a better way please tell me.

Share this post


Link to post
Share on other sites
Even though it is unlikely that Microsoft will produce OpenGL hardware (and therefore drivers) in the future, I think the vendor name thing is a horrible idea.

Do you want to know if the driver is by MS, or do you want to know if you have hardware acceleration?

Check the PIXELFORMATDESCRIPTOR structure. It''s there.


Why you shouldn''t use iostream.h - ever! | A Good free online C++ book

Share this post


Link to post
Share on other sites
In OpenGL you can''t tell, in any way, if it''s the hardware that performs the actual rendering or not. You can only tell if it''s Microsofts software implementation, or something else.

The vendor string will only return the name of the driver. It does not tell whether the hardware or the driver (via software rendering) performs the rednering. The PFD structure will only tell if it''s Microsofts generic implementation, or a device driver, that is responsible for rendering.

As a quick example. If I enable 3D textures on my GF2MX I am obviously kicked into software rendering. The vendor string still returns NVIDIA, the renderer string still returns GeForce, the PFD structure still contains all the flags as when 3D textureing was not enabled.

Share this post


Link to post
Share on other sites
you should speed test the opengl implementation.. if it is as fast as you need why bother about HW/SW modes?

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!