mirror of
https://github.com/scratchfoundation/bgfx.git
synced 2024-11-28 18:45:54 -05:00
46 lines
855 B
Text
46 lines
855 B
Text
struct v2f {
|
|
vec4 pos;
|
|
vec2 uv;
|
|
};
|
|
uniform sampler2D _MainTex;
|
|
uniform vec4 _MainTex_TexelSize;
|
|
|
|
vec2 maxMag (in vec2 a, in vec2 b)
|
|
{
|
|
float ma;
|
|
float mb;
|
|
ma = dot(a, a);
|
|
mb = dot(b, b);
|
|
return mix (a, b, vec2(step(ma, mb)));
|
|
}
|
|
vec4 TileMax (in v2f i)
|
|
{
|
|
vec2 uvCorner;
|
|
vec2 mx;
|
|
vec2 v;
|
|
uvCorner = i.uv;
|
|
mx = vec2(texture2D( _MainTex, uvCorner));
|
|
int j = 0;
|
|
for ( ; (j < 8); (j++))
|
|
{
|
|
int l = 0;
|
|
for ( ; (l < 8); (l++))
|
|
{
|
|
v = texture2D (_MainTex, (uvCorner + (vec2(float(l),float(j)) * _MainTex_TexelSize.xy))).xy;
|
|
mx = maxMag(mx, v);
|
|
}
|
|
}
|
|
return vec4(mx, 0.0, 0.0);
|
|
}
|
|
|
|
varying vec2 xlv_TEXCOORD0;
|
|
|
|
void main()
|
|
{
|
|
vec4 c;
|
|
v2f ii;
|
|
ii.pos = vec4(0.0);
|
|
ii.uv = xlv_TEXCOORD0;
|
|
c = TileMax(ii);
|
|
gl_FragData[0] = c;
|
|
}
|