1mjb – January 3, 2012Creating More Realistic Lens EffectsMike [email protected] State Universitymjb – January 3, 2012Center1Center2R2(>0)R1(>0)PEye- Z?Convex Lens Definitionsmjb – January 3, 2012Center2Center1R1(<0)R2(<0)PEye- Z?Concave Lens Definitionsmjb – January 3, 2012out vec3 vRefractVector;uniform float uR1, uR2;const float ETA = 0.66;const vec3 EYE = vec3( 0., 0., 0. );. . .vec3 P = vec3( uModelViewMatrix * aVertex );vec3 FromEyeToPt = normalize( P - EYE ); // vector from eye to ptvec3 Center1 = vec3( 0., 0., P.z - uR1 );vec3 Normal1;if( uR1 >= 0. )Normal1 = normalize( P - Center1 );elseNormal1 = normalize( Center1 - P );vec3 v1 = refract( FromEyeToPt, Normal1, ETA ); // eta = in/outv1 = normalize( v1 );vec3 Center2 = vec3( 0., 0., P.z + uR2 );vec3 Normal2;if( uR2 >= 0. )Normal2 = normalize( Center2 - P );elseNormal2 = normalize( P - Center2 );RefractVector = refract( v1, Normal2, 1./ETA ); // 1./eta = out/ingl_Position = uModelViewProjectionMatrix * aVertex;-ZEyev1zero thicknesslens.vert – Setup for a Cube Map TexturePmjb – January 3, 2012Convex Lenses (R1>0, R2>0)mjb – January 3, 2012Convex Lenses (R1>0, R2>0)2mjb – January 3, 2012Concave Lenses (R1<0,R2<0)mjb – January 3,
View Full Document