gunslinger

03-10-2004, 01:53 AM

well well well, back online eh? http://www.opengl.org/discussion_boards/ubb/smile.gif

i was starting to miss u http://www.opengl.org/discussion_boards/ubb/smile.gif

now let's get back to businnes, shall we?

I am tring to write a v/f program capable of adjusting exposure values into a scene. So i have a "luminance" cubemap which must be processed. My idea is to pass to the v prog the exposure value, compute the result, pass all the stuff to the fp and then modulate the lit color with eventual textures.

Cutting with the details i need to say to the vp:

pixel_color*=2^(exposure+2,47);

pixel_final_color=pixel_color^(1/gamma);

1/gamma is 0.4545, so in my vp i say:

PARAM exposure = program.local[0];

#some temp vars...

TEMP m_exp,t_exp,temp_inColor;

ADD t_exp, exposure.xxxx, 2.47393;

#this should be a single float replicated 4 times into m_exp, and the value should be 2^t_exp.x;

EXP m_exp, t_exp.x;

this is the pixel_color*=2^(exposure+2,47);

MUL temp_inColor, inColor, m_exp.xxxx;

#now these should be the gamma corrected rgb values

#r=r^0.4545;

#g=g^0.4545;

#b=b^0.4545;

POW outColor.x, temp_inColor.x, 0.4545;

POW outColor.y, temp_inColor.y, 0.4545;

POW outColor.z, temp_inColor.z, 0.4545;

so why the program returns an error into the POWs? where am i wrong? I am just sayng that he has to change just one component a time, exponating the right comp everytime...

anyone can help?

thx all the Gunslinger

i was starting to miss u http://www.opengl.org/discussion_boards/ubb/smile.gif

now let's get back to businnes, shall we?

I am tring to write a v/f program capable of adjusting exposure values into a scene. So i have a "luminance" cubemap which must be processed. My idea is to pass to the v prog the exposure value, compute the result, pass all the stuff to the fp and then modulate the lit color with eventual textures.

Cutting with the details i need to say to the vp:

pixel_color*=2^(exposure+2,47);

pixel_final_color=pixel_color^(1/gamma);

1/gamma is 0.4545, so in my vp i say:

PARAM exposure = program.local[0];

#some temp vars...

TEMP m_exp,t_exp,temp_inColor;

ADD t_exp, exposure.xxxx, 2.47393;

#this should be a single float replicated 4 times into m_exp, and the value should be 2^t_exp.x;

EXP m_exp, t_exp.x;

this is the pixel_color*=2^(exposure+2,47);

MUL temp_inColor, inColor, m_exp.xxxx;

#now these should be the gamma corrected rgb values

#r=r^0.4545;

#g=g^0.4545;

#b=b^0.4545;

POW outColor.x, temp_inColor.x, 0.4545;

POW outColor.y, temp_inColor.y, 0.4545;

POW outColor.z, temp_inColor.z, 0.4545;

so why the program returns an error into the POWs? where am i wrong? I am just sayng that he has to change just one component a time, exponating the right comp everytime...

anyone can help?

thx all the Gunslinger