Hdr?

Hello,

I was interested if anyone has played around with implmenting HDR in jme, via lwjgl.

I know JOGL now has support for it in their latest release.



ty,

sv

this is fakehdr.frag … an implementation of hugo elias's article on exposure.

picked it up from a chinese forum and translated their comments with google:-)

but if you read hugo's article you will understand what it's attempting.



// http:freespace.virgin.net/hugo.elias/graphics/x_posure.htm

//Hugo points out, exposure is according to enters the lens the light decides.

// exaggerates one image after us, should use the float16 form preserves.

// but if regarding one is not float16 form Rendertarget, we may take

//After periphery color average takes the decision exposure factor,

// below shader code should say is extremely cheats on labor and materials.

//But the effect has a liking for is alright.

uniform sampler2D texture;

//blur, is takes the multi- distant places picture element comes

const float blurfactor = 45.0;//12.5;

//const float expfactor = 0.08;

uniform float expfactor = 0.08;

// one picture element correspondence float size. I use the texture is 1024, own calculates

const float cdelp = 0.0009765625;

// looks the code

const float sharpness = 0.01;



vec4 xposure (vec4 cl, float e)

{

return (exp (expfactor) - exp (expfactor-e)) * cl;

}



void main ()

{

float delp = blurfactor* cdelp;

vec4 texColor = texture2D (texture, vec2 (gl_TexCoord [ 0 ].s, gl_TexCoord [ 0 ].t));

// makes the current position color and periphery blur,

//calculates exposure time and calculates the final color unifies, the weight is different,

// final color is.

vec4 color = texColor*2.0 / 22.0;

color += texture2D (texture, vec2 (gl_TexCoord [ 0 ].s+delp, gl_TexCoord [ 0 ].t+delp)) *5.0 /22.0;

color += texture2D (texture, vec2 (gl_TexCoord [ 0 ].s+delp, gl_TexCoord [ 0 ].t-delp)) *5.0 /22.0;

color += texture2D (texture, vec2 (gl_TexCoord [ 0 ].s-delp, gl_TexCoord [ 0 ].t-delp)) 5.0 /22.0;

color += texture2D (texture, vec2 (gl_TexCoord [ 0 ].s-delp, gl_TexCoord [ 0 ].t+delp)) 5.0 /22.0;

float e = color.r * 0.3 + color.g * 0.59 + color.b * 11;

// figured out exposure

gl_FragColor = xposure (texColor
sharpness + color
(1-sharpness), e);

}





Can't seem to figure out how to update the params in realtime.

Anyone?