pixi.js
Version:
<p align="center"> <a href="https://pixijs.com" target="_blank" rel="noopener noreferrer"> <img height="150" src="https://files.pixijs.download/branding/pixijs-logo-transparent-dark.svg?v=1" alt="PixiJS logo"> </a> </p> <br/> <p align="center">
1 lines • 3.13 kB
Source Map (JSON)
{"version":3,"file":"gpuUploadImageSource.mjs","sources":["../../../../../../src/rendering/renderers/gpu/texture/uploaders/gpuUploadImageSource.ts"],"sourcesContent":["import { DOMAdapter } from '../../../../../environment/adapter';\nimport { warn } from '../../../../../utils/logging/warn';\n\nimport type { TextureSource } from '../../../shared/texture/sources/TextureSource';\nimport type { GPU } from '../../GpuDeviceSystem';\nimport type { GpuTextureUploader } from './GpuTextureUploader';\n\n/** @internal */\nexport const gpuUploadImageResource = {\n\n type: 'image',\n\n upload(source: TextureSource, gpuTexture: GPUTexture, gpu: GPU)\n {\n const resource = source.resource as ImageBitmap | HTMLCanvasElement | OffscreenCanvas | HTMLImageElement;\n\n if (!resource) return;\n\n // WebGPU does not support HTMLImageElement\n // so we need to convert it to a canvas\n if (globalThis.HTMLImageElement && resource instanceof HTMLImageElement)\n {\n const canvas = DOMAdapter.get().createCanvas(resource.width, resource.height);\n const context = canvas.getContext('2d');\n\n context.drawImage(resource, 0, 0, resource.width, resource.height);\n\n // replace with the canvas - for future uploads\n source.resource = canvas;\n\n // #if _DEBUG\n warn('ImageSource: Image element passed, converting to canvas and replacing resource.');\n // #endif\n }\n\n const width = Math.min(gpuTexture.width, source.resourceWidth || source.pixelWidth);\n const height = Math.min(gpuTexture.height, source.resourceHeight || source.pixelHeight);\n\n const premultipliedAlpha = source.alphaMode === 'premultiply-alpha-on-upload';\n\n gpu.device.queue.copyExternalImageToTexture(\n { source: resource },\n { texture: gpuTexture, premultipliedAlpha },\n {\n width,\n height,\n }\n );\n }\n} as GpuTextureUploader<TextureSource>;\n\n"],"names":[],"mappings":";;;;AAQO,MAAM,sBAAyB,GAAA;AAAA,EAElC,IAAM,EAAA,OAAA;AAAA,EAEN,MAAA,CAAO,MAAuB,EAAA,UAAA,EAAwB,GACtD,EAAA;AACI,IAAA,MAAM,WAAW,MAAO,CAAA,QAAA,CAAA;AAExB,IAAA,IAAI,CAAC,QAAA;AAAU,MAAA,OAAA;AAIf,IAAI,IAAA,UAAA,CAAW,gBAAoB,IAAA,QAAA,YAAoB,gBACvD,EAAA;AACI,MAAM,MAAA,MAAA,GAAS,WAAW,GAAI,EAAA,CAAE,aAAa,QAAS,CAAA,KAAA,EAAO,SAAS,MAAM,CAAA,CAAA;AAC5E,MAAM,MAAA,OAAA,GAAU,MAAO,CAAA,UAAA,CAAW,IAAI,CAAA,CAAA;AAEtC,MAAA,OAAA,CAAQ,UAAU,QAAU,EAAA,CAAA,EAAG,GAAG,QAAS,CAAA,KAAA,EAAO,SAAS,MAAM,CAAA,CAAA;AAGjE,MAAA,MAAA,CAAO,QAAW,GAAA,MAAA,CAAA;AAGlB,MAAA,IAAA,CAAK,iFAAiF,CAAA,CAAA;AAAA,KAE1F;AAEA,IAAM,MAAA,KAAA,GAAQ,KAAK,GAAI,CAAA,UAAA,CAAW,OAAO,MAAO,CAAA,aAAA,IAAiB,OAAO,UAAU,CAAA,CAAA;AAClF,IAAM,MAAA,MAAA,GAAS,KAAK,GAAI,CAAA,UAAA,CAAW,QAAQ,MAAO,CAAA,cAAA,IAAkB,OAAO,WAAW,CAAA,CAAA;AAEtF,IAAM,MAAA,kBAAA,GAAqB,OAAO,SAAc,KAAA,6BAAA,CAAA;AAEhD,IAAA,GAAA,CAAI,OAAO,KAAM,CAAA,0BAAA;AAAA,MACb,EAAE,QAAQ,QAAS,EAAA;AAAA,MACnB,EAAE,OAAS,EAAA,UAAA,EAAY,kBAAmB,EAAA;AAAA,MAC1C;AAAA,QACI,KAAA;AAAA,QACA,MAAA;AAAA,OACJ;AAAA,KACJ,CAAA;AAAA,GACJ;AACJ;;;;"}