PDA

View Full Version : OpenGL and the Detonator drivers of Nvidia



Tresher
08-27-2003, 11:39 AM
Hi,
maybe some of you have already bad experience with the drivers of Nvidia.
Do you know that they don`t support blending using glBlendFunc(GL_ONE_MINUS_DST_ALPHA,GL_DST_ALPHA) ?
I tried as hard as i could, but this is the only way to achieve my objective: that a background picture shines nicely through the rendered objects.
Do you know some other solution/trick...?

Thanks,
Tresher.

al_bob
08-27-2003, 11:52 AM
This is probably a stupid question, but do you have an alpha channel in your draw buffer? Do you render anything with alpha != 1.0?

Tresher
08-27-2003, 12:48 PM
Well, yes i have http://www.opengl.org/discussion_boards/ubb/smile.gif
I know that my blending method works, since i have no problems while i use other drivers (those from Asus for instance). But i am sure that many people are using the Nvidia drivers...

Deiussum
08-27-2003, 12:54 PM
And you make sure you have a destination alpha when you create your window? (e.g. By using GLUT_ALPHA in glutInit if using glut, or getting a PIXELFORMATDESCRIPTOR that has cAlphaBits > 0 if using the Win32 API.)

Tresher
08-28-2003, 11:14 AM
Thank you very much. It works now using GLUT_ALPHA. I thought i had an alpha channel in my DrawBuffer, because the RedBook doesn`t mention this option at all.
Of course one question arises now:
1. Why did it work with some drivers and with others not ?

Though, for me this is unimportant... http://www.opengl.org/discussion_boards/ubb/smile.gif)) IT WORKS !

Deiussum
08-29-2003, 06:23 AM
It's possible that the other drivers were giving you a "best fit" pixel format that just happened to include an Alpha buffer. I think glut simply uses ChoosePixelFormat to find a PIXELFORMATDESCRIPTOR with the stuff you requeset. ChoosePixelFormat will return something that has at least what you request, and potentially other stuff.

I ran into a similar problem with porting a glut app to Linux once. I hadn't explicitly requested a depth buffer using GLUT_DEPTH because with Windows and glut, I always got a depth buffer anyway. With Linux, I didn't get a depth buffer unless I explicitly requested one.

c0d3Junk3Y
09-03-2003, 10:33 AM
Odd since I use the latest Detonator from nVidia and experience no problems with the glBlendFunc().

al_bob
09-03-2003, 10:46 AM
Odd since I use the latest Detonator from nVidia and experience no problems with the glBlendFunc().
If you read the rest of the thread, you'd realize that it wasn't a driver bug, but an app bug: If you don't ask for a frame buffer with an alpha channel, you may not get an alpha channel, so destination-alpha blending will not give you the behavior you expect.