Destination Alpha Availability

Started by avm1979, January 17, 2012, 03:00:22

Previous topic - Next topic

avm1979

The game I'm working on uses destination alpha, and I'm setting up the display like this:
Display.create(new PixelFormat(org.lwjgl.opengl.Display.getDisplayMode().getBitsPerPixel(), 8, 24, 8, 0));


It looks like a few players are getting a "org.lwjgl.LWJGLException: Pixel format not accelerated" exception here. In most cases, it's resolved by updating to the latest drivers, but in a few cases, for reasonably-new Nvidia graphics cards, it's not. One of the players was kind enough to run some tests, and it looks like anything other than a 0 for the number of alpha bits requested (2nd parameter to PixelFormat constructor) causes this exception.

The questions I have are:
- Is using destination alpha that unusual? In other words, is it something so rarely used that it's a mistake to be using it because it could go away?
- Is it likely that the graphics card actually doesn't support it, or is it more likely a driver issue, or are there perhaps some settings that can be tweaked on the user's PC to allow destination alpha to work?

Here is a more detailed stack trace, in case that's useful:
org.lwjgl.LWJGLException: Pixel format not accelerated
   at org.lwjgl.opengl.WindowsPeerInfo.nChoosePixelFormat(Native Method)
   at org.lwjgl.opengl.WindowsPeerInfo.choosePixelFormat(WindowsPeerInfo.java:52)
   at org.lwjgl.opengl.WindowsDisplay.createWindow(WindowsDisplay.java:185)
   at org.lwjgl.opengl.Display.createWindow(Display.java:317)
   at org.lwjgl.opengl.Display.create(Display.java:857)
   at org.lwjgl.opengl.Display.create(Display.java:785)



Edit: It appears changing the display mode to 32 bit fixed this. Apologies for, as it turns out, creating this thread unnecessarily.