PDA

View Full Version : alpha test on radeon 9700



stanleyw
11-13-2003, 02:26 PM
I am trying to use a alpha test on a radeon 9700 but it does not work. I looked at my pixel format and it says i have 8 alphabits(not the cerial). My code works on nvidia video card. Here is an excerpt:


glRasterPos2f( 0.0f, 0.0f );
glEnable( GL_ALPHA_TEST );
glAlphaFunc(GL_GREATER, 0.10f );

BOOL bAlpha = glIsEnabled( GL_ALPHA_TEST );


glCopyPixels( m_rcDevicePos.left, m_rcDevicePos.top ,
m_rcDevicePos.Width(), m_rcDevicePos.Height(), GL_COLOR );

the pixels i am trying to copy are in RGBA format. I asked for 24 bit color but got 32 bits which i expected to happened and is not a problem. I also asked for 8 alpha bits and got them.

zeckensack
11-13-2003, 05:12 PM
It works fine w glDrawPixels (and geometry rendering), that's all I know.

What exactly happens? No pixels discarded? All pixels discarded?

Do you call glColorMask anywhere in your code?

Does it work as expected if you 'emulate' glCopyPixels with a sequence of glReadPixels to a system memory buffer followed by glDrawPixels?

stanleyw
11-13-2003, 07:25 PM
It will not mask anything, even when i replace the GL_GREATER with GL_NEVER.

I am trying to copy the pixels from the front buffer to the back buffer, after drawing new line strips or quads or whatever.

No i am not doing any color masks.

Thanks by the way for trying it out.

stanleyw
11-14-2003, 11:05 AM
I just tried drawpixels and it works, but to do the drawpixels i have to do a read pixels and that is just to slow on an ati radeon card.

zeckensack
11-15-2003, 07:40 AM
Just looked it up to make sure. In section 4.3.3 CopyPixels is specced to behave exactly like a ReadPixels/DrawPixels sequence (without the intermediate buffer, of course). Ie this looks like a driver bug.

You should prepare a minimum test case application (I'd suggest using GLUT) and send that to ATI devrel along with source code and a description.