@allmaps/render
Version:
Render functions for WebGL and image buffers
6 lines (5 loc) • 1.82 kB
JavaScript
var fragment_shader_default = "#version 300 es\n\nprecision highp float;\nprecision highp isampler2D;\n\nin float v_viewportLineLength;\nin vec2 v_linePoint;\nin float v_viewportSize;\nin vec4 v_color;\nin float v_viewportBorderSize;\nin vec4 v_borderColor;\nin float v_viewportFeatherSize;\nin float v_viewportTotalSize;\n\nout vec4 color;\n\nvoid main() {\n float distance;\n if (v_linePoint.x < 0.0) {\n distance = length(v_linePoint - vec2(0.0,0.0)) / (v_viewportTotalSize / 2.0);\n } else if (v_linePoint.x > v_viewportLineLength) {\n distance = length(v_linePoint - vec2(v_viewportLineLength,0.0)) / (v_viewportTotalSize / 2.0);\n } else {\n distance = abs(v_linePoint.y) / (v_viewportTotalSize / 2.0);\n }\n if (distance > 1.0) {\n discard;\n }\n float viewportDistance = distance * v_viewportTotalSize / 2.0;\n\n \n color = vec4(0, 0, 0, 0);\n if (v_viewportSize >= v_viewportFeatherSize) {\n color = v_color;\n }\n\n \n \n \n float borderSmoothStep;\n if(v_viewportBorderSize >= v_viewportFeatherSize) {\n borderSmoothStep = smoothstep(\n v_viewportSize / 2.0 - v_viewportBorderSize / 2.0 - v_viewportFeatherSize / 2.0,\n v_viewportSize / 2.0 - v_viewportBorderSize / 2.0 + v_viewportFeatherSize / 2.0,\n viewportDistance\n );\n color = ((1.0 - borderSmoothStep) * color) + (borderSmoothStep * v_borderColor);\n }\n\n \n \n \n borderSmoothStep = smoothstep(\n v_viewportSize / 2.0 + v_viewportBorderSize / 2.0 - v_viewportFeatherSize / 2.0,\n v_viewportSize / 2.0 + v_viewportBorderSize / 2.0 + v_viewportFeatherSize / 2.0,\n viewportDistance\n );\n color = ((1.0 - borderSmoothStep) * color) + (borderSmoothStep * vec4(0, 0, 0, 0));\n}";
export {
fragment_shader_default as default
};
//# sourceMappingURL=fragment-shader.glsl.js.map