27 lines
851 B
Plaintext
27 lines
851 B
Plaintext
varying vec2 uv[5], uvB;
|
|
const vec2 fractions = vec2(0.984375, 0.0078125);
|
|
uniform vec2 texSize;
|
|
uniform vec2 fullSize;
|
|
|
|
varying vec2 blur;
|
|
|
|
void main() {
|
|
// make biome tiler
|
|
// to reuse the tiling planet surfaces we need to account for the bleed they have baked into the planet sphere uv's.
|
|
// each planet tile is 2016x2016 with 16 pixel tiled bleed on each side
|
|
uvB = (vec2(gl_Color.x, gl_MultiTexCoord0.y) * fractions.x + fractions.y) / vec2(4.0, 2.0);
|
|
uvB.y = 1.0 - uvB.y;
|
|
|
|
// make splatmap blurs
|
|
blur = vec2(1.0 / fullSize.x, 1.0 / fullSize.y);
|
|
uv[0] = gl_MultiTexCoord0.xy;
|
|
uv[1] = uv[0] + blur;
|
|
uv[2] = uv[0] + vec2(-blur.x, blur.y);
|
|
uv[3] = uv[0] + vec2(-blur.x, -blur.y);
|
|
uv[4] = uv[0] + vec2(blur.x, -blur.y);
|
|
|
|
gl_Position = ftransform();
|
|
gl_FrontColor = gl_Color;
|
|
gl_BackColor = gl_Color;
|
|
}
|