@doegis/core
Version:
DOE GIS API
3 lines (1 loc) • 1.01 kB
JavaScript
import{disposeMaybe as i}from"../../../../../core/maybe.js";import{PrimitiveType as t}from"../../../../webgl/enums.js";class e{constructor(i,t,e){this.release=e,this.initializeConfiguration(i,t),this._configuration=t.snapshot(),this._program=this.initializeProgram(i),this._pipeline=this.initializePipeline(i.rctx.capabilities)}destroy(){this._program=i(this._program),this._pipeline=this._configuration=null}reload(t){i(this._program),this._program=this.initializeProgram(t),this._pipeline=this.initializePipeline(t.rctx.capabilities)}get program(){return this._program}get compiled(){return this.program.compiled}get key(){return this._configuration.key}get configuration(){return this._configuration}bindPipelineState(i,t=null,e){i.setPipelineState(this.getPipelineState(t,e))}ensureAttributeLocations(i){this.program.assertCompatibleVertexAttributeLocations(i)}get primitiveType(){return t.TRIANGLES}getPipelineState(i,t){return this._pipeline}initializeConfiguration(i,t){}}export{e as ShaderTechnique};