@doegis/core
Version:
DOE GIS API
3 lines (1 loc) • 1.01 kB
JavaScript
import{isSome as r}from"../../../../../core/maybe.js";import{s as e}from"../../../../../chunks/vec2.js";import{Z as o,a as s}from"../../../../../chunks/vec2f64.js";import{TEXTURE_SIZE_UNIFORM_SUFFIX as t,TEXTURE_INVERSE_SIZE_UNIFORM_SUFFIX as i}from"../shaderLibrary/util/WebGL2Utils.js";import{Float2DrawUniform as n}from"./Float2DrawUniform.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,e){super(r,"sampler2D",p.Draw,((o,s,t)=>o.bindTexture(r,e(s,t))))}}function u(s,c,p=m.None){const u=[new f(s,c)];if(p&m.Size){const i=s+t;u.push(new n(i,((s,t)=>{const i=c(s,t);return r(i)?e(a,i.descriptor.width,i.descriptor.height):o})))}if(p&m.InvSize){const t=s+i;u.push(new n(t,((s,t)=>{const i=c(s,t);return r(i)?e(a,1/i.descriptor.width,1/i.descriptor.height):o})))}return u}const a=s();export{f as Texture2DDrawUniform,u as createTexture2DDrawSizeUniforms};