UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) 1.16 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.32/esri/copyright.txt for details. */ import{C as e}from"../../../../../chunks/Compositing.glsl.js";import{CompositingTechnique as t}from"../../shaders/CompositingTechnique.js";import{CompositingTechniqueConfiguration as i,BlitMode as r}from"../../shaders/CompositingTechniqueConfiguration.js";import{FramebufferBit as s}from"../../../../webgl/enums.js";class o{constructor(s,o=r.None){this._techniques=s,this._parameters=new e,this._configuration=new i,this._configuration.blitMode=o,s.precompile(t,this._configuration)}blit(e,i,r,o){e.bindFramebuffer(r.fbo),e.setClearColor(0,0,0,1),e.clear(s.COLOR),this._parameters.texture=i.getTexture();const n=this._techniques.get(t,this._configuration);e.bindTechnique(n,o,this._parameters),e.screen.draw()}blend(e,i,r,s,o=1){this._configuration.hasOpacityFactor=o<1;const n=this._techniques.get(t,this._configuration);return!!n.compiled&&(e.bindFramebuffer(r.fbo),this._parameters.texture=i.getTexture(),this._parameters.opacity=o,e.bindTechnique(n,s,this._parameters),e.screen.draw(),!0)}}export{o as Blit};