/usr/share/glmark2/shaders/light-basic-tex-bilinear.frag is in glmark2-data 2014.03+git20150611.fa71af2d-0ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | uniform sampler2D MaterialTexture0;
varying vec4 Color;
varying vec2 TextureCoord;
const vec2 TexelSize = vec2(1.0 / TextureSize.x, 1.0 / TextureSize.y);
/*
* See http://www.gamerendering.com/2008/10/05/bilinear-interpolation/
* for a more thorough explanation of how this works.
*/
vec4 texture2DBilinear(sampler2D sampler, vec2 uv)
{
// Get the needed texture samples
vec4 tl = texture2D(sampler, uv);
vec4 tr = texture2D(sampler, uv + vec2(TexelSize.x, 0));
vec4 bl = texture2D(sampler, uv + vec2(0, TexelSize.y));
vec4 br = texture2D(sampler, uv + vec2(TexelSize.x , TexelSize.y));
// Mix the samples according to the GL specification
vec2 f = fract(uv * TextureSize);
vec4 tA = mix(tl, tr, f.x);
vec4 tB = mix(bl, br, f.x);
return mix(tA, tB, f.y);
}
void main(void)
{
vec4 texel = texture2DBilinear(MaterialTexture0, TextureCoord);
gl_FragColor = texel * Color;
}
|