Я пытаюсь написать фрагментный шейдер GLSL, который отображает сетку ссылок на плоской плоскости земли. Я использую BabylonJS для создания приложения WebGL.
Код можно увидеть в действии здесь:
http://www.babylonjs.com/cyos/#IBHRN#2
#extension GL_OES_standard_derivatives : enable
precision highp float;
varying vec2 vUV;
void main(void) {
float divisions = 10.0;
float thickness = 0.01;
float delta = 0.05 / 2.0;
float x = fract(vUV.x / (1.0 / divisions));
float xdelta = fwidth(x) * 2.5;
x = smoothstep(x - xdelta, x + xdelta, thickness);
float y = fract(vUV.y / (1.0 / divisions));
float ydelta = fwidth(y) * 2.5;
y = smoothstep(y - ydelta, y + ydelta, thickness);
float c = clamp(x + y, 0.1, 1.0);
gl_FragColor = vec4(c, c, c, 1.0);
}
Результат еще не очень гладкий, и мне интересно, как я могу избавиться от гребней в линиях и получить идеально сглаженные линии.