UNPKG

@doegis/core

Version:

DOE GIS API

3 lines (1 loc) 1.19 kB
import{Z as t}from"../../../../../chunks/vec2f64.js";import{setTextures as r}from"../../../../webgl/rasterUtils.js";const e={vsPath:"raster/common",fsPath:"raster/reproject",attributes:new Map([["a_position",0],["a_texcoord",1]])};function i(t,r){const{painter:i}=t,o=[],s=!t.context.capabilities.textureFloat?.textureFloatLinear,{interpolation:n,transformGrid:a}=r;return"cubic"===n?o.push("bicubic"):"bilinear"===n&&s&&o.push("bilinear"),a&&(o.push("applyProjection"),1===a.spacing[0]&&o.push("lookupProjection")),i.materialManager.getProgram(e,o)}function o(e,i,o){const{names:s,textures:n}=o.getTextures({forProcessing:!0});r(e.context,i,s,n),i.setUniform1f("u_scale",1),i.setUniform2fv("u_offset",[0,0]),i.setUniform2fv("u_coordScale",[1,1]),i.setUniformMatrix3fv("u_dvsMat3",[2,0,0,0,2,0,-1,-1,0]),i.setUniform1i("u_flipY",0),i.setUniform1f("u_opacity",1);const{width:a,height:f,source:c,transformGrid:u}=o;i.setUniform2fv("u_srcImageSize",[c.width,c.height]),i.setUniform2fv("u_targetImageSize",[a,f]),i.setUniform2fv("u_transformSpacing",u?u.spacing:t),i.setUniform2fv("u_transformGridSize",u?u.size:t)}const s={createProgram:i,bindTextureAndUniforms:o};export{s as default};