diff options
author | Kenneth Russel <[email protected]> | 2005-05-27 19:45:51 +0000 |
---|---|---|
committer | Kenneth Russel <[email protected]> | 2005-05-27 19:45:51 +0000 |
commit | 9d209d3b6ae12604e666d7b655bd1f19e70ee48b (patch) | |
tree | 5eb780835a316cbb62a9718a2757a3d51c31adb5 /src/demos/hdr/shaders/cg/tonemap.cg | |
parent | 02acfb8e24959f43cada34366598236a51b782bb (diff) |
Added Java/JOGL port of NVidia HDR demo.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@80 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
Diffstat (limited to 'src/demos/hdr/shaders/cg/tonemap.cg')
-rwxr-xr-x | src/demos/hdr/shaders/cg/tonemap.cg | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/demos/hdr/shaders/cg/tonemap.cg b/src/demos/hdr/shaders/cg/tonemap.cg new file mode 100755 index 0000000..c3d218f --- /dev/null +++ b/src/demos/hdr/shaders/cg/tonemap.cg @@ -0,0 +1,37 @@ +// Tone mapping pass + +#include "hdr.cg" + +half4 main(fragin In, + uniform samplerRECT sceneTex : TEXUNIT0, + uniform samplerRECT blurTex : TEXUNIT1, + uniform sampler1D gammaTex : TEXUNIT2, + uniform samplerRECT vignetteTex : TEXUNIT3, + uniform float blurAmount, + uniform float4 windowSize, + uniform float exposure + ) : COLOR +{ + // sum original and blurred image + half3 c = lerp(texRECT(sceneTex, In.tex0.xy), texRECT_bilinear(blurTex, In.tex1.xy), blurAmount).xyz; + + // exposure + c = c * half(exposure); + + // vignette effect (makes brightness drop off with distance from center) +// vignette(c, In.wpos, windowSize.xy, windowSize.zw); + c = c * texRECT(vignetteTex, In.tex0.xy).rgb; + + // gamma correction +#if 0 + // use math + c = pow(c, 1.0 / 2.2); +#else + // use lut + c.r = h1tex1D(gammaTex, c.r); + c.g = h1tex1D(gammaTex, c.g); + c.b = h1tex1D(gammaTex, c.b); +#endif + + return half4(c, 1.0); +} |