UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) 1.12 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.32/esri/copyright.txt for details. */ import{O as e}from"../../../../../chunks/OITBlend.glsl.js";import{OITBlendTechnique as t}from"./OITBlendTechnique.js";import{OITBlendTechniqueConfiguration as i}from"./OITBlendTechniqueConfiguration.js";import{ColorAttachment as r}from"../../../../webgl/enums.js";class s{constructor(r){this._techniques=r,this._parameters=new e,this._configuration=new i,r.precompile(t,this._configuration),this._configuration.hasEmission=!0,r.precompile(t,this._configuration)}blend(e,i,s,n,o){this._parameters.colorTexture=i.getTexture(),o&&(this._parameters.emissionTexture=i.getTexture(r.COLOR_ATTACHMENT1),this._parameters.emissionFrontFaceTexture=s.getTexture(r.COLOR_ATTACHMENT1)),this._parameters.alphaTexture=i.getTexture(o?r.COLOR_ATTACHMENT2:r.COLOR_ATTACHMENT1),this._parameters.frontFaceTexture=s.getTexture(),this._configuration.hasEmission=o;const a=this._techniques.get(t,this._configuration);e.bindTechnique(a,n,this._parameters),e.screen.draw()}}export{s as OITBlend};