views:

225

answers:

2

Is there a Win32 API call that detects the current Hardware Acceleration level of a user's system? I have no need to change the setting, but I'd like to scale back the level of detail for my OpenGL display if hardware acceleration is disabled.

A: 

Or you can interrogate the device's capability with Direct3D, if you're on Windows. The "standard" GDI Win32 GetDeviceCaps() call doesn't deal with 3D...

Dave Markle
+2  A: 

From the FAQ: How do I know my program is using hardware acceleration on a Wintel card?

If you are using the Win32 interface (as opposed to GLUT), call DescribePixelFormat() and check the returned dwFlags bitfield. If PFD_GENERIC_ACCELERATED is clear and PFD_GENERIC_FORMAT is set, then the pixel format is only supported by the generic implementation. Hardware acceleration is not possible for this format. For hardware acceleration, you need to choose a different format.

Justicle
FAQ question 5.030 and 5.040 were quite helpful.
JRS