@doegis/core
Version:
DOE GIS API
3 lines (1 loc) • 1.12 kB
JavaScript
import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{Default3D as i}from"../lib/DefaultVertexAttributeLocations.js";import{Program as o}from"../lib/Program.js";import{a as t}from"../../../../chunks/Compositing.glsl.js";import{AlphaMode as n}from"./CompositingTechniqueConfiguration.js";import{BlendFactor as s}from"../../../webgl/enums.js";import{makePipelineState as a,simpleBlendingParams as l,defaultColorWriteParams as m,separateBlendingParams as c}from"../../../webgl/renderState.js";class p extends r{initializeProgram(e){return new o(e.rctx,p.shader.get().build(this.configuration),i)}initializePipeline(){switch(this.configuration.alphaMode){case n.None:return a({colorWrite:m});case n.Alpha:return a({blending:c(s.SRC_ALPHA,s.ONE,s.ONE_MINUS_SRC_ALPHA,s.ONE_MINUS_SRC_ALPHA),colorWrite:m});case n.PremultipliedAlpha:case n.COUNT:return a({blending:l(s.ONE,s.ONE_MINUS_SRC_ALPHA),colorWrite:m})}}}p.shader=new e(t,(()=>import("./Compositing.glsl.js")));export{p as CompositingTechnique};