UNPKG

5.24 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/webgl/ReglTexture2D.ts"],"names":["gl","colorSpaceMap","dataTypeMap","filterMap","formatMap","mipmapMap","wrapModeMap","ReglTexture2D","reGl","options","texture","width","height","data","type","UNSIGNED_BYTE","flipY","format","RGBA","mipmap","wrapS","CLAMP_TO_EDGE","wrapT","aniso","alignment","premultiplyAlpha","mag","NEAREST","min","colorSpace","BROWSER_DEFAULT_WEBGL","textureOptions","_texture","bind","resize","destroy"],"mappings":"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","sourcesContent":["import {\n gl,\n ITexture2D,\n ITexture2DInitializationOptions,\n} from '@antv/g-webgpu-core';\nimport regl from 'regl';\nimport {\n colorSpaceMap,\n dataTypeMap,\n filterMap,\n formatMap,\n mipmapMap,\n wrapModeMap,\n} from './constants';\n\n/**\n * adaptor for regl.Buffer\n * @see https://github.com/regl-project/regl/blob/gh-pages/API.md#buffers\n */\nexport default class ReglTexture2D implements ITexture2D {\n private texture: regl.Texture2D;\n private width: number;\n private height: number;\n\n constructor(reGl: regl.Regl, options: ITexture2DInitializationOptions) {\n const {\n data,\n type = gl.UNSIGNED_BYTE,\n width,\n height,\n flipY = false,\n format = gl.RGBA,\n mipmap = false,\n wrapS = gl.CLAMP_TO_EDGE,\n wrapT = gl.CLAMP_TO_EDGE,\n aniso = 0,\n alignment = 1,\n premultiplyAlpha = false,\n mag = gl.NEAREST,\n min = gl.NEAREST,\n colorSpace = gl.BROWSER_DEFAULT_WEBGL,\n } = options;\n this.width = width;\n this.height = height;\n\n const textureOptions: regl.Texture2DOptions = {\n width,\n height,\n // @ts-ignore\n type: dataTypeMap[type],\n format: formatMap[format],\n wrapS: wrapModeMap[wrapS],\n wrapT: wrapModeMap[wrapT],\n // @ts-ignore\n mag: filterMap[mag],\n min: filterMap[min],\n alignment,\n flipY,\n colorSpace: colorSpaceMap[colorSpace],\n premultiplyAlpha,\n aniso,\n };\n\n if (data) {\n textureOptions.data = data;\n }\n\n if (typeof mipmap === 'number') {\n textureOptions.mipmap = mipmapMap[mipmap];\n } else if (typeof mipmap === 'boolean') {\n textureOptions.mipmap = mipmap;\n }\n\n this.texture = reGl.texture(textureOptions);\n }\n\n public get() {\n return this.texture;\n }\n public update() {\n // @ts-ignore\n this.texture._texture.bind();\n }\n\n public resize({ width, height }: { width: number; height: number }): void {\n this.texture.resize(width, height);\n this.width = width;\n this.height = height;\n }\n\n public destroy() {\n this.texture.destroy();\n }\n}\n"],"file":"ReglTexture2D.js"}
\No newline at end of file