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 • 6.93 kB
Source Map (JSON)
{"version":3,"file":"TilingSpriteShader.mjs","sources":["../../../../src/scene/sprite-tiling/shader/TilingSpriteShader.ts"],"sourcesContent":["import { Matrix } from '../../../maths/matrix/Matrix';\nimport {\n compileHighShaderGlProgram,\n compileHighShaderGpuProgram\n} from '../../../rendering/high-shader/compileHighShaderToProgram';\nimport { localUniformBit, localUniformBitGl } from '../../../rendering/high-shader/shader-bits/localUniformBit';\nimport { roundPixelsBit, roundPixelsBitGl } from '../../../rendering/high-shader/shader-bits/roundPixelsBit';\nimport { Shader } from '../../../rendering/renderers/shared/shader/Shader';\nimport { UniformGroup } from '../../../rendering/renderers/shared/shader/UniformGroup';\nimport { Texture } from '../../../rendering/renderers/shared/texture/Texture';\nimport { tilingBit, tilingBitGl } from './tilingBit';\n\nimport type { GlProgram } from '../../../rendering/renderers/gl/shader/GlProgram';\nimport type { GpuProgram } from '../../../rendering/renderers/gpu/shader/GpuProgram';\n\nlet gpuProgram: GpuProgram;\nlet glProgram: GlProgram;\n\n/**\n * The shader used by the TilingSprite.\n * @internal\n */\nexport class TilingSpriteShader extends Shader\n{\n constructor()\n {\n gpuProgram ??= compileHighShaderGpuProgram({\n name: 'tiling-sprite-shader',\n bits: [\n localUniformBit,\n tilingBit,\n roundPixelsBit,\n ],\n });\n\n glProgram ??= compileHighShaderGlProgram({\n name: 'tiling-sprite-shader',\n bits: [\n localUniformBitGl,\n tilingBitGl,\n roundPixelsBitGl,\n ]\n });\n\n const tilingUniforms = new UniformGroup({\n uMapCoord: { value: new Matrix(), type: 'mat3x3<f32>' },\n uClampFrame: { value: new Float32Array([0, 0, 1, 1]), type: 'vec4<f32>' },\n uClampOffset: { value: new Float32Array([0, 0]), type: 'vec2<f32>' },\n uTextureTransform: { value: new Matrix(), type: 'mat3x3<f32>' },\n uSizeAnchor: { value: new Float32Array([100, 100, 0.5, 0.5]), type: 'vec4<f32>' },\n });\n\n super({\n glProgram,\n gpuProgram,\n resources: {\n localUniforms: new UniformGroup({\n uTransformMatrix: { value: new Matrix(), type: 'mat3x3<f32>' },\n uColor: { value: new Float32Array([1, 1, 1, 1]), type: 'vec4<f32>' },\n uRound: { value: 0, type: 'f32' },\n }),\n tilingUniforms,\n uTexture: Texture.EMPTY.source,\n uSampler: Texture.EMPTY.source.style,\n }\n });\n }\n\n public updateUniforms(\n width: number, height: number,\n matrix: Matrix,\n anchorX: number, anchorY: number,\n texture: Texture\n ): void\n {\n const tilingUniforms = this.resources.tilingUniforms;\n\n const textureWidth = texture.width;\n const textureHeight = texture.height;\n const textureMatrix = texture.textureMatrix;\n\n const uTextureTransform = tilingUniforms.uniforms.uTextureTransform;\n\n uTextureTransform.set(\n matrix.a * textureWidth / width,\n matrix.b * textureWidth / height,\n matrix.c * textureHeight / width,\n matrix.d * textureHeight / height,\n matrix.tx / width,\n matrix.ty / height);\n\n uTextureTransform.invert();\n\n tilingUniforms.uniforms.uMapCoord = textureMatrix.mapCoord;\n tilingUniforms.uniforms.uClampFrame = textureMatrix.uClampFrame;\n tilingUniforms.uniforms.uClampOffset = textureMatrix.uClampOffset;\n tilingUniforms.uniforms.uTextureTransform = uTextureTransform;\n tilingUniforms.uniforms.uSizeAnchor[0] = width;\n tilingUniforms.uniforms.uSizeAnchor[1] = height;\n tilingUniforms.uniforms.uSizeAnchor[2] = anchorX;\n tilingUniforms.uniforms.uSizeAnchor[3] = anchorY;\n\n if (texture)\n {\n this.resources.uTexture = texture.source;\n this.resources.uSampler = texture.source.style;\n }\n }\n}\n"],"names":[],"mappings":"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"}