UNPKG

@realsee/dnalogel

Version:
3 lines (2 loc) 910 B
export declare const vertexShader = "\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n vec4 mvPosition = modelViewMatrix * vec4(position, 1);\n gl_Position = projectionMatrix * mvPosition;\n}\n"; export declare const fragmentShader = "\nuniform sampler2D map;\nuniform vec4 size;\nvarying vec2 vUv;\nuniform float opacity;\n\nvoid main() {\n float dx = max(size[0] + size[2] - 1.0, 0.0);\n vec2 uv = vec2(((vUv.x <= dx ? vUv.x + 1.0 : vUv.x) - size[0]) / size[2], (vUv.y - size[1]) / size[3]);\n float a = 0.1;\n float transX = uv.x < a ? 1.0 / a * uv.x : (uv.x > (1.0 - a) ? 1.0 / a * (1.0 - uv.x) : 1.0);\n float transY = uv.y < a ? 1.0 / a * uv.y : (uv.y > (1.0 - a) ? 1.0 / a * (1.0 - uv.y) : 1.0);\n\tfloat match = (1.0 - step(0.5, abs(uv.x - 0.5))) * (1.0 - step(0.5, abs(uv.y - 0.5))) * (transX < transY ? transX : transY);\n gl_FragColor = vec4(texture2D(map, uv).xyz, match * opacity);\n}\n";