{"version":3,"file":"PointLight.mjs","sources":["../../../src/lights/pointLight/PointLight.ts"],"sourcesContent":["import { Light } from '../light/Light';\nimport { Circle, DRAW_MODES } from '@pixi/core';\nimport { getCircleMesh } from '../../mixins/Circle';\nimport { PointLightShader } from './PointLightShader';\n\n/**\n * @memberof PIXI.lights\n */\nexport class PointLight extends Light\n{\n    /**\n     * @param {number} [color=0xFFFFFF] - The color of the light.\n     * @param {number} [brightness=1] - The intensity of the light.\n     * @param {number} [radius=Infinity] - The distance the light reaches. You will likely need\n     *  to change the falloff of the light as well if you change this value. Infinity will\n     *  use the entire viewport as the drawing surface.\n     */\n    constructor(color = 0xFFFFFF, brightness = 1, radius = Infinity)\n    {\n        if (radius !== Infinity)\n        {\n            const shape = new Circle(0, 0, radius);\n            const { vertices, indices } = getCircleMesh(shape);\n\n            super(color, brightness, new PointLightShader(), vertices, indices);\n\n            this.drawMode = DRAW_MODES.TRIANGLE_FAN;\n        }\n        else\n        {\n            super(color, brightness, new PointLightShader());\n        }\n        this.shaderName = 'pointLightShader';\n        this.radius = radius;\n    }\n\n    /** Radius */\n    get radius(): number\n    {\n        return this.material.uniforms.uLightRadius;\n    }\n\n    set radius(value: number)\n    {\n        this.material.uniforms.uLightRadius = value;\n    }\n}\n"],"names":[],"mappings":";;;;;AAQO,MAAM,mBAAmB,KAChC,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQI,YAAY,KAAQ,GAAA,QAAA,EAAU,UAAa,GAAA,CAAA,EAAG,SAAS,QACvD,EAAA;AACI,IAAA,IAAI,WAAW,QACf,EAAA;AACI,MAAA,MAAM,KAAQ,GAAA,IAAI,MAAO,CAAA,CAAA,EAAG,GAAG,MAAM,CAAA,CAAA;AACrC,MAAA,MAAM,EAAE,QAAA,EAAU,OAAQ,EAAA,GAAI,cAAc,KAAK,CAAA,CAAA;AAEjD,MAAA,KAAA,CAAM,OAAO,UAAY,EAAA,IAAI,gBAAiB,EAAA,EAAG,UAAU,OAAO,CAAA,CAAA;AAElE,MAAA,IAAA,CAAK,WAAW,UAAW,CAAA,YAAA,CAAA;AAAA,KAG/B,MAAA;AACI,MAAA,KAAA,CAAM,KAAO,EAAA,UAAA,EAAY,IAAI,gBAAA,EAAkB,CAAA,CAAA;AAAA,KACnD;AACA,IAAA,IAAA,CAAK,UAAa,GAAA,kBAAA,CAAA;AAClB,IAAA,IAAA,CAAK,MAAS,GAAA,MAAA,CAAA;AAAA,GAClB;AAAA;AAAA,EAGA,IAAI,MACJ,GAAA;AACI,IAAO,OAAA,IAAA,CAAK,SAAS,QAAS,CAAA,YAAA,CAAA;AAAA,GAClC;AAAA,EAEA,IAAI,OAAO,KACX,EAAA;AACI,IAAK,IAAA,CAAA,QAAA,CAAS,SAAS,YAAe,GAAA,KAAA,CAAA;AAAA,GAC1C;AACJ;;;;"}