feat: filters

This commit is contained in:
cha0s 2019-04-21 05:07:15 -05:00
parent ba9b4e6b2c
commit 81ce862e24
3 changed files with 22 additions and 1 deletions

View File

@ -117,6 +117,21 @@ export class Container extends Renderable {
this.internal.filters = [filter];
}
setFilter(filter) {
switch (filter) {
case 'bloom':
const {AdvancedBloomFilter} = require('@pixi/filter-advanced-bloom');
this.container.filters = [new AdvancedBloomFilter({
threshold: 0.1,
bloomScale: 1.3,
brightness: 1.3,
blur: 20,
quality: 1,
})];
break;
}
}
tick() {
if (!this.isDirty) {
return;

View File

@ -1,6 +1,6 @@
{
"name": "@avocado/graphics",
"version": "1.0.2",
"version": "1.0.3",
"main": "index.js",
"author": "cha0s",
"license": "MIT",
@ -9,6 +9,7 @@
"@avocado/math": "1.x",
"@avocado/mixins": "1.x",
"@avocado/resource": "1.x",
"@pixi/filter-advanced-bloom": "2.7.0",
"debug": "^3.1.0",
"immutable": "4.0.0-rc.12",
"pixi.js": "4.8.6",

View File

@ -36,6 +36,7 @@ export class Visible extends decorate(Trait) {
static defaultParams() {
return {
filter: undefined,
trackPosition: true,
};
}
@ -52,6 +53,10 @@ export class Visible extends decorate(Trait) {
initialize() {
if (hasGraphics) {
this._container = new Container();
const filter = this.params.get('filter');
if (filter) {
this._container.setFilter(filter);
}
this._container.isVisible = this.entity.isVisible;
}
this.scheduledBoundingBoxUpdate = true;