glow problem

Hi

I’m using humus fragment program to perform a full screen glow on some ligths.
Everything is working perfectly, except some objects when being rendered “loose” their texture, and in it place, there is a kind of normal map texture, with a mix of blue and pink colors.
I’m pretty sure the problem is in the fragment program, because when i disable it in the code everything is ok.
If i start the program with the glow off, and type later “glow on”, the problem shows up, and it keeps there if i disable it in the console again.

This is how it looks without the fp inactive

glow_inactive

and this, is how it looks with the fp active

glow_active

I can’t see anything wrong here, but i’m no ace in fp anyways.
Can anyone spot anything that could cause this problem ?

humus fragment program is the following :

!!ARBfp1.0

OUTPUT output = result.color;
TEMP sum;
TEMP s00, s01, s02, s03, s04, s05, s06, s07, s08, s09, s10, s11;
TEMP t00, t01, t02, t03, t04, t05, t06, t07, t08, t09, t10, t11;

PARAM off00 = {-0.326212, -0.405805, 0, 0 };
PARAM off01 = {-0.840144, -0.073580, 0, 0 };
PARAM off02 = {-0.695914,  0.457137, 0, 0 };
PARAM off03 = {-0.203345,  0.620716, 0, 0 };
PARAM off04 = { 0.962340, -0.194983, 0, 0 };
PARAM off05 = { 0.473434, -0.480026, 0, 0 };
PARAM off06 = { 0.519456,  0.767022, 0, 0 };
PARAM off07 = { 0.185461, -0.893124, 0, 0 };
PARAM off08 = { 0.507431,  0.064425, 0, 0 };
PARAM off09 = { 0.896420,  0.412458, 0, 0 };
PARAM off10 = {-0.321940, -0.932615, 0, 0 };
PARAM off11 = {-0.791559, -0.597705, 0, 0 };

PARAM inv13 = 0.07923077;

PARAM size = 0.02;



TEX sum, fragment.texcoord[0], texture[0], 2D;

MAD s00, off00, size, fragment.texcoord[0];
MAD s01, off01, size, fragment.texcoord[0];
MAD s02, off02, size, fragment.texcoord[0];
MAD s03, off03, size, fragment.texcoord[0];
MAD s04, off04, size, fragment.texcoord[0];
MAD s05, off05, size, fragment.texcoord[0];
MAD s06, off06, size, fragment.texcoord[0];
MAD s07, off07, size, fragment.texcoord[0];
MAD s08, off08, size, fragment.texcoord[0];
MAD s09, off09, size, fragment.texcoord[0];
MAD s10, off10, size, fragment.texcoord[0];
MAD s11, off11, size, fragment.texcoord[0];

TEX t00, s00, texture[0], 2D;
TEX t01, s01, texture[0], 2D;
TEX t02, s02, texture[0], 2D;
TEX t03, s03, texture[0], 2D;
TEX t04, s04, texture[0], 2D;
TEX t05, s05, texture[0], 2D;
TEX t06, s06, texture[0], 2D;
TEX t07, s07, texture[0], 2D;
TEX t08, s08, texture[0], 2D;
TEX t09, s09, texture[0], 2D;
TEX t10, s10, texture[0], 2D;
TEX t11, s11, texture[0], 2D;

ADD	sum, sum, t00;
ADD	sum, sum, t01;
ADD	sum, sum, t02;
ADD	sum, sum, t03;
ADD	sum, sum, t04;
ADD	sum, sum, t05;
ADD	sum, sum, t06;
ADD	sum, sum, t07;
ADD	sum, sum, t08;
ADD	sum, sum, t09;
ADD	sum, sum, t10;
ADD	sum, sum, t11;

MUL	output, sum, inv13;

END 

thanks for any help :slight_smile:
Bruno

Looks like an overflow problem with some components of sum, dunno if it should be happening though. I’d try decreasing the kernel values and increasing inv13 proportionately and see if that helps.

By the way this special effect is very nice (even if it is not wanted) for scenes ala “your are in a virtual world” !

It’s really weird, i actually commented all the fp instructions and the problem is still there.
If i simply do this :

glEnable(GL_FRAGMENT_PROGRAM_ARB);
glDisable(GL_FRAGMENT_PROGRAM_ARB);

the problem happens,

and this without even loading or binding the fp

I’d say its either messing up your fixed function fragment settings, or its a driver bug.

What hardware and drivers ?

It’s a ati radeon 9800 se , with Catalyst 4.6