UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

19 lines (18 loc) 1.03 kB
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.19/LICENSE.txt */ import{BooleanBindUniform as e}from"../../shaderModules/BooleanBindUniform.js";import{glsl as i}from"../../shaderModules/glsl.js";function l(l){l.uniforms.add(new e("alignPixelEnabled",e=>e.alignPixelEnabled)),l.code.add(i`vec4 alignToPixelCenter(vec4 clipCoord, vec2 widthHeight) { if (!alignPixelEnabled) return clipCoord; vec2 xy = vec2(0.500123) + 0.5 * clipCoord.xy / clipCoord.w; vec2 pixelSz = vec2(1.0) / widthHeight; vec2 ij = (floor(xy * widthHeight) + vec2(0.5)) * pixelSz; vec2 result = (ij * 2.0 - vec2(1.0)) * clipCoord.w; return vec4(result, clipCoord.zw); }`),l.code.add(i`vec4 alignToPixelOrigin(vec4 clipCoord, vec2 widthHeight) { if (!alignPixelEnabled) return clipCoord; vec2 xy = vec2(0.5) + 0.5 * clipCoord.xy / clipCoord.w; vec2 pixelSz = vec2(1.0) / widthHeight; vec2 ij = floor((xy + 0.5 * pixelSz) * widthHeight) * pixelSz; vec2 result = (ij * 2.0 - vec2(1.0)) * clipCoord.w; return vec4(result, clipCoord.zw); }`)}export{l as AlignPixel};