/////////////////////////////////////////////////////////////////////////////// // // ## ###### // ###### ### // ## ############### Shark 3D Engine (www.shark3d.com) // ########## # # # // ######## Copyright (c) 1996-2006 Spinor GmbH. // ######### # # # All rights reserved. // ## ########## // ## // /////////////////////////////////////////////////////////////////////////////// uniform sampler2D tex0; uniform vec4 passInfo; varying vec4 baseVec; void main(void) { vec2 mainTexCoord = gl_TexCoord[0].xy; vec2 offsPix0 = baseVec.xy; vec2 offsPix1 = baseVec.zw; vec2 offsPix2 = offsPix0 + offsPix1; vec2 offsPix3 = offsPix0 - offsPix1; vec4 val = texture2D(tex0, mainTexCoord); vec4 val0 = texture2D(tex0, mainTexCoord.xy + offsPix0); vec4 val1 = texture2D(tex0, mainTexCoord.xy + offsPix1); vec4 val2 = texture2D(tex0, mainTexCoord.xy + offsPix2); vec4 val3 = texture2D(tex0, mainTexCoord.xy + offsPix3); vec4 val4 = texture2D(tex0, mainTexCoord.xy - offsPix0); vec4 val5 = texture2D(tex0, mainTexCoord.xy - offsPix1); vec4 val6 = texture2D(tex0, mainTexCoord.xy - offsPix2); vec4 val7 = texture2D(tex0, mainTexCoord.xy - offsPix3); vec4 sum = (val * val + val0 * val0 + val1 * val1 + val2 * val2 + val3 * val3 + 0.5 * (val4 * val4 + val5 * val5 + val6 * val6 + val7 * val7)) * 0.142857; // = approx. 1.0 / 7.0 gl_FragColor = sqrt(sum); } ///////////////////////////////////////////////////////////////////////////////