Setting constants in AFP

Hi,

After executing such sequence:

glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB,name1);
glProgramEnvParameter4fARB(GL_FRAGMENT_PROGRAM_ARB,0,0,0,0,0);
glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB,name2);

glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB,name1);
glProgramEnvParameter4fARB(GL_FRAGMENT_PROGRAM_ARB,0,1,1,1,0);

the value of the program.env[0] is equal to (0,0,0,0). Is it a driver bug or a correct behavior?
Hardware: GeForceFX 5200

[This message has been edited by h2 (edited 07-16-2003).]

You don’t need to bind before making that call and I don’t think you need to have FP enabled.

How do you know it’s all zeroes?

I modulate with program.env[0] in FP and it looks like it’s black, not white.

I also experienced this, for local constants, It worked in cases when i didnt change the program ( kept the one all the time) but when i changed to another and back again the parameter wasn’t updated ( bump specular), i moved the constant into the program itself and that worked… I dont own a FX card so i couldnt test it anymore, but it felt like a driverbug. ( same program worked on an ATI card, but since that is what i develop on its not that strange )

Mazy,

Really, It works only when I don’t switch to another program. Looks like we share the same problem.

Damn, is there any bug-free driver?
My program doesn’t work on ATI due to their render-texture bug, which is not being fixed for three or four months despite the fact that I sent a bugreport to them

[This message has been edited by h2 (edited 07-17-2003).]