export declare const LINE_VERT = "\nprecision highp float;\nattribute vec2 position;\nuniform vec2 uScale;\nuniform vec2 uTranslate;\n\nvoid main() {\n vec2 pos = position * uScale + uTranslate;\n gl_Position = vec4(pos, 0.0, 1.0);\n}\n"; export declare const LINE_FRAG = "\nprecision highp float;\nuniform vec4 uColor;\n\nvoid main() {\n gl_FragColor = uColor;\n}\n"; export declare const POINT_VERT = "\nprecision highp float;\nattribute vec2 position;\nuniform vec2 uScale;\nuniform vec2 uTranslate;\nuniform float uPointSize;\n\nvoid main() {\n vec2 pos = position * uScale + uTranslate;\n gl_Position = vec4(pos, 0.0, 1.0);\n gl_PointSize = uPointSize;\n}\n"; export declare const POINT_FRAG = "\nprecision highp float;\nuniform vec4 uColor;\nuniform int uSymbol;\n\nfloat sdCircle(vec2 p, float r) {\n return length(p) - r;\n}\n\nfloat sdBox(vec2 p, vec2 b) {\n vec2 d = abs(p) - b;\n return length(max(d, 0.0)) + min(max(d.x, d.y), 0.0);\n}\n\nfloat sdTriangle(vec2 p, float r) {\n const float k = sqrt(3.0);\n p.x = abs(p.x) - r;\n p.y = p.y + r / k;\n if (p.x + k * p.y > 0.0) p = vec2(p.x - k * p.y, -k * p.x - p.y) / 2.0;\n p.x -= clamp(p.x, -2.0 * r, 0.0);\n return -length(p) * sign(p.y);\n}\n\nfloat sdDiamond(vec2 p, float r) {\n return (abs(p.x) + abs(p.y)) - r;\n}\n\nfloat sdCross(vec2 p, float r, float thickness) {\n vec2 d = abs(p);\n float s1 = sdBox(d, vec2(r, thickness));\n float s2 = sdBox(d, vec2(thickness, r));\n return min(s1, s2);\n}\n\nfloat sdX(vec2 p, float r, float thickness) {\n float c = cos(0.785398);\n float s = sin(0.785398);\n mat2 m = mat2(c, -s, s, c);\n return sdCross(m * p, r, thickness);\n}\n\nfloat sdStar(vec2 p, float r, float rf) {\n const vec2 k1 = vec2(0.80901699, -0.58778525);\n const vec2 k2 = vec2(-k1.x, k1.y);\n p.x = abs(p.x);\n p -= 2.0 * max(dot(k1, p), 0.0) * k1;\n p -= 2.0 * max(dot(k2, p), 0.0) * k2;\n p.x = abs(p.x);\n p.y -= r;\n vec2 ba = rf * vec2(-k1.y, k1.x) - vec2(0, 1);\n float h = clamp(dot(p, ba) / dot(ba, ba), 0.0, r);\n return length(p - ba * h) * sign(p.y * ba.x - p.x * ba.y);\n}\n\nvoid main() {\n vec2 p = gl_PointCoord - vec2(0.5);\n float d = 0.0;\n\n if (uSymbol == 0) {\n d = sdCircle(p, 0.45);\n } else if (uSymbol == 1) {\n d = sdBox(p, vec2(0.35));\n } else if (uSymbol == 2) {\n d = sdDiamond(p, 0.45);\n } else if (uSymbol == 3) {\n d = sdTriangle(vec2(p.x, p.y + 0.1), 0.4);\n } else if (uSymbol == 4) {\n d = sdTriangle(vec2(p.x, -p.y + 0.1), 0.4);\n } else if (uSymbol == 5) {\n d = sdCross(p, 0.45, 0.15);\n } else if (uSymbol == 6) {\n d = sdX(p, 0.45, 0.15);\n } else if (uSymbol == 7) {\n d = sdStar(p, 0.45, 0.4);\n }\n\n if (d > 0.02) discard;\n\n float alpha = 1.0 - smoothstep(0.0, 0.02, d);\n gl_FragColor = vec4(uColor.rgb, uColor.a * alpha);\n}\n"; export declare const HEATMAP_VERT = "\nprecision highp float;\nattribute vec2 aPosition;\nattribute float aValue;\nuniform vec2 uScale;\nuniform vec2 uTranslate;\nvarying float vValue;\n\nvoid main() {\n gl_Position = vec4(aPosition * uScale + uTranslate, 0.0, 1.0);\n vValue = aValue;\n}\n"; export declare const HEATMAP_FRAG = "\nprecision highp float;\nvarying float vValue;\nuniform float uMinValue;\nuniform float uMaxValue;\nuniform sampler2D uColormap;\n\nvoid main() {\n float range = uMaxValue - uMinValue;\n float t = (vValue - uMinValue) / (range != 0.0 ? range : 1.0);\n t = clamp(t, 0.0, 1.0);\n gl_FragColor = texture2D(uColormap, vec2(t, 0.5));\n}\n";