UNPKG

4.92 kBSource Map (JSON)View Raw
1{"version":3,"file":"ReglTexture2D.js","names":["ReglTexture2D","reGl","options","texture","width","height","data","type","gl","UNSIGNED_BYTE","flipY","format","RGBA","mipmap","wrapS","CLAMP_TO_EDGE","wrapT","aniso","alignment","premultiplyAlpha","mag","NEAREST","min","colorSpace","BROWSER_DEFAULT_WEBGL","textureOptions","dataTypeMap","formatMap","wrapModeMap","filterMap","colorSpaceMap","mipmapMap","_texture","bind","resize","destroy"],"sources":["../../src/webgl/ReglTexture2D.ts"],"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"],"mappings":"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"}
\No newline at end of file