Working Ok in Nvidia, but on Ati...... :(

Hi

I’m using projected shadows on my engine, and altough everything is working alright in Nvidia cards, in Ati cards, i get a weird result, that looks like a wrong blending.

I’m rendering the meshes in white, to a black texture, and using the following blend equation to blend the shadow on the environment :

glBlendFunc(GL_ZERO, GL_ONE_MINUS_SRC_ALPHA);
glBlendEquationEXT(GL_FUNC_REVERSE_SUBTRACT_EXT);

On my GF3 using the latest drivers ( 45.23 ) i get this result :
http://www.fysoftware.com/screenshots/nvidia.jpg

On an Ati 9800, also with the latest drivers ( 6.14.10.6378 ), i get this :
http://www.fysoftware.com/screenshots/ati.jpg

On the Ati, it seem that the black parts of the texture are not completely removed…

any ideias on what could be wrong ?

thanks,
Bruno

Sorry but the screenshot is taken so far for seeying anything …

Have you checked if the GL_EXT_blend_subtract extension was supported in both cases ?

@Leyder : It’s take far away so that people can see the brigther quad around the mesh, if it’s taken on top of the mesh you will only see the shadow and think it’s ok.

@vincoof : Yes, it’s supported in both cards.

This could be a clamping issue of the projected texture. Try using GL_CLAMP_TO_EDGE as clamping mode.