UNPKG

@animech-public/playcanvas

Version:
2 lines (1 loc) 2.07 kB
import{BitPacking as t}from"../../core/math/bit-packing.js";import{BLENDEQUATION_ADD as e,BLENDMODE_ONE as r,BLENDMODE_ZERO as s,BLENDMODE_SRC_ALPHA as i,BLENDMODE_ONE_MINUS_SRC_ALPHA as a}from"./constants.js";var g;const h=15;class l{constructor(t=!1,i=e,a=r,g=s,h,l,n,o=!0,c=!0,u=!0,d=!0){this.target0=0,this.setColorBlend(i,a,g),this.setAlphaBlend(null!=h?h:i,null!=l?l:a,null!=n?n:g),this.setColorWrite(o,c,u,d),this.blend=t}set blend(e){this.target0=t.set(this.target0,e?1:0,26)}get blend(){return t.all(this.target0,26)}setColorBlend(e,r,s){this.target0=t.set(this.target0,e,0,7),this.target0=t.set(this.target0,r,3,h),this.target0=t.set(this.target0,s,7,h)}setAlphaBlend(e,r,s){this.target0=t.set(this.target0,e,11,7),this.target0=t.set(this.target0,r,14,h),this.target0=t.set(this.target0,s,18,h)}setColorWrite(t,e,r,s){this.redWrite=t,this.greenWrite=e,this.blueWrite=r,this.alphaWrite=s}get colorOp(){return t.get(this.target0,0,7)}get colorSrcFactor(){return t.get(this.target0,3,h)}get colorDstFactor(){return t.get(this.target0,7,h)}get alphaOp(){return t.get(this.target0,11,7)}get alphaSrcFactor(){return t.get(this.target0,14,h)}get alphaDstFactor(){return t.get(this.target0,18,h)}set redWrite(e){this.target0=t.set(this.target0,e?1:0,22)}get redWrite(){return t.all(this.target0,22)}set greenWrite(e){this.target0=t.set(this.target0,e?1:0,23)}get greenWrite(){return t.all(this.target0,23)}set blueWrite(e){this.target0=t.set(this.target0,e?1:0,24)}get blueWrite(){return t.all(this.target0,24)}set alphaWrite(e){this.target0=t.set(this.target0,e?1:0,25)}get alphaWrite(){return t.all(this.target0,25)}get allWrite(){return t.get(this.target0,22,15)}copy(t){return this.target0=t.target0,this}clone(){return(new this.constructor).copy(this)}get key(){return this.target0}equals(t){return this.target0===t.target0}}g=l,l.NOBLEND=Object.freeze(new g),l.NOWRITE=Object.freeze(new g(void 0,void 0,void 0,void 0,void 0,void 0,void 0,!1,!1,!1,!1)),l.ALPHABLEND=Object.freeze(new g(!0,e,i,a)),l.ADDBLEND=Object.freeze(new g(!0,e,r,r));export{l as BlendState};