@doegis/core
Version:
DOE GIS API
3 lines (1 loc) • 1.01 kB
JavaScript
import{isSome as r}from"../../../../../core/maybe.js";import{s}from"../../../../../chunks/vec2.js";import{Z as e,a as o}from"../../../../../chunks/vec2f64.js";import{TEXTURE_SIZE_UNIFORM_SUFFIX as t,TEXTURE_INVERSE_SIZE_UNIFORM_SUFFIX as i}from"../shaderLibrary/util/WebGL2Utils.js";import{Float2PassUniform as n}from"./Float2PassUniform.js";import{TextureSizeUniformType as m}from"./TextureSizeUniformType.js";import{Uniform as c}from"./Uniform.js";import{BindType as p}from"../shaderTechnique/BindType.js";class f extends c{constructor(r,s){super(r,"sampler2D",p.Pass,((e,o,t)=>e.bindTexture(r,s(o,t))))}}function u(o,c,p=m.None){const u=[new f(o,c)];if(p&m.Size){const i=o+t;u.push(new n(i,((o,t)=>{const i=c(o,t);return r(i)?s(a,i.descriptor.width,i.descriptor.height):e})))}if(p&m.InvSize){const t=o+i;u.push(new n(t,((o,t)=>{const i=c(o,t);return r(i)?s(a,1/i.descriptor.width,1/i.descriptor.height):e})))}return u}const a=o();export{f as Texture2DPassUniform,u as createTexture2DPassSizeUniforms};