From 9d209d3b6ae12604e666d7b655bd1f19e70ee48b Mon Sep 17 00:00:00 2001 From: Kenneth Russel Date: Fri, 27 May 2005 19:45:51 +0000 Subject: 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 --- src/demos/hdr/shaders/cg/object_hilo.cg | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 src/demos/hdr/shaders/cg/object_hilo.cg (limited to 'src/demos/hdr/shaders/cg/object_hilo.cg') diff --git a/src/demos/hdr/shaders/cg/object_hilo.cg b/src/demos/hdr/shaders/cg/object_hilo.cg new file mode 100755 index 0000000..88a3348 --- /dev/null +++ b/src/demos/hdr/shaders/cg/object_hilo.cg @@ -0,0 +1,31 @@ +// object shader + +#include "hdr.cg" + +struct v2f +{ + float4 HPosition : POSITION; + float4 P : TEXCOORD0; // position + float3 N : TEXCOORD1; // normal + float3 I : TEXCOORD2; // incident vector +}; + +half4 main(v2f In, + uniform samplerCUBE envMap_rg : TEXUNIT0, + uniform samplerCUBE envMap_b : TEXUNIT1) : COLOR +{ + half3 I = normalize(half3(In.I)); + half3 N = normalize(half3(In.N)); + + half3 R = reflect(I, N); +// half3 T = refract(I, N, 0.9); + half fresnel = my_fresnel(-I, N, 5.0, 0.98, 0.02); + + half3 Creflect = texCUBE_hilo(envMap_rg, envMap_b, R).rgb; // lookup reflection in HDR cube map +// half3 Crefract = texCUBE_hilo(envMap_rg, envMap_b, T).rgb; // refraction + +// half3 Cout = lerp(Crefract, Creflect, fresnel); +// return half4(Cout, 1.0); + + return half4(Creflect * fresnel, 1.0); +} -- cgit v1.2.3