bard-legends-framework 0.9.6 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_interfaces/index.d.ts +2 -2
- package/dist/_interfaces/index.js +2 -3
- package/dist/game-entities/attachable/attachable.d.ts +6 -6
- package/dist/game-entities/attachable/attachable.js +28 -30
- package/dist/game-entities/attachable/attachable.spec.js +129 -128
- package/dist/game-entities/attachable/attachable.store.d.ts +5 -5
- package/dist/game-entities/attachable/attachable.store.js +34 -32
- package/dist/game-entities/attachable/attachable.test.js +132 -131
- package/dist/game-entities/attachable/destroyable.d.ts +13 -13
- package/dist/game-entities/attachable/destroyable.js +64 -69
- package/dist/game-entities/attachable/helpers/decorate-actions-lib.d.ts +15 -15
- package/dist/game-entities/attachable/helpers/decorate-actions-lib.js +125 -116
- package/dist/game-entities/attachable/helpers/referance-variable.d.ts +15 -15
- package/dist/game-entities/attachable/helpers/referance-variable.js +47 -48
- package/dist/game-entities/attachable/interfaces.d.ts +6 -6
- package/dist/game-entities/attachable/interfaces.js +2 -3
- package/dist/game-entities/base/helpers/decorate-actions-lib.js +0 -1
- package/dist/game-entities/controller/controller.js +0 -1
- package/dist/game-entities/controller/controller.spec.js +128 -125
- package/dist/game-entities/entity/entity.d.ts +4 -1
- package/dist/game-entities/entity/entity.js +5 -5
- package/dist/game-entities/entity/entity.spec.js +263 -293
- package/dist/game-entities/entity/helpers/view-creation.helper.d.ts +7 -7
- package/dist/game-entities/entity/helpers/view-creation.helper.js +48 -48
- package/dist/game-entities/scene/scene.spec.js +219 -223
- package/dist/game-entities/service/service.js +0 -4
- package/dist/game-entities/service/service.spec.js +265 -237
- package/dist/game-entities/service/service.test.js +4 -2
- package/dist/game-entities/update-loop.d.ts +18 -18
- package/dist/game-entities/update-loop.js +46 -28
- package/dist/game-entities/view/view.spec.js +490 -506
- package/dist/game-entities/view/view.test.js +1 -1
- package/dist/lib/animator/animations.d.ts +13 -13
- package/dist/lib/animator/animations.js +43 -40
- package/dist/lib/animator/animator.d.ts +41 -41
- package/dist/lib/animator/animator.js +194 -197
- package/dist/lib/animator/animator.spec.js +699 -612
- package/dist/lib/animator/index.js +24 -19
- package/dist/lib/libraries/animator/animations.d.ts +13 -13
- package/dist/lib/libraries/animator/animations.js +43 -40
- package/dist/lib/libraries/animator/animator.d.ts +41 -41
- package/dist/lib/libraries/animator/animator.js +194 -197
- package/dist/lib/libraries/animator/animator.spec.js +699 -612
- package/dist/lib/libraries/animator/index.js +24 -19
- package/dist/lib/libraries/path-finder/path-finder.d.ts +2 -2
- package/dist/lib/libraries/path-finder/path-finder.js +19 -20
- package/dist/lib/path-finder/path-finder.d.ts +2 -2
- package/dist/lib/path-finder/path-finder.js +19 -20
- package/dist/lib/services/keyboard/keyboard.d.ts +4 -4
- package/dist/lib/services/keyboard/keyboard.js +39 -31
- package/dist/lib/services/mouse/mouse.service.d.ts +8 -8
- package/dist/lib/services/mouse/mouse.service.js +65 -53
- package/dist/lib/services/mouse/mouser-target-focus.service.d.ts +11 -11
- package/dist/lib/services/mouse/mouser-target-focus.service.js +83 -81
- package/dist/lib/update-loop.d.ts +10 -10
- package/dist/lib/update-loop.js +35 -27
- package/dist/physics/entitity-types/immovable-physics-entity.d.ts +6 -6
- package/dist/physics/entitity-types/immovable-physics-entity.js +23 -24
- package/dist/physics/entitity-types/movable-entity.d.ts +6 -6
- package/dist/physics/entitity-types/movable-entity.js +21 -22
- package/dist/physics/entitity-types/movable-physics-entity.d.ts +14 -14
- package/dist/physics/entitity-types/movable-physics-entity.js +83 -88
- package/dist/physics/entitity-types/physics-entity.d.ts +23 -23
- package/dist/physics/entitity-types/physics-entity.js +97 -88
- package/dist/physics/helpers/closest-available-space.helper.d.ts +16 -16
- package/dist/physics/helpers/closest-available-space.helper.js +98 -96
- package/dist/physics/helpers/closest-available-space.helper.spec.js +115 -68
- package/dist/physics/helpers/p2js.helper.d.ts +3 -3
- package/dist/physics/helpers/p2js.helper.js +21 -22
- package/dist/physics/helpers/shape-factory.d.ts +9 -4
- package/dist/physics/helpers/shape-factory.js +99 -75
- package/dist/physics/libs/p2js.helper.js +1 -1
- package/dist/physics/libs/position-to-grid-position-converter.d.ts +3 -3
- package/dist/physics/libs/position-to-grid-position-converter.js +15 -13
- package/dist/physics/module//360/237/223/220services/availability-grid.service.d.ts +10 -5
- package/dist/physics/module//360/237/223/220services/availability-grid.service.js +77 -57
- package/dist/physics/module//360/237/223/220services/border.service.d.ts +2 -2
- package/dist/physics/module//360/237/223/220services/border.service.js +57 -37
- package/dist/physics/module//360/237/223/220services/collision/physics-body-group.service.js +1 -1
- package/dist/physics/module//360/237/223/220services/collisions.service.d.ts +7 -7
- package/dist/physics/module//360/237/223/220services/collisions.service.js +110 -98
- package/dist/physics/module//360/237/223/220services/debug-visuals.service.d.ts +28 -6
- package/dist/physics/module//360/237/223/220services/debug-visuals.service.js +121 -89
- package/dist/physics/module//360/237/223/220services/eliptic-explosion.service.d.ts +15 -7
- package/dist/physics/module//360/237/223/220services/eliptic-explosion.service.js +117 -93
- package/dist/physics/module//360/237/223/220services/explosion.service.d.ts +14 -7
- package/dist/physics/module//360/237/223/220services/explosion.service.js +102 -77
- package/dist/physics/module//360/237/223/220services/explosions/eliptic-explosion.service.d.ts +15 -7
- package/dist/physics/module//360/237/223/220services/explosions/eliptic-explosion.service.js +117 -93
- package/dist/physics/module//360/237/223/220services/explosions/explosion.service.d.ts +14 -7
- package/dist/physics/module//360/237/223/220services/explosions/explosion.service.js +102 -77
- package/dist/physics/module//360/237/223/220services/explosions/helpers/ray-cast-hit-converter.d.ts +3 -3
- package/dist/physics/module//360/237/223/220services/explosions/helpers/ray-cast-hit-converter.js +71 -67
- package/dist/physics/module//360/237/223/220services/helpers/ray-cast-hit-converter.d.ts +3 -3
- package/dist/physics/module//360/237/223/220services/helpers/ray-cast-hit-converter.js +71 -67
- package/dist/physics/module//360/237/223/220services/impact/eliptic-explosion.service.js +1 -1
- package/dist/physics/module//360/237/223/220services/materials.service.d.ts +16 -11
- package/dist/physics/module//360/237/223/220services/materials.service.js +118 -108
- package/dist/physics/module//360/237/223/220services/path-finder.service.d.ts +19 -8
- package/dist/physics/module//360/237/223/220services/path-finder.service.js +121 -82
- package/dist/physics/module//360/237/223/220services/physics-world.service.d.ts +30 -15
- package/dist/physics/module//360/237/223/220services/physics-world.service.js +122 -100
- package/dist/physics/module//360/237/223/220services/ray-casting.service.d.ts +3 -3
- package/dist/physics/module//360/237/223/220services/ray-casting.service.js +87 -86
- package/dist/physics/module//360/237/223/220services/shape-creation.service.d.ts +9 -4
- package/dist/physics/module//360/237/223/220services/shape-creation.service.js +113 -84
- package/dist/physics/module//360/237/223/220services/test-visuals/test-visuals.service.js +2 -1
- package/dist/physics/module//360/237/247/212entities/data-structures/availability-grid-cache.d.ts +8 -8
- package/dist/physics/module//360/237/247/212entities/data-structures/availability-grid-cache.js +32 -33
- package/dist/physics/physics-world.d.ts +50 -34
- package/dist/physics/physics-world.js +142 -133
- package/dist/physics/sub-elements/available-spaces/helpers/availability-grid.helper.d.ts +3 -3
- package/dist/physics/sub-elements/available-spaces/helpers/availability-grid.helper.js +15 -13
- package/dist/physics/sub-elements/available-spaces/physics-availability-grid.d.ts +9 -9
- package/dist/physics/sub-elements/available-spaces/physics-availability-grid.js +82 -77
- package/dist/physics/sub-elements/available-spaces/physics-available-spaces.d.ts +18 -14
- package/dist/physics/sub-elements/available-spaces/physics-available-spaces.js +91 -79
- package/dist/physics/sub-elements/collisions/contact-equation-orginiser.d.ts +11 -11
- package/dist/physics/sub-elements/collisions/contact-equation-orginiser.js +84 -76
- package/dist/physics/sub-elements/collisions/physics-collision.d.ts +7 -7
- package/dist/physics/sub-elements/collisions/physics-collision.js +43 -44
- package/dist/physics/sub-elements/elements/physics-body-groups.d.ts +11 -11
- package/dist/physics/sub-elements/elements/physics-body-groups.js +54 -54
- package/dist/physics/sub-elements/elements/physics-materials.d.ts +15 -10
- package/dist/physics/sub-elements/elements/physics-materials.js +101 -100
- package/dist/physics/sub-elements/elements/physics-world-borders.d.ts +3 -3
- package/dist/physics/sub-elements/elements/physics-world-borders.js +69 -45
- package/dist/physics/sub-elements/physics-body-groups.d.ts +8 -8
- package/dist/physics/sub-elements/physics-body-groups.js +41 -42
- package/dist/physics/sub-elements/physics-collision.d.ts +16 -16
- package/dist/physics/sub-elements/physics-collision.js +141 -121
- package/dist/physics/sub-elements/physics-materials.d.ts +15 -10
- package/dist/physics/sub-elements/physics-materials.js +101 -100
- package/dist/physics/sub-elements/physics-world-borders.d.ts +2 -2
- package/dist/physics/sub-elements/physics-world-borders.js +25 -26
- package/dist/physics/sub-elements/raycasting/physics-body-explosion-hit.d.ts +15 -11
- package/dist/physics/sub-elements/raycasting/physics-body-explosion-hit.js +59 -59
- package/dist/physics/sub-elements/raycasting/physics-explosion.d.ts +13 -6
- package/dist/physics/sub-elements/raycasting/physics-explosion.js +108 -73
- package/dist/physics/sub-elements/raycasting/ray-cast.d.ts +19 -19
- package/dist/physics/sub-elements/raycasting/ray-cast.js +93 -98
- package/dist/pixi/display-object/components/filters.d.ts +18 -18
- package/dist/pixi/display-object/components/filters.js +106 -81
- package/dist/pixi/display-object/components/glow-effect.d.ts +8 -8
- package/dist/pixi/display-object/components/glow-effect.js +33 -36
- package/dist/pixi/display-object/components/glow-filter.d.ts +8 -8
- package/dist/pixi/display-object/components/glow-filter.js +33 -36
- package/dist/pixi/display-object/container-attributes.js +1 -1
- package/dist/pixi/display-object/display-object-attributes.d.ts +41 -41
- package/dist/pixi/display-object/display-object-attributes.js +148 -150
- package/dist/pixi/display-object/display-object.d.ts +17 -17
- package/dist/pixi/display-object/display-object.js +79 -75
- package/dist/pixi/display-object/filters/base-filters/alpha-primer-color.filter.d.ts +9 -4
- package/dist/pixi/display-object/filters/base-filters/alpha-primer-color.filter.js +89 -77
- package/dist/pixi/display-object/filters/base-filters/blur.filter.js +30 -30
- package/dist/pixi/display-object/filters/base-filters/contrast-filter.d.ts +9 -4
- package/dist/pixi/display-object/filters/base-filters/contrast-filter.js +62 -53
- package/dist/pixi/display-object/filters/base-filters/expand-with-alpha-color.d.ts +10 -5
- package/dist/pixi/display-object/filters/base-filters/expand-with-alpha-color.js +93 -81
- package/dist/pixi/display-object/filters/base-filters/expand-with-color-gradient.d.ts +12 -7
- package/dist/pixi/display-object/filters/base-filters/expand-with-color-gradient.js +120 -109
- package/dist/pixi/display-object/filters/base-filters/expand-with-color.d.ts +10 -5
- package/dist/pixi/display-object/filters/base-filters/expand-with-color.filter.js +32 -32
- package/dist/pixi/display-object/filters/base-filters/expand-with-color.js +92 -85
- package/dist/pixi/display-object/filters/templates/checking-neighbors.template.js +28 -28
- package/dist/pixi/display-object/filters/templates/plane.template.js +20 -20
- package/dist/pixi/display-object/filters.js +20 -4
- package/dist/pixi/display-object/objects/components/filters.d.ts +18 -18
- package/dist/pixi/display-object/objects/components/filters.js +106 -81
- package/dist/pixi/display-object/objects/container.d.ts +2 -2
- package/dist/pixi/display-object/objects/container.js +39 -30
- package/dist/pixi/display-object/objects/graphics.d.ts +28 -28
- package/dist/pixi/display-object/objects/graphics.js +218 -202
- package/dist/pixi/display-object/objects/helpers/filters.d.ts +25 -25
- package/dist/pixi/display-object/objects/helpers/filters.js +150 -124
- package/dist/pixi/display-object/objects/helpers/glow-sprite-generator.d.ts +7 -7
- package/dist/pixi/display-object/objects/helpers/glow-sprite-generator.js +114 -95
- package/dist/pixi/display-object/objects/premade-objects/sprite-with-glowing-shapes.d.ts +5 -5
- package/dist/pixi/display-object/objects/premade-objects/sprite-with-glowing-shapes.js +81 -57
- package/dist/pixi/display-object/objects/sprite.d.ts +43 -43
- package/dist/pixi/display-object/objects/sprite.js +248 -233
- package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.js +1 -1
- package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.test.js +9 -9
- package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.d.ts +1 -1
- package/dist/pixi/display-object/objects/text.d.ts +25 -25
- package/dist/pixi/display-object/objects/text.js +111 -102
- package/dist/pixi/display-object/premade-objects/sprite-with-glowing-shapes.d.ts +13 -9
- package/dist/pixi/display-object/premade-objects/sprite-with-glowing-shapes.js +96 -67
- package/dist/pixi/game.d.ts +1 -1
- package/dist/pixi/game.js +2 -2
- package/dist/pixi/helpers/glow-sprite-generator.d.ts +6 -6
- package/dist/pixi/helpers/glow-sprite-generator.js +99 -84
- package/dist/pixi/helpers/pixi-container.helper.d.ts +1 -1
- package/dist/pixi/helpers/pixi-container.helper.js +10 -8
- package/dist/pixi/helpers/screen-position-to-stage.helper.d.ts +1 -1
- package/dist/pixi/helpers/screen-position-to-stage.helper.js +12 -12
- package/dist/pixi/helpers/screen-position-to-stage.helper.test.js +174 -79
- package/dist/pixi/modules/CAMERA/index.d.ts +1 -1
- package/dist/pixi/modules/CAMERA/index.js +3 -3
- package/dist/pixi/modules/CAMERA//360/237/247/212entities/camera.entity.js +1 -1
- package/dist/services/keyboard/keyboard.d.ts +4 -4
- package/dist/services/keyboard/keyboard.js +39 -31
- package/dist/services/mouse/mouse.service.d.ts +8 -8
- package/dist/services/mouse/mouse.service.js +65 -53
- package/dist/services/mouse/mouser-target-focus.service.d.ts +11 -11
- package/dist/services/mouse/mouser-target-focus.service.js +83 -81
- package/dist/utilities/libraries/animator/animating-content/state-animation.d.ts +29 -26
- package/dist/utilities/libraries/animator/animating-content/state-animation.js +159 -165
- package/dist/utilities/libraries/animator/animating-content/state-animation.test.js +386 -375
- package/dist/utilities/libraries/animator/animator.spec.js +765 -656
- package/dist/utilities/libraries/binary-heap/binary-heap.d.ts +11 -11
- package/dist/utilities/libraries/binary-heap/binary-heap.js +79 -81
- package/dist/utilities/libraries/data-structures/binary-heap/binary-heap.d.ts +11 -11
- package/dist/utilities/libraries/data-structures/binary-heap/binary-heap.js +79 -81
- package/dist/utilities/libraries/data-structures/grid/grid.d.ts +35 -31
- package/dist/utilities/libraries/data-structures/grid/grid.js +128 -117
- package/dist/utilities/libraries/data-structures/grid/grid.spec.js +176 -138
- package/dist/utilities/libraries/data-structures/grid/grid.test.js +218 -141
- package/dist/utilities/libraries/data-structures/grid/position-to-grid-position-converter.d.ts +3 -3
- package/dist/utilities/libraries/data-structures/grid/position-to-grid-position-converter.js +15 -13
- package/dist/utilities/libraries/data-structures/queue/queue.d.ts +21 -21
- package/dist/utilities/libraries/data-structures/queue/queue.js +63 -66
- package/dist/utilities/libraries/data-structures/queue/queue.test.js +54 -55
- package/dist/utilities/libraries/grid-algorithms/closest-available-space/closest-available-space.helper.spec.js +122 -68
- package/dist/utilities/libraries/grid-algorithms/path-finder/path-finder.spec.js +140 -135
- package/dist/utilities/libraries/grid-algorithms/vector-field-path-finder/vector-field-path-finder.spec.js +293 -229
- package/dist/utilities/libraries/path-finder/path-finder.d.ts +7 -7
- package/dist/utilities/libraries/path-finder/path-finder.js +113 -109
- package/dist/utilities/libraries/path-finder/path-finder.spec.js +131 -106
- package/dist/utilities/services/keyboard/keyboard.d.ts +4 -4
- package/dist/utilities/services/keyboard/keyboard.js +42 -34
- package/dist/utilities/services/mouse/helpers/mouse-position.helper.d.ts +1 -1
- package/dist/utilities/services/mouse/helpers/mouse-position.helper.js +12 -12
- package/dist/utilities/services/mouse/helpers/mouse-position.helper.test.js +168 -73
- package/dist/utilities/services/mouse/mouse-target-focus.service.d.ts +15 -15
- package/dist/utilities/services/mouse/mouse-target-focus.service.js +79 -76
- package/dist/utilities/services/mouse/mouse.service.d.ts +9 -9
- package/dist/utilities/services/mouse/mouse.service.js +86 -72
- package/dist/utilities/services/mouse/mouser-target-focus.service.d.ts +11 -11
- package/dist/utilities/services/mouse/mouser-target-focus.service.js +83 -81
- package/package.json +8 -13
|
@@ -1,122 +1,133 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
})
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
1
|
+
var __createBinding =
|
|
2
|
+
(this && this.__createBinding) ||
|
|
3
|
+
(Object.create
|
|
4
|
+
? (o, m, k, k2) => {
|
|
5
|
+
if (k2 === undefined) k2 = k;
|
|
6
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
7
|
+
if (!desc || ('get' in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
8
|
+
desc = { enumerable: true, get: () => m[k] };
|
|
9
|
+
}
|
|
10
|
+
Object.defineProperty(o, k2, desc);
|
|
11
|
+
}
|
|
12
|
+
: (o, m, k, k2) => {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
});
|
|
16
|
+
var __setModuleDefault =
|
|
17
|
+
(this && this.__setModuleDefault) ||
|
|
18
|
+
(Object.create
|
|
19
|
+
? (o, v) => {
|
|
20
|
+
Object.defineProperty(o, 'default', { enumerable: true, value: v });
|
|
21
|
+
}
|
|
22
|
+
: (o, v) => {
|
|
23
|
+
o['default'] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar =
|
|
26
|
+
(this && this.__importStar) ||
|
|
27
|
+
(mod => {
|
|
19
28
|
if (mod && mod.__esModule) return mod;
|
|
20
29
|
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !==
|
|
30
|
+
if (mod != null) for (var k in mod) if (k !== 'default' && Object.hasOwn(mod, k)) __createBinding(result, mod, k);
|
|
22
31
|
__setModuleDefault(result, mod);
|
|
23
32
|
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports,
|
|
33
|
+
});
|
|
34
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
26
35
|
exports.ExpandWithColorGradientFilter = void 0;
|
|
27
|
-
const PIXI = __importStar(require(
|
|
28
|
-
const helpers_lib_1 = require(
|
|
36
|
+
const PIXI = __importStar(require('pixi.js'));
|
|
37
|
+
const helpers_lib_1 = require('helpers-lib');
|
|
29
38
|
class ExpandWithColorGradientFilter extends PIXI.Filter {
|
|
30
|
-
|
|
31
|
-
|
|
39
|
+
static toVec4String(color) {
|
|
40
|
+
return `vec4(${ExpandWithColorGradientFilter.toFloatString(color.red)}, ${ExpandWithColorGradientFilter.toFloatString(color.green)}, ${ExpandWithColorGradientFilter.toFloatString(color.blue)}, 1.0)`;
|
|
41
|
+
}
|
|
42
|
+
static toFloatString(value) {
|
|
43
|
+
if (Number.isInteger(value)) {
|
|
44
|
+
return value.toFixed(1);
|
|
45
|
+
} else {
|
|
46
|
+
return value.toFixed(6);
|
|
32
47
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
48
|
+
}
|
|
49
|
+
static getVertexShader() {
|
|
50
|
+
return `
|
|
51
|
+
attribute vec2 aVertexPosition;
|
|
52
|
+
attribute vec2 aTextureCoord;
|
|
53
|
+
|
|
54
|
+
uniform mat3 projectionMatrix;
|
|
55
|
+
|
|
56
|
+
varying vec2 vTextureCoord;
|
|
57
|
+
|
|
58
|
+
void main(void) {
|
|
59
|
+
gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
|
|
60
|
+
vTextureCoord = aTextureCoord;
|
|
61
|
+
}
|
|
62
|
+
`;
|
|
63
|
+
}
|
|
64
|
+
static getFragmentShader(colorGradient) {
|
|
65
|
+
const alphaDiminishPerPixel = 1 / colorGradient.length;
|
|
66
|
+
// prettier-ignore
|
|
67
|
+
const shader = `
|
|
68
|
+
uniform sampler2D uSampler;
|
|
69
|
+
uniform vec2 pixelSize;
|
|
70
|
+
|
|
71
|
+
varying vec2 vTextureCoord;
|
|
72
|
+
|
|
73
|
+
void main(void) {
|
|
74
|
+
float highestAlpha = 0.0;
|
|
75
|
+
float colorCount = ${ExpandWithColorGradientFilter.toFloatString(colorGradient.length)};
|
|
76
|
+
|
|
77
|
+
for (float x = -${ExpandWithColorGradientFilter.toFloatString(colorGradient.length)}; x <= ${ExpandWithColorGradientFilter.toFloatString(colorGradient.length)}; x++) {
|
|
78
|
+
for (float y = -${ExpandWithColorGradientFilter.toFloatString(colorGradient.length)}; y <= ${ExpandWithColorGradientFilter.toFloatString(colorGradient.length)}; y++) {
|
|
79
|
+
vec4 color = texture2D(uSampler, vTextureCoord + vec2(x * pixelSize.x, y * pixelSize.y));
|
|
80
|
+
float distance = sqrt(x * x + y * y);
|
|
81
|
+
float alpha = max(0.0, color.a - ${ExpandWithColorGradientFilter.toFloatString(alphaDiminishPerPixel)} * distance);
|
|
82
|
+
highestAlpha = max(highestAlpha, alpha);
|
|
83
|
+
}
|
|
36
84
|
}
|
|
37
|
-
|
|
38
|
-
|
|
85
|
+
|
|
86
|
+
highestAlpha = clamp(highestAlpha, 0.0, 1.0);
|
|
87
|
+
|
|
88
|
+
if (highestAlpha >= 1.0) {
|
|
89
|
+
gl_FragColor = texture2D(uSampler, vTextureCoord);
|
|
90
|
+
} else if (highestAlpha > ${ExpandWithColorGradientFilter.toFloatString(1 - alphaDiminishPerPixel)}) {
|
|
91
|
+
gl_FragColor = mix(${ExpandWithColorGradientFilter.toVec4String(colorGradient[0])}, texture2D(uSampler, vTextureCoord), highestAlpha);
|
|
92
|
+
} else if (highestAlpha > ${ExpandWithColorGradientFilter.toFloatString(1 - alphaDiminishPerPixel * 2)}) {
|
|
93
|
+
gl_FragColor = mix(${ExpandWithColorGradientFilter.toVec4String(colorGradient[1])}, ${ExpandWithColorGradientFilter.toVec4String(colorGradient[0])}, highestAlpha);
|
|
94
|
+
} else if (highestAlpha > ${ExpandWithColorGradientFilter.toFloatString(1 - alphaDiminishPerPixel * 3)}) {
|
|
95
|
+
gl_FragColor = mix(${ExpandWithColorGradientFilter.toVec4String(colorGradient[2])}, ${ExpandWithColorGradientFilter.toVec4String(colorGradient[1])}, highestAlpha);
|
|
96
|
+
} else if (highestAlpha > ${ExpandWithColorGradientFilter.toFloatString(1 - alphaDiminishPerPixel * 4)}) {
|
|
97
|
+
gl_FragColor = mix(${ExpandWithColorGradientFilter.toVec4String(colorGradient[3])}, ${ExpandWithColorGradientFilter.toVec4String(colorGradient[2])}, highestAlpha);
|
|
98
|
+
} else if (highestAlpha > ${ExpandWithColorGradientFilter.toFloatString(1 - alphaDiminishPerPixel * 5)}) {
|
|
99
|
+
gl_FragColor = mix(${ExpandWithColorGradientFilter.toVec4String(colorGradient[4])}, ${ExpandWithColorGradientFilter.toVec4String(colorGradient[3])}, highestAlpha);
|
|
100
|
+
} else if (highestAlpha > ${ExpandWithColorGradientFilter.toFloatString(1 - alphaDiminishPerPixel * 6)}) {
|
|
101
|
+
gl_FragColor = mix(${ExpandWithColorGradientFilter.toVec4String(colorGradient[5])}, ${ExpandWithColorGradientFilter.toVec4String(colorGradient[4])}, highestAlpha);
|
|
102
|
+
} else if (highestAlpha > ${ExpandWithColorGradientFilter.toFloatString(1 - alphaDiminishPerPixel * 7)}) {
|
|
103
|
+
gl_FragColor = mix(${ExpandWithColorGradientFilter.toVec4String(colorGradient[6])}, ${ExpandWithColorGradientFilter.toVec4String(colorGradient[5])}, highestAlpha);
|
|
104
|
+
} else if (highestAlpha > ${ExpandWithColorGradientFilter.toFloatString(1 - alphaDiminishPerPixel * 8)}) {
|
|
105
|
+
gl_FragColor = mix(${ExpandWithColorGradientFilter.toVec4String(colorGradient[7])}, ${ExpandWithColorGradientFilter.toVec4String(colorGradient[6])}, highestAlpha);
|
|
106
|
+
} else if (highestAlpha > 0.0) {
|
|
107
|
+
gl_FragColor = mix(${ExpandWithColorGradientFilter.toVec4String(colorGradient[8])}, ${ExpandWithColorGradientFilter.toVec4String(colorGradient[7])}, highestAlpha);
|
|
39
108
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
return `
|
|
43
|
-
attribute vec2 aVertexPosition;
|
|
44
|
-
attribute vec2 aTextureCoord;
|
|
45
|
-
|
|
46
|
-
uniform mat3 projectionMatrix;
|
|
47
|
-
|
|
48
|
-
varying vec2 vTextureCoord;
|
|
49
|
-
|
|
50
|
-
void main(void) {
|
|
51
|
-
gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
|
|
52
|
-
vTextureCoord = aTextureCoord;
|
|
53
|
-
}
|
|
54
|
-
`;
|
|
55
|
-
}
|
|
56
|
-
static getFragmentShader(colorGradient) {
|
|
57
|
-
let alphaDiminishPerPixel = 1 / colorGradient.length;
|
|
58
|
-
// prettier-ignore
|
|
59
|
-
let shader = `
|
|
60
|
-
uniform sampler2D uSampler;
|
|
61
|
-
uniform vec2 pixelSize;
|
|
62
|
-
|
|
63
|
-
varying vec2 vTextureCoord;
|
|
64
|
-
|
|
65
|
-
void main(void) {
|
|
66
|
-
float highestAlpha = 0.0;
|
|
67
|
-
float colorCount = ${this.toFloatString(colorGradient.length)};
|
|
68
|
-
|
|
69
|
-
for (float x = -${this.toFloatString(colorGradient.length)}; x <= ${this.toFloatString(colorGradient.length)}; x++) {
|
|
70
|
-
for (float y = -${this.toFloatString(colorGradient.length)}; y <= ${this.toFloatString(colorGradient.length)}; y++) {
|
|
71
|
-
vec4 color = texture2D(uSampler, vTextureCoord + vec2(x * pixelSize.x, y * pixelSize.y));
|
|
72
|
-
float distance = sqrt(x * x + y * y);
|
|
73
|
-
float alpha = max(0.0, color.a - ${this.toFloatString(alphaDiminishPerPixel)} * distance);
|
|
74
|
-
highestAlpha = max(highestAlpha, alpha);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
highestAlpha = clamp(highestAlpha, 0.0, 1.0);
|
|
79
|
-
|
|
80
|
-
if (highestAlpha >= 1.0) {
|
|
81
|
-
gl_FragColor = texture2D(uSampler, vTextureCoord);
|
|
82
|
-
} else if (highestAlpha > ${this.toFloatString(1 - alphaDiminishPerPixel)}) {
|
|
83
|
-
gl_FragColor = mix(${this.toVec4String(colorGradient[0])}, texture2D(uSampler, vTextureCoord), highestAlpha);
|
|
84
|
-
} else if (highestAlpha > ${this.toFloatString(1 - alphaDiminishPerPixel * 2)}) {
|
|
85
|
-
gl_FragColor = mix(${this.toVec4String(colorGradient[1])}, ${this.toVec4String(colorGradient[0])}, highestAlpha);
|
|
86
|
-
} else if (highestAlpha > ${this.toFloatString(1 - alphaDiminishPerPixel * 3)}) {
|
|
87
|
-
gl_FragColor = mix(${this.toVec4String(colorGradient[2])}, ${this.toVec4String(colorGradient[1])}, highestAlpha);
|
|
88
|
-
} else if (highestAlpha > ${this.toFloatString(1 - alphaDiminishPerPixel * 4)}) {
|
|
89
|
-
gl_FragColor = mix(${this.toVec4String(colorGradient[3])}, ${this.toVec4String(colorGradient[2])}, highestAlpha);
|
|
90
|
-
} else if (highestAlpha > ${this.toFloatString(1 - alphaDiminishPerPixel * 5)}) {
|
|
91
|
-
gl_FragColor = mix(${this.toVec4String(colorGradient[4])}, ${this.toVec4String(colorGradient[3])}, highestAlpha);
|
|
92
|
-
} else if (highestAlpha > ${this.toFloatString(1 - alphaDiminishPerPixel * 6)}) {
|
|
93
|
-
gl_FragColor = mix(${this.toVec4String(colorGradient[5])}, ${this.toVec4String(colorGradient[4])}, highestAlpha);
|
|
94
|
-
} else if (highestAlpha > ${this.toFloatString(1 - alphaDiminishPerPixel * 7)}) {
|
|
95
|
-
gl_FragColor = mix(${this.toVec4String(colorGradient[6])}, ${this.toVec4String(colorGradient[5])}, highestAlpha);
|
|
96
|
-
} else if (highestAlpha > ${this.toFloatString(1 - alphaDiminishPerPixel * 8)}) {
|
|
97
|
-
gl_FragColor = mix(${this.toVec4String(colorGradient[7])}, ${this.toVec4String(colorGradient[6])}, highestAlpha);
|
|
98
|
-
} else if (highestAlpha > 0.0) {
|
|
99
|
-
gl_FragColor = mix(${this.toVec4String(colorGradient[8])}, ${this.toVec4String(colorGradient[7])}, highestAlpha);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
gl_FragColor *= highestAlpha;
|
|
109
|
+
|
|
110
|
+
gl_FragColor *= highestAlpha;
|
|
103
111
|
}`;
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
}
|
|
116
|
-
apply(filterManager, input, output, clearMode) {
|
|
117
|
-
this.uniforms.pixelSize = new Float32Array([1 / input.width, 1 / input.height]);
|
|
118
|
-
filterManager.applyFilter(this, input, output, clearMode);
|
|
112
|
+
console.log(shader);
|
|
113
|
+
return shader;
|
|
114
|
+
}
|
|
115
|
+
constructor(colorGradient) {
|
|
116
|
+
super(
|
|
117
|
+
ExpandWithColorGradientFilter.getVertexShader(),
|
|
118
|
+
ExpandWithColorGradientFilter.getFragmentShader(colorGradient.map(color => helpers_lib_1.ColorHelper.normalize(color)))
|
|
119
|
+
);
|
|
120
|
+
this.colorGradient = colorGradient;
|
|
121
|
+
if (colorGradient.length > 10) {
|
|
122
|
+
throw new Error('ExpandWithColorGradientFilter: Gradient count be higher than 10');
|
|
119
123
|
}
|
|
124
|
+
this.padding = colorGradient.length;
|
|
125
|
+
const colors = this.colorGradient.flatMap(color => new Int8Array([color.r, color.g, color.b, 1]));
|
|
126
|
+
}
|
|
127
|
+
apply(filterManager, input, output, clearMode) {
|
|
128
|
+
this.uniforms.pixelSize = new Float32Array([1 / input.width, 1 / input.height]);
|
|
129
|
+
filterManager.applyFilter(this, input, output, clearMode);
|
|
130
|
+
}
|
|
120
131
|
}
|
|
121
132
|
exports.ExpandWithColorGradientFilter = ExpandWithColorGradientFilter;
|
|
122
|
-
//# sourceMappingURL=expand-with-color-gradient.js.map
|
|
133
|
+
//# sourceMappingURL=expand-with-color-gradient.js.map
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import * as PIXI from 'pixi.js';
|
|
2
2
|
import { RGBColor } from 'helpers-lib';
|
|
3
3
|
export declare class ExpandWithColorFilter extends PIXI.Filter {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
private expand;
|
|
5
|
+
private static getVertexShader;
|
|
6
|
+
private static getFragmentShader;
|
|
7
|
+
constructor(expand: number, color: RGBColor);
|
|
8
|
+
apply(
|
|
9
|
+
filterManager: PIXI.FilterSystem,
|
|
10
|
+
input: PIXI.RenderTexture,
|
|
11
|
+
output: PIXI.RenderTexture,
|
|
12
|
+
clearMode: PIXI.CLEAR_MODES
|
|
13
|
+
): void;
|
|
9
14
|
}
|
|
@@ -29,49 +29,49 @@ const PIXI = __importStar(require("pixi.js"));
|
|
|
29
29
|
const game_1 = require("../../../game");
|
|
30
30
|
class ExpandWithColorFilter extends PIXI.Filter {
|
|
31
31
|
static getVertexShader() {
|
|
32
|
-
return `
|
|
33
|
-
attribute vec2 aVertexPosition;
|
|
34
|
-
attribute vec2 aTextureCoord;
|
|
35
|
-
|
|
36
|
-
uniform mat3 projectionMatrix;
|
|
37
|
-
|
|
38
|
-
varying vec2 vTextureCoord;
|
|
39
|
-
|
|
40
|
-
void main(void) {
|
|
41
|
-
gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
|
|
42
|
-
vTextureCoord = aTextureCoord;
|
|
43
|
-
}
|
|
32
|
+
return `
|
|
33
|
+
attribute vec2 aVertexPosition;
|
|
34
|
+
attribute vec2 aTextureCoord;
|
|
35
|
+
|
|
36
|
+
uniform mat3 projectionMatrix;
|
|
37
|
+
|
|
38
|
+
varying vec2 vTextureCoord;
|
|
39
|
+
|
|
40
|
+
void main(void) {
|
|
41
|
+
gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
|
|
42
|
+
vTextureCoord = aTextureCoord;
|
|
43
|
+
}
|
|
44
44
|
`;
|
|
45
45
|
}
|
|
46
46
|
static getFragmentShader(expand) {
|
|
47
|
-
let shader = `
|
|
48
|
-
uniform sampler2D uSampler;
|
|
49
|
-
uniform vec2 pixelSize;
|
|
50
|
-
uniform float expandSquared;
|
|
51
|
-
uniform vec3 color;
|
|
52
|
-
|
|
53
|
-
varying vec2 vTextureCoord;
|
|
54
|
-
|
|
55
|
-
void main(void) {
|
|
47
|
+
let shader = `
|
|
48
|
+
uniform sampler2D uSampler;
|
|
49
|
+
uniform vec2 pixelSize;
|
|
50
|
+
uniform float expandSquared;
|
|
51
|
+
uniform vec3 color;
|
|
52
|
+
|
|
53
|
+
varying vec2 vTextureCoord;
|
|
54
|
+
|
|
55
|
+
void main(void) {
|
|
56
56
|
float highestAlpha = 0.0;`;
|
|
57
57
|
if (expand > 0) {
|
|
58
|
-
shader += `\n
|
|
59
|
-
for (float x = -${helpers_lib_1.NumberHelper.toFloatString(expand)}; x <= ${helpers_lib_1.NumberHelper.toFloatString(expand)}; x++) {
|
|
60
|
-
for (float y = -${helpers_lib_1.NumberHelper.toFloatString(expand)}; y <= ${helpers_lib_1.NumberHelper.toFloatString(expand)}; y++) {
|
|
61
|
-
vec4 neighborColor = texture2D(uSampler, vTextureCoord + vec2(x * pixelSize.x, y * pixelSize.y));
|
|
62
|
-
float distance = x * x + y * y;
|
|
63
|
-
highestAlpha = max(highestAlpha, neighborColor.a * step(distance, expandSquared));
|
|
64
|
-
}
|
|
58
|
+
shader += `\n
|
|
59
|
+
for (float x = -${helpers_lib_1.NumberHelper.toFloatString(expand)}; x <= ${helpers_lib_1.NumberHelper.toFloatString(expand)}; x++) {
|
|
60
|
+
for (float y = -${helpers_lib_1.NumberHelper.toFloatString(expand)}; y <= ${helpers_lib_1.NumberHelper.toFloatString(expand)}; y++) {
|
|
61
|
+
vec4 neighborColor = texture2D(uSampler, vTextureCoord + vec2(x * pixelSize.x, y * pixelSize.y));
|
|
62
|
+
float distance = x * x + y * y;
|
|
63
|
+
highestAlpha = max(highestAlpha, neighborColor.a * step(distance, expandSquared));
|
|
64
|
+
}
|
|
65
65
|
}`;
|
|
66
66
|
}
|
|
67
67
|
else {
|
|
68
|
-
shader += `\n
|
|
69
|
-
vec4 centerColor = texture2D(uSampler, vTextureCoord);
|
|
68
|
+
shader += `\n
|
|
69
|
+
vec4 centerColor = texture2D(uSampler, vTextureCoord);
|
|
70
70
|
highestAlpha = centerColor.a;`;
|
|
71
71
|
}
|
|
72
72
|
// prettier-ignore
|
|
73
|
-
shader += `\n
|
|
74
|
-
gl_FragColor = vec4(color, 1.0) * highestAlpha;
|
|
73
|
+
shader += `\n
|
|
74
|
+
gl_FragColor = vec4(color, 1.0) * highestAlpha;
|
|
75
75
|
}`;
|
|
76
76
|
return shader;
|
|
77
77
|
}
|
|
@@ -1,100 +1,107 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
})
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
1
|
+
var __createBinding =
|
|
2
|
+
(this && this.__createBinding) ||
|
|
3
|
+
(Object.create
|
|
4
|
+
? (o, m, k, k2) => {
|
|
5
|
+
if (k2 === undefined) k2 = k;
|
|
6
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
7
|
+
if (!desc || ('get' in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
8
|
+
desc = { enumerable: true, get: () => m[k] };
|
|
9
|
+
}
|
|
10
|
+
Object.defineProperty(o, k2, desc);
|
|
11
|
+
}
|
|
12
|
+
: (o, m, k, k2) => {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
});
|
|
16
|
+
var __setModuleDefault =
|
|
17
|
+
(this && this.__setModuleDefault) ||
|
|
18
|
+
(Object.create
|
|
19
|
+
? (o, v) => {
|
|
20
|
+
Object.defineProperty(o, 'default', { enumerable: true, value: v });
|
|
21
|
+
}
|
|
22
|
+
: (o, v) => {
|
|
23
|
+
o['default'] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar =
|
|
26
|
+
(this && this.__importStar) ||
|
|
27
|
+
(mod => {
|
|
19
28
|
if (mod && mod.__esModule) return mod;
|
|
20
29
|
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !==
|
|
30
|
+
if (mod != null) for (var k in mod) if (k !== 'default' && Object.hasOwn(mod, k)) __createBinding(result, mod, k);
|
|
22
31
|
__setModuleDefault(result, mod);
|
|
23
32
|
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports,
|
|
33
|
+
});
|
|
34
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
26
35
|
exports.ExpandWithColorFilter = void 0;
|
|
27
|
-
const PIXI = __importStar(require(
|
|
28
|
-
const helpers_lib_1 = require(
|
|
36
|
+
const PIXI = __importStar(require('pixi.js'));
|
|
37
|
+
const helpers_lib_1 = require('helpers-lib');
|
|
29
38
|
class ExpandWithColorFilter extends PIXI.Filter {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
attribute vec2 aVertexPosition;
|
|
33
|
-
attribute vec2 aTextureCoord;
|
|
34
|
-
|
|
35
|
-
uniform mat3 projectionMatrix;
|
|
36
|
-
|
|
37
|
-
varying vec2 vTextureCoord;
|
|
38
|
-
|
|
39
|
-
void main(void) {
|
|
40
|
-
gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
|
|
41
|
-
vTextureCoord = aTextureCoord;
|
|
42
|
-
}
|
|
39
|
+
static getVertexShader() {
|
|
40
|
+
return `
|
|
41
|
+
attribute vec2 aVertexPosition;
|
|
42
|
+
attribute vec2 aTextureCoord;
|
|
43
|
+
|
|
44
|
+
uniform mat3 projectionMatrix;
|
|
45
|
+
|
|
46
|
+
varying vec2 vTextureCoord;
|
|
47
|
+
|
|
48
|
+
void main(void) {
|
|
49
|
+
gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
|
|
50
|
+
vTextureCoord = aTextureCoord;
|
|
51
|
+
}
|
|
43
52
|
`;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
uniform sampler2D uSampler;
|
|
48
|
-
uniform vec2 pixelSize;
|
|
49
|
-
uniform float expandSquared;
|
|
50
|
-
uniform vec3 color;
|
|
51
|
-
|
|
52
|
-
varying vec2 vTextureCoord;
|
|
53
|
-
|
|
54
|
-
void main(void) {
|
|
53
|
+
}
|
|
54
|
+
static getFragmentShader(expand) {
|
|
55
|
+
let shader = `
|
|
56
|
+
uniform sampler2D uSampler;
|
|
57
|
+
uniform vec2 pixelSize;
|
|
58
|
+
uniform float expandSquared;
|
|
59
|
+
uniform vec3 color;
|
|
60
|
+
|
|
61
|
+
varying vec2 vTextureCoord;
|
|
62
|
+
|
|
63
|
+
void main(void) {
|
|
55
64
|
float highestAlpha = 0.0;`;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
for (float x = -${helpers_lib_1.NumberHelper.toFloatString(expand)}; x <= ${helpers_lib_1.NumberHelper.toFloatString(expand)}; x++) {
|
|
59
|
-
for (float y = -${helpers_lib_1.NumberHelper.toFloatString(expand)}; y <= ${helpers_lib_1.NumberHelper.toFloatString(expand)}; y++) {
|
|
60
|
-
vec4 neighborColor = texture2D(uSampler, vTextureCoord + vec2(x * pixelSize.x, y * pixelSize.y));
|
|
61
|
-
float distance = x * x + y * y;
|
|
62
|
-
highestAlpha = max(highestAlpha, neighborColor.a * step(distance, expandSquared));
|
|
63
|
-
}
|
|
65
|
+
if (expand > 0) {
|
|
66
|
+
shader += `\n
|
|
67
|
+
for (float x = -${helpers_lib_1.NumberHelper.toFloatString(expand)}; x <= ${helpers_lib_1.NumberHelper.toFloatString(expand)}; x++) {
|
|
68
|
+
for (float y = -${helpers_lib_1.NumberHelper.toFloatString(expand)}; y <= ${helpers_lib_1.NumberHelper.toFloatString(expand)}; y++) {
|
|
69
|
+
vec4 neighborColor = texture2D(uSampler, vTextureCoord + vec2(x * pixelSize.x, y * pixelSize.y));
|
|
70
|
+
float distance = x * x + y * y;
|
|
71
|
+
highestAlpha = max(highestAlpha, neighborColor.a * step(distance, expandSquared));
|
|
72
|
+
}
|
|
64
73
|
}`;
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
vec4 centerColor = texture2D(uSampler, vTextureCoord);
|
|
74
|
+
} else {
|
|
75
|
+
shader += `\n
|
|
76
|
+
vec4 centerColor = texture2D(uSampler, vTextureCoord);
|
|
69
77
|
highestAlpha = centerColor.a;`;
|
|
70
|
-
}
|
|
71
|
-
// prettier-ignore
|
|
72
|
-
shader += `\n
|
|
73
|
-
gl_FragColor = vec4(color, 1.0) * highestAlpha;
|
|
74
|
-
}`;
|
|
75
|
-
return shader;
|
|
76
78
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
this.uniforms.color = new Float32Array([normalizedColor.red, normalizedColor.green, normalizedColor.blue]);
|
|
91
|
-
this.uniforms.expandSquared = this.expand * this.expand;
|
|
92
|
-
this.padding = expand;
|
|
79
|
+
// prettier-ignore
|
|
80
|
+
shader += `\n
|
|
81
|
+
gl_FragColor = vec4(color, 1.0) * highestAlpha;
|
|
82
|
+
}`;
|
|
83
|
+
return shader;
|
|
84
|
+
}
|
|
85
|
+
constructor(expand, color) {
|
|
86
|
+
super(ExpandWithColorFilter.getVertexShader(), ExpandWithColorFilter.getFragmentShader(expand));
|
|
87
|
+
this.expand = expand;
|
|
88
|
+
if (expand < 0) {
|
|
89
|
+
throw new Error('ExpandWithColorFilter: Expand cannot be smaller than 0');
|
|
90
|
+
} else if (expand > 10) {
|
|
91
|
+
throw new Error('ExpandWithColorFilter: Expand cannot be higher than 10');
|
|
93
92
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
filterManager.applyFilter(this, input, output, clearMode);
|
|
93
|
+
if (!helpers_lib_1.Comparator.isInteger(expand)) {
|
|
94
|
+
expand = Math.floor(expand);
|
|
97
95
|
}
|
|
96
|
+
const normalizedColor = helpers_lib_1.ColorHelper.normalize(color);
|
|
97
|
+
this.uniforms.color = new Float32Array([normalizedColor.red, normalizedColor.green, normalizedColor.blue]);
|
|
98
|
+
this.uniforms.expandSquared = this.expand * this.expand;
|
|
99
|
+
this.padding = expand;
|
|
100
|
+
}
|
|
101
|
+
apply(filterManager, input, output, clearMode) {
|
|
102
|
+
this.uniforms.pixelSize = new Float32Array([1 / input.width, 1 / input.height]);
|
|
103
|
+
filterManager.applyFilter(this, input, output, clearMode);
|
|
104
|
+
}
|
|
98
105
|
}
|
|
99
106
|
exports.ExpandWithColorFilter = ExpandWithColorFilter;
|
|
100
|
-
//# sourceMappingURL=expand-with-color.js.map
|
|
107
|
+
//# sourceMappingURL=expand-with-color.js.map
|
|
@@ -28,37 +28,37 @@ const PIXI = __importStar(require("pixi.js"));
|
|
|
28
28
|
const game_1 = require("../../../game");
|
|
29
29
|
class CheckingNeighborsTemplate extends PIXI.Filter {
|
|
30
30
|
static getVertexShader() {
|
|
31
|
-
return `
|
|
32
|
-
attribute vec2 aVertexPosition;
|
|
33
|
-
attribute vec2 aTextureCoord;
|
|
34
|
-
|
|
35
|
-
uniform mat3 projectionMatrix;
|
|
36
|
-
|
|
37
|
-
varying vec2 vTextureCoord;
|
|
38
|
-
|
|
39
|
-
void main(void) {
|
|
40
|
-
gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
|
|
41
|
-
vTextureCoord = aTextureCoord;
|
|
42
|
-
}
|
|
31
|
+
return `
|
|
32
|
+
attribute vec2 aVertexPosition;
|
|
33
|
+
attribute vec2 aTextureCoord;
|
|
34
|
+
|
|
35
|
+
uniform mat3 projectionMatrix;
|
|
36
|
+
|
|
37
|
+
varying vec2 vTextureCoord;
|
|
38
|
+
|
|
39
|
+
void main(void) {
|
|
40
|
+
gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
|
|
41
|
+
vTextureCoord = aTextureCoord;
|
|
42
|
+
}
|
|
43
43
|
`;
|
|
44
44
|
}
|
|
45
45
|
static getFragmentShader() {
|
|
46
|
-
return `
|
|
47
|
-
uniform sampler2D uSampler;
|
|
48
|
-
uniform vec2 pixelSize;
|
|
49
|
-
|
|
50
|
-
varying vec2 vTextureCoord;
|
|
51
|
-
|
|
52
|
-
void main(void) {
|
|
53
|
-
gl_FragColor = texture2D(uSampler, vTextureCoord) * 0.2;
|
|
54
|
-
|
|
55
|
-
for (float x = -1.0; x <= 1.0; x++) {
|
|
56
|
-
for (float y = -1.0; y <= 1.0; y++) {
|
|
57
|
-
vec4 color = texture2D(uSampler, vTextureCoord + vec2(x * pixelSize.x, y * pixelSize.y));
|
|
58
|
-
gl_FragColor += color * 0.1;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
46
|
+
return `
|
|
47
|
+
uniform sampler2D uSampler;
|
|
48
|
+
uniform vec2 pixelSize;
|
|
49
|
+
|
|
50
|
+
varying vec2 vTextureCoord;
|
|
51
|
+
|
|
52
|
+
void main(void) {
|
|
53
|
+
gl_FragColor = texture2D(uSampler, vTextureCoord) * 0.2;
|
|
54
|
+
|
|
55
|
+
for (float x = -1.0; x <= 1.0; x++) {
|
|
56
|
+
for (float y = -1.0; y <= 1.0; y++) {
|
|
57
|
+
vec4 color = texture2D(uSampler, vTextureCoord + vec2(x * pixelSize.x, y * pixelSize.y));
|
|
58
|
+
gl_FragColor += color * 0.1;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
62
|
`;
|
|
63
63
|
}
|
|
64
64
|
constructor() {
|
|
@@ -28,29 +28,29 @@ const PIXI = __importStar(require("pixi.js"));
|
|
|
28
28
|
const game_1 = require("../../../game");
|
|
29
29
|
class PlaneTemplate extends PIXI.Filter {
|
|
30
30
|
static getVertexShader() {
|
|
31
|
-
return `
|
|
32
|
-
attribute vec2 aVertexPosition;
|
|
33
|
-
attribute vec2 aTextureCoord;
|
|
34
|
-
|
|
35
|
-
uniform mat3 projectionMatrix;
|
|
36
|
-
|
|
37
|
-
varying vec2 vTextureCoord;
|
|
38
|
-
|
|
39
|
-
void main(void) {
|
|
40
|
-
gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
|
|
41
|
-
vTextureCoord = aTextureCoord;
|
|
42
|
-
}
|
|
31
|
+
return `
|
|
32
|
+
attribute vec2 aVertexPosition;
|
|
33
|
+
attribute vec2 aTextureCoord;
|
|
34
|
+
|
|
35
|
+
uniform mat3 projectionMatrix;
|
|
36
|
+
|
|
37
|
+
varying vec2 vTextureCoord;
|
|
38
|
+
|
|
39
|
+
void main(void) {
|
|
40
|
+
gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
|
|
41
|
+
vTextureCoord = aTextureCoord;
|
|
42
|
+
}
|
|
43
43
|
`;
|
|
44
44
|
}
|
|
45
45
|
static getFragmentShader() {
|
|
46
|
-
return `
|
|
47
|
-
uniform sampler2D uSampler;
|
|
48
|
-
|
|
49
|
-
varying vec2 vTextureCoord;
|
|
50
|
-
|
|
51
|
-
void main(void) {
|
|
52
|
-
gl_FragColor = texture2D(uSampler, vTextureCoord);
|
|
53
|
-
}
|
|
46
|
+
return `
|
|
47
|
+
uniform sampler2D uSampler;
|
|
48
|
+
|
|
49
|
+
varying vec2 vTextureCoord;
|
|
50
|
+
|
|
51
|
+
void main(void) {
|
|
52
|
+
gl_FragColor = texture2D(uSampler, vTextureCoord);
|
|
53
|
+
}
|
|
54
54
|
`;
|
|
55
55
|
}
|
|
56
56
|
constructor() {
|