UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) 1.48 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.33/esri/copyright.txt for details. */ import{_ as t,a as o}from"../../../../../../../chunks/tslib.es6.js";import{GraphShaderModule as i,FragmentOutput as e,location as r,uniform as s,define as p,input as c,VertexInput as n,UniformGroup as l,FragmentInput as a}from"../../GraphShaderModule.js";import{Vec3 as d,Vec4 as u,texture2D as y,Vec2 as m,Sampler2D as f,Mat3 as g,Float as h}from"../../graph/glsl.js";import{sampleBicubicBSpline as x}from"./bitmapUtils.js";class v extends n{}t([r(0,m)],v.prototype,"position",void 0);class b extends a{}class S extends l{}t([s(f)],S.prototype,"texture",void 0),t([s(g)],S.prototype,"dvsMat3",void 0),t([s(m)],S.prototype,"coordScale",void 0),t([s(h)],S.prototype,"opacity",void 0);class j extends i{constructor(){super(...arguments),this.type="BitmapShader"}vertex(t){const o=this.config.dvsMat3.multiply(new d(t.position.multiply(this.config.coordScale),1));return{glPosition:new u(o,1),texcoord:t.position}}fragment(t){const o=new e;let i;return i=this.bicubic?x(this.config.texture,t.texcoord,this.config.coordScale):y(this.config.texture,t.texcoord),o.fragColor=new u(i.rgb.multiply(this.config.opacity),i.a.multiply(this.config.opacity)),o}}t([s(S)],j.prototype,"config",void 0),t([p],j.prototype,"bicubic",void 0),t([o(0,c(v))],j.prototype,"vertex",null),t([o(0,c(b))],j.prototype,"fragment",null);export{j as BitmapShader};