@allmaps/render
Version:
Render functions for WebGL and image buffers
6 lines (5 loc) • 2.53 kB
JavaScript
var vertex_shader_default = "#version 300 es\n\nprecision highp float;\n\nfloat easing(float t) {\n return t;\n\n \n \n}\n\nuniform mat4 u_renderHomogeneousTransform;\nuniform mat4 u_viewportToClipHomogeneousTransform;\nuniform mat4 u_clipToViewportHomogeneousTransform;\nuniform float u_animationProgress;\n\nin vec2 a_clipPoint;\nin vec2 a_clipOtherPoint;\nin vec2 a_clipPreviousPoint;\nin vec2 a_clipPreviousOtherPoint;\nin float a_isOtherPoint;\nin float a_normalSign;\nin float a_viewportSize;\nin vec4 a_color;\nin float a_viewportBorderSize;\nin vec4 a_borderColor;\n\nout float v_viewportLineLength;\nout vec2 v_linePoint;\nout float v_viewportSize;\nout vec4 v_color;\nout float v_viewportBorderSize;\nout vec4 v_borderColor;\nout float v_viewportFeatherSize;\nout float v_viewportTotalSize;\n\nvoid main() {\n vec2 clipPoint = mix(a_clipPreviousPoint, a_clipPoint, easing(u_animationProgress));\n vec2 clipOtherPoint = mix(a_clipPreviousOtherPoint, a_clipOtherPoint, easing(u_animationProgress));\n\n vec2 viewportPoint = (u_clipToViewportHomogeneousTransform * u_renderHomogeneousTransform * vec4(clipPoint, 0.0f, 1.0f)).xy;\n vec2 viewportOtherPoint = (u_clipToViewportHomogeneousTransform * u_renderHomogeneousTransform * vec4(clipOtherPoint, 0.0f, 1.0f)).xy;\n\n vec2 viewportLine = vec2(viewportOtherPoint.x-viewportPoint.x, viewportOtherPoint.y-viewportPoint.y);\n vec2 viewportNormalizedLine = normalize(viewportLine);\n vec2 viewportNormalizedLineNormal = vec2(viewportNormalizedLine.y, -viewportNormalizedLine.x);\n v_viewportLineLength = length(viewportLine);\n\n v_viewportFeatherSize = 1.0;\n\n \n \n \n float viewportSize = a_viewportSize / 2.0;\n float viewportBorderSize = a_viewportBorderSize / 2.0;\n v_viewportFeatherSize = v_viewportFeatherSize / 2.0;\n\n v_viewportTotalSize = viewportSize + viewportBorderSize + v_viewportFeatherSize;\n float lineX = -1.0 * v_viewportTotalSize / 2.0 + a_isOtherPoint * (v_viewportLineLength + 2.0 * (v_viewportTotalSize / 2.0));\n float lineY = a_normalSign * v_viewportTotalSize / 2.0;\n v_linePoint = vec2(lineX, lineY);\n \n \n \n \n \n \n\n v_viewportSize = viewportSize;\n v_color = a_color;\n v_viewportBorderSize = viewportBorderSize;\n v_borderColor = a_borderColor;\n\n gl_Position = u_viewportToClipHomogeneousTransform * vec4(viewportPoint + lineX * viewportNormalizedLine + lineY * viewportNormalizedLineNormal, 0, 1);\n}";
export {
vertex_shader_default as default
};
//# sourceMappingURL=vertex-shader.glsl.js.map