@tolokoban/tgd 2.0.104 → 2.0.106

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.
Files changed (60) hide show
  1. package/lib/dist/context/context.d.ts +11 -0
  2. package/lib/dist/context/context.d.ts.map +1 -1
  3. package/lib/dist/context/context.js +32 -8
  4. package/lib/dist/filter/blur.d.ts +3 -0
  5. package/lib/dist/filter/blur.d.ts.map +1 -1
  6. package/lib/dist/filter/blur.js +11 -2
  7. package/lib/dist/filter/chromatic-aberration.d.ts +1 -0
  8. package/lib/dist/filter/chromatic-aberration.d.ts.map +1 -1
  9. package/lib/dist/filter/chromatic-aberration.js +5 -3
  10. package/lib/dist/filter/filter.d.ts +1 -1
  11. package/lib/dist/filter/filter.d.ts.map +1 -1
  12. package/lib/dist/filter/filter.js +1 -1
  13. package/lib/dist/filter/hue-rotation.js +2 -2
  14. package/lib/dist/filter/multiply.d.ts.map +1 -1
  15. package/lib/dist/filter/multiply.js +2 -1
  16. package/lib/dist/filter/verbatim.d.ts.map +1 -1
  17. package/lib/dist/filter/verbatim.js +2 -1
  18. package/lib/dist/filter/zoom.d.ts.map +1 -1
  19. package/lib/dist/filter/zoom.js +4 -3
  20. package/lib/dist/geometry/box.js +9 -2
  21. package/lib/dist/light/light.d.ts +2 -2
  22. package/lib/dist/light/light.d.ts.map +1 -1
  23. package/lib/dist/light/light.js +3 -2
  24. package/lib/dist/painter/filter/filter.d.ts +2 -7
  25. package/lib/dist/painter/filter/filter.d.ts.map +1 -1
  26. package/lib/dist/painter/filter/filter.js +44 -59
  27. package/lib/dist/painter/filter/framebuffers.d.ts +15 -0
  28. package/lib/dist/painter/filter/framebuffers.d.ts.map +1 -0
  29. package/lib/dist/painter/filter/framebuffers.js +69 -0
  30. package/lib/dist/painter/framebuffer.d.ts +5 -5
  31. package/lib/dist/painter/framebuffer.d.ts.map +1 -1
  32. package/lib/dist/painter/framebuffer.js +78 -73
  33. package/lib/dist/painter/state/state.d.ts +1 -1
  34. package/lib/dist/painter/state/state.d.ts.map +1 -1
  35. package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
  36. package/lib/dist/parser/gltf/gltf.js +1 -7
  37. package/lib/dist/shader/fragment.d.ts +1 -0
  38. package/lib/dist/shader/fragment.d.ts.map +1 -1
  39. package/lib/dist/shader/fragment.js +12 -3
  40. package/lib/dist/texture/texture2d.d.ts +2 -0
  41. package/lib/dist/texture/texture2d.d.ts.map +1 -1
  42. package/lib/dist/texture/texture2d.js +38 -32
  43. package/lib/dist/utils/ensure.d.ts +4 -0
  44. package/lib/dist/utils/ensure.d.ts.map +1 -0
  45. package/lib/dist/utils/ensure.js +21 -0
  46. package/lib/dist/utils/index.d.ts +1 -1
  47. package/lib/dist/utils/index.d.ts.map +1 -1
  48. package/lib/dist/utils/index.js +2 -2
  49. package/lib/dist/version.d.ts +1 -1
  50. package/lib/dist/version.js +1 -1
  51. package/package.json +1 -1
  52. package/lib/dist/painter/gizmo/painters/normal.1.d.ts +0 -21
  53. package/lib/dist/painter/gizmo/painters/normal.1.d.ts.map +0 -1
  54. package/lib/dist/painter/gizmo/painters/normal.1.js +0 -111
  55. package/lib/dist/painter/gizmo/tips.d.ts +0 -22
  56. package/lib/dist/painter/gizmo/tips.d.ts.map +0 -1
  57. package/lib/dist/painter/gizmo/tips.js +0 -51
  58. package/lib/dist/utils/array.d.ts +0 -2
  59. package/lib/dist/utils/array.d.ts.map +0 -1
  60. package/lib/dist/utils/array.js +0 -6
@@ -110,6 +110,8 @@ export declare class TgdContext extends TgdPainterGroup {
110
110
  */
111
111
  private doSnapshot;
112
112
  private _camera;
113
+ private _width;
114
+ private _height;
113
115
  private _fps;
114
116
  private _aspectRatio;
115
117
  private _aspectRatioInverse;
@@ -149,7 +151,9 @@ export declare class TgdContext extends TgdPainterGroup {
149
151
  animCancelArray(animations: TgdAnimation[]): void;
150
152
  animDebug(caption?: string): void;
151
153
  get width(): number;
154
+ private set width(value);
152
155
  get height(): number;
156
+ private set height(value);
153
157
  get aspectRatio(): number;
154
158
  get aspectRatioInverse(): number;
155
159
  set aspectRatio(aspectRatio: number);
@@ -184,6 +188,13 @@ export declare class TgdContext extends TgdPainterGroup {
184
188
  * @param restorationDelayInMilliseconds Time, in milliseconds, before the context is restored.
185
189
  */
186
190
  loseContext(restorationDelayInMilliseconds?: number): void;
191
+ /**
192
+ * Most of the painters rely on the current viewport which is based on the canvas size.
193
+ * But if you want to paint in a framebuffer, you may want to use the texture widt/height
194
+ * instead.
195
+ */
196
+ paintInCustomSize(width: number, height: number, paint: () => void): void;
197
+ private setCurrentSize;
187
198
  /**
188
199
  * When you need a painter to be painted only one time.
189
200
  *
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context/context.ts"],"names":[],"mappings":"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"}
@@ -81,6 +81,8 @@ export class TgdContext extends TgdPainterGroup {
81
81
  fovy: Math.PI / 8,
82
82
  zoom: 1,
83
83
  });
84
+ this._width = 0;
85
+ this._height = 0;
84
86
  this._fps = 0;
85
87
  this._aspectRatio = 1;
86
88
  this._aspectRatioInverse = 1;
@@ -140,20 +142,17 @@ export class TgdContext extends TgdPainterGroup {
140
142
  return;
141
143
  }
142
144
  try {
145
+ const { gl } = this;
146
+ this.setCurrentSize(gl.drawingBufferWidth, gl.drawingBufferHeight);
143
147
  this.timeShift = timeInSec - this.now();
144
148
  if (this.playing) {
145
149
  // the pause is like a frozen time.
146
150
  timeInSec -= this.pauseAccumulation;
147
151
  }
148
152
  this.eventPaintEnter.dispatch(this);
149
- const { gl, webglParams } = this;
150
153
  const delayInSec = timeInSec - this.lastTimeInSec;
151
154
  this._fps = Math.round(1 / delayInSec);
152
155
  this.lastTimeInSec = timeInSec;
153
- this._camera.screenWidth = gl.drawingBufferWidth;
154
- this._camera.screenHeight = gl.drawingBufferHeight;
155
- this.aspectRatio = gl.drawingBufferWidth / gl.drawingBufferHeight;
156
- webglParams.setViewport(0, 0, gl.canvas.width, gl.canvas.height);
157
156
  for (const oneTimePainter of this.oneTimePainters) {
158
157
  oneTimePainter.paint(timeInSec, delayInSec);
159
158
  }
@@ -335,10 +334,16 @@ export class TgdContext extends TgdPainterGroup {
335
334
  this.animationManager.debug(caption);
336
335
  }
337
336
  get width() {
338
- return this.gl.drawingBufferWidth;
337
+ return this._width;
338
+ }
339
+ set width(width) {
340
+ this._width = width;
339
341
  }
340
342
  get height() {
341
- return this.gl.drawingBufferHeight;
343
+ return this._height;
344
+ }
345
+ set height(height) {
346
+ this._height = height;
342
347
  }
343
348
  get aspectRatio() {
344
349
  return this._aspectRatio;
@@ -446,6 +451,25 @@ export class TgdContext extends TgdPainterGroup {
446
451
  }, restorationDelayInMilliseconds);
447
452
  }
448
453
  }
454
+ /**
455
+ * Most of the painters rely on the current viewport which is based on the canvas size.
456
+ * But if you want to paint in a framebuffer, you may want to use the texture widt/height
457
+ * instead.
458
+ */
459
+ paintInCustomSize(width, height, paint) {
460
+ const { width: savedWidth, height: savedHeight } = this;
461
+ this.setCurrentSize(width, height);
462
+ paint();
463
+ this.setCurrentSize(savedWidth, savedHeight);
464
+ }
465
+ setCurrentSize(width, height) {
466
+ this.width = width;
467
+ this.height = height;
468
+ this.camera.screenWidth = this.width;
469
+ this.camera.screenHeight = this.height;
470
+ this.aspectRatio = this.width / this.height;
471
+ this.webglParams.setViewport(0, 0, this.width, this.height);
472
+ }
449
473
  now() {
450
474
  return Date.now() * 1e-3;
451
475
  }
@@ -546,4 +570,4 @@ TgdContext.incrementalId = 1;
546
570
  function isOffscreen(canvas) {
547
571
  return canvas instanceof OffscreenCanvas;
548
572
  }
549
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFrQixvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDdEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUNuQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFFbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBMkMzRDs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFDSCxNQUFNLE9BQU8sVUFBVyxTQUFRLGVBQWU7SUFHM0M7Ozs7T0FJRztJQUNJLE1BQU0sS0FBSyxnQkFBZ0I7O1FBQzlCLE9BQU8sTUFBQSxVQUFVLENBQUMsZ0JBQWdCLG1DQUFJLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0lBb0VEOzs7T0FHRztJQUNILFlBQ29CLE1BQTJDLEVBQzNDLFVBQXVDLEVBQUU7O1FBRXpELEtBQUssRUFBRSxDQUFBO1FBSFMsV0FBTSxHQUFOLE1BQU0sQ0FBcUM7UUFDM0MsWUFBTyxHQUFQLE9BQU8sQ0FBa0M7UUFwRTdEOztXQUVHO1FBQ2EsZUFBVSxHQUFHLElBQUksUUFBUSxFQUFjLENBQUE7UUFDdkQ7O1dBRUc7UUFDYSxvQkFBZSxHQUFHLElBQUksUUFBUSxFQUFjLENBQUE7UUFDNUQ7OztXQUdHO1FBQ2EsMEJBQXFCLEdBQUcs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
573
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFrQixvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDdEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUNuQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFFbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBMkMzRDs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFDSCxNQUFNLE9BQU8sVUFBVyxTQUFRLGVBQWU7SUFHM0M7Ozs7T0FJRztJQUNJLE1BQU0sS0FBSyxnQkFBZ0I7O1FBQzlCLE9BQU8sTUFBQSxVQUFVLENBQUMsZ0JBQWdCLG1DQUFJLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0lBc0VEOzs7T0FHRztJQUNILFlBQ29CLE1BQTJDLEVBQzNDLFVBQXVDLEVBQUU7O1FBRXpELEtBQUssRUFBRSxDQUFBO1FBSFMsV0FBTSxHQUFOLE1BQU0sQ0FBcUM7UUFDM0MsWUFBTyxHQUFQLE9BQU8sQ0FBa0M7UUF0RTdEOztXQUVHO1FBQ2EsZUFBVSxHQUFHLElBQUksUUFBUSxFQUFjLENBQUE7UUFDdkQ7O1dBRUc7UUFDYSxvQkFBZSxHQUFHLElBQUksUUFBUSxFQUFjLENBQUE7UUFDNUQ7OztXQUdHO1FBQ2EsMEJBQXFCLEdBQUcs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
@@ -12,6 +12,9 @@ export interface TgdFilterBlurOptions {
12
12
  strength: number;
13
13
  }
14
14
  export declare class TgdFilterBlur extends TgdFilter {
15
+ static createPair(options?: Partial<Omit<TgdFilterBlurOptions, "direction"> & {
16
+ direction?: number;
17
+ }>): TgdFilterBlur[];
15
18
  strength: number;
16
19
  constructor(options?: Partial<TgdFilterBlurOptions>);
17
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"blur.d.ts","sourceRoot":"","sources":["../../src/filter/blur.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,MAAM,CAAA;IACrC,QAAQ,EAAE,MAAM,CAAA;CACnB;AAID,qBAAa,aAAc,SAAQ,SAAS;IACjC,QAAQ,EAAE,MAAM,CAAA;gBAEX,OAAO,GAAE,OAAO,CAAC,oBAAoB,CAAM;CAkD1D"}
1
+ {"version":3,"file":"blur.d.ts","sourceRoot":"","sources":["../../src/filter/blur.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,MAAM,CAAA;IACrC,QAAQ,EAAE,MAAM,CAAA;CACnB;AAID,qBAAa,aAAc,SAAQ,SAAS;WAC1B,UAAU,CAAC,OAAO,GAAE,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAM;IAgBzG,QAAQ,EAAE,MAAM,CAAA;gBAEX,OAAO,GAAE,OAAO,CAAC,oBAAoB,CAAM;CAkD1D"}
@@ -3,6 +3,15 @@ import { TgdVec2 } from "../math/index.js";
3
3
  import { TgdFilter } from "./filter.js";
4
4
  const DEFAULT_DIRECTION = new TgdVec2(1, 0);
5
5
  export class TgdFilterBlur extends TgdFilter {
6
+ static createPair(options = {}) {
7
+ var _a, _b;
8
+ const direction = (_a = options.direction) !== null && _a !== void 0 ? _a : 0;
9
+ const name = (_b = options.name) !== null && _b !== void 0 ? _b : "TgdFilterBlur/Pair/";
10
+ return [
11
+ new TgdFilterBlur(Object.assign(Object.assign({}, options), { direction, name: `${name}/${direction}°` })),
12
+ new TgdFilterBlur(Object.assign(Object.assign({}, options), { direction: direction + 90, name: `${name}/${direction}°` })),
13
+ ];
14
+ }
6
15
  constructor(options = {}) {
7
16
  var _a, _b;
8
17
  const { size = 4, strength = 1 } = options;
@@ -27,7 +36,7 @@ export class TgdFilterBlur extends TgdFilter {
27
36
  super({
28
37
  name: (_a = options.name) !== null && _a !== void 0 ? _a : `TgdFilterBlur(${(_b = options.direction) !== null && _b !== void 0 ? _b : 0} deg)`,
29
38
  fragmentShaderCode: [
30
- "vec2 dir = uniStrength * uniPixel * vec2(",
39
+ "vec2 dir = uniStrength * varPixel * vec2(",
31
40
  [`${sx.toFixed(9)},`, `${sy.toFixed(9)}`],
32
41
  ");",
33
42
  `vec4 color = ${(size + 1).toFixed(1)} * texture(uniTexture, varUV);`,
@@ -55,4 +64,4 @@ function figureOutDirection(direction) {
55
64
  }
56
65
  return direction;
57
66
  }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmx1ci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWx0ZXIvYmx1ci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQWNwQyxNQUFNLGlCQUFpQixHQUFzQixJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFFOUQsTUFBTSxPQUFPLGFBQWMsU0FBUSxTQUFTO0lBR3hDLFlBQVksVUFBeUMsRUFBRTs7UUFDbkQsTUFBTSxFQUFFLElBQUksR0FBRyxDQUFDLEVBQUUsUUFBUSxHQUFHLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQTtRQUMxQyxNQUFNLFNBQVMsR0FBWSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDaEUsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQTtRQUM3QixNQUFNLFNBQVMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDN0MsTUFBTSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUE7UUFDbEMsTUFBTSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUE7UUFDbEMsTUFBTSxLQUFLLEdBQWEsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDL0MsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFBO1FBQ2IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ25DLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUE7WUFDdkIsS0FBSyxJQUFJLE1BQU0sQ0FBQTtZQUNmLEtBQUssQ0FBQyxJQUFJLENBQ04sT0FBTyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFDcEMsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQzNCLDhDQUE4QyxFQUM5Qyw4Q0FBOEMsQ0FDakQsQ0FBQTtRQUNMLENBQUM7UUFDRCxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNYLDBCQUEwQjtZQUMxQixLQUFLLENBQUMsSUFBSSxDQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUMvQiwwQ0FBMEMsRUFDMUMsMENBQTBDLENBQzdDLENBQUE7WUFDRCxLQUFLLEVBQUUsQ0FBQTtRQUNYLENBQUM7UUFDRCxLQUFLLEdBQUcsS0FBSyxHQUFHLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFBO1FBQ2hDLEtBQUssQ0FBQztZQUNGLElBQUksRUFBRSxNQUFBLE9BQU8sQ0FBQyxJQUFJLG1DQUFJLGlCQUFpQixNQUFBLE9BQU8sQ0FBQyxTQUFTLG1DQUFJLENBQUMsT0FBTztZQUNwRSxrQkFBa0IsRUFBRTtnQkFDaEIsMkNBQTJDO2dCQUMzQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN6QyxJQUFJO2dCQUNKLGdCQUFnQixDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGdDQUFnQztnQkFDckUsR0FBRyxLQUFLO2dCQUNSLHVCQUF1QixDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUc7YUFDbkQ7WUFDRCxRQUFRLEVBQUU7Z0JBQ04sV0FBVyxFQUFFLE9BQU87Z0JBQ3BCLGVBQWUsRUFBRSxPQUFPO2dCQUN4QixnQkFBZ0IsRUFBRSxPQUFPO2FBQzVCO1lBQ0QsV0FBVyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO2dCQUN6QixPQUFPLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDbkQsQ0FBQztTQUNKLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO0lBQzVCLENBQUM7Q0FDSjtBQUVELFNBQVMsa0JBQWtCLENBQUMsU0FBaUQ7SUFDekUsSUFBSSxTQUFTLEtBQUssU0FBUztRQUFFLE9BQU8saUJBQWlCLENBQUE7SUFFckQsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNoQyxNQUFNLEdBQUcsR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDdEMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUNwRCxDQUFDO0lBRUQsT0FBTyxTQUFTLENBQUE7QUFDcEIsQ0FBQyJ9
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmx1ci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWx0ZXIvYmx1ci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDakMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQWNwQyxNQUFNLGlCQUFpQixHQUFzQixJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFFOUQsTUFBTSxPQUFPLGFBQWMsU0FBUSxTQUFTO0lBQ2pDLE1BQU0sQ0FBQyxVQUFVLENBQUMsVUFBcUYsRUFBRTs7UUFDNUcsTUFBTSxTQUFTLEdBQUcsTUFBQSxPQUFPLENBQUMsU0FBUyxtQ0FBSSxDQUFDLENBQUE7UUFDeEMsTUFBTSxJQUFJLEdBQUcsTUFBQSxPQUFPLENBQUMsSUFBSSxtQ0FBSSxxQkFBcUIsQ0FBQTtRQUNsRCxPQUFPO1lBQ0gsSUFBSSxhQUFhLGlDQUNWLE9BQU8sS0FDVixTQUFTLEVBQ1QsSUFBSSxFQUFFLEdBQUcsSUFBSSxJQUFJLFNBQVMsR0FBRyxJQUMvQjtZQUNGLElBQUksYUFBYSxpQ0FDVixPQUFPLEtBQ1YsU0FBUyxFQUFFLFNBQVMsR0FBRyxFQUFFLEVBQ3pCLElBQUksRUFBRSxHQUFHLElBQUksSUFBSSxTQUFTLEdBQUcsSUFDL0I7U0FDTCxDQUFBO0lBQ0wsQ0FBQztJQUdELFlBQVksVUFBeUMsRUFBRTs7UUFDbkQsTUFBTSxFQUFFLElBQUksR0FBRyxDQUFDLEVBQUUsUUFBUSxHQUFHLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQTtRQUMxQyxNQUFNLFNBQVMsR0FBWSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDaEUsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQTtRQUM3QixNQUFNLFNB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
@@ -1,5 +1,6 @@
1
1
  import { TgdFilter } from "./filter";
2
2
  export interface TgdFilterChromaticAberrationOptions {
3
+ mode: "horizontal" | "circular";
3
4
  /**
4
5
  * Percentage of displacement of the color or the border of the image.
5
6
  * The blue is push await from the center, and the red is pulled to
@@ -1 +1 @@
1
- {"version":3,"file":"chromatic-aberration.d.ts","sourceRoot":"","sources":["../../src/filter/chromatic-aberration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,MAAM,WAAW,mCAAmC;IAChD;;;;;;;OAOG;IACH,QAAQ,EAAE,MAAM,CAAA;CACnB;AAED,qBAAa,4BAA6B,SAAQ,SAAS;IACvD;;;;;;;OAOG;IACI,QAAQ,SAAI;gBAEP,OAAO,GAAE,OAAO,CAAC,mCAAmC,CAAM;CAoBzE"}
1
+ {"version":3,"file":"chromatic-aberration.d.ts","sourceRoot":"","sources":["../../src/filter/chromatic-aberration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,MAAM,WAAW,mCAAmC;IAChD,IAAI,EAAE,YAAY,GAAG,UAAU,CAAA;IAC/B;;;;;;;OAOG;IACH,QAAQ,EAAE,MAAM,CAAA;CACnB;AAED,qBAAa,4BAA6B,SAAQ,SAAS;IACvD;;;;;;;OAOG;IACI,QAAQ,SAAI;gBAEP,OAAO,GAAE,OAAO,CAAC,mCAAmC,CAAM;CAsBzE"}
@@ -3,8 +3,11 @@ export class TgdFilterChromaticAberration extends TgdFilter {
3
3
  constructor(options = {}) {
4
4
  const { strength = 1 } = options;
5
5
  super({
6
+ name: `TgdFilterChromaticAberration/${TgdFilter.id++}`,
6
7
  fragmentShaderCode: [
7
- "vec2 dir = (varUV - vec2(0.5)) * 0.01 * uniStrength;",
8
+ options.mode === "circular"
9
+ ? "vec2 dir = (varUV - vec2(0.5)) * varPixel * 2.0 * uniStrength;"
10
+ : "vec2 dir = vec2(varPixel.x, 0.0) * uniStrength;",
8
11
  "float r = texture(uniTexture, varUV + dir).r;",
9
12
  "float g = texture(uniTexture, varUV).g;",
10
13
  "float b = texture(uniTexture, varUV - dir).b;",
@@ -15,7 +18,6 @@ export class TgdFilterChromaticAberration extends TgdFilter {
15
18
  },
16
19
  setUniforms: ({ program }) => {
17
20
  program.uniform1f("uniStrength", this.strength);
18
- program.uniform1f("uniInverseHeight", 1 / program.gl.drawingBufferHeight);
19
21
  },
20
22
  });
21
23
  /**
@@ -30,4 +32,4 @@ export class TgdFilterChromaticAberration extends TgdFilter {
30
32
  this.strength = strength;
31
33
  }
32
34
  }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hyb21hdGljLWFiZXJyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmlsdGVyL2Nocm9tYXRpYy1hYmVycmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFjcEMsTUFBTSxPQUFPLDRCQUE2QixTQUFRLFNBQVM7SUFXdkQsWUFBWSxVQUF3RCxFQUFFO1FBQ2xFLE1BQU0sRUFBRSxRQUFRLEdBQUcsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFBO1FBQ2hDLEtBQUssQ0FBQztZQUNGLGtCQUFrQixFQUFFO2dCQUNoQixzREFBc0Q7Z0JBQ3RELCtDQUErQztnQkFDL0MseUNBQXlDO2dCQUN6QywrQ0FBK0M7Z0JBQy9DLCtCQUErQjthQUNsQztZQUNELFFBQVEsRUFBRTtnQkFDTixXQUFXLEVBQUUsT0FBTzthQUN2QjtZQUNELFdBQVcsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtnQkFDekIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO2dCQUMvQyxPQUFPLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUE7WUFDN0UsQ0FBQztTQUNKLENBQUMsQ0FBQTtRQTNCTjs7Ozs7OztXQU9HO1FBQ0ksYUFBUSxHQUFHLENBQUMsQ0FBQTtRQW9CZixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtJQUM1QixDQUFDO0NBQ0oifQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hyb21hdGljLWFiZXJyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmlsdGVyL2Nocm9tYXRpYy1hYmVycmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFlcEMsTUFBTSxPQUFPLDRCQUE2QixTQUFRLFNBQVM7SUFXdkQsWUFBWSxVQUF3RCxFQUFFO1FBQ2xFLE1BQU0sRUFBRSxRQUFRLEdBQUcsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFBO1FBQ2hDLEtBQUssQ0FBQztZQUNGLElBQUksRUFBRSxnQ0FBZ0MsU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ3RELGtCQUFrQixFQUFFO2dCQUNoQixPQUFPLENBQUMsSUFBSSxLQUFLLFVBQVU7b0JBQ3ZCLENBQUMsQ0FBQyxnRUFBZ0U7b0JBQ2xFLENBQUMsQ0FBQyxpREFBaUQ7Z0JBQ3ZELCtDQUErQztnQkFDL0MseUNBQXlDO2dCQUN6QywrQ0FBK0M7Z0JBQy9DLCtCQUErQjthQUNsQztZQUNELFFBQVEsRUFBRTtnQkFDTixXQUFXLEVBQUUsT0FBTzthQUN2QjtZQUNELFdBQVcsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtnQkFDekIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1lBQ25ELENBQUM7U0FDSixDQUFDLENBQUE7UUE3Qk47Ozs7Ozs7V0FPRztRQUNJLGFBQVEsR0FBRyxDQUFDLENBQUE7UUFzQmYsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUE7SUFDNUIsQ0FBQztDQUNKIn0=
@@ -15,7 +15,7 @@ import { WebglUniformType } from "../types";
15
15
  * * `float uniHeight`: height of the texture in pixels.
16
16
  */
17
17
  export declare class TgdFilter {
18
- private static id;
18
+ protected static id: number;
19
19
  name: string;
20
20
  /**
21
21
  * If you need more uniforms, define them here.
@@ -1 +1 @@
1
- {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/filter/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE7C;;;;;;;;;;;;GAYG;AACH,qBAAa,SAAS;IAClB,OAAO,CAAC,MAAM,CAAC,EAAE,CAAI;IAEd,IAAI,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,SAAgB,QAAQ,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAK;IAEnE;;;OAGG;IACH,SAAgB,kBAAkB,EAAE,WAAW,CAAgE;IAE/G,SAAgB,cAAc,EAAE,gBAAgB,GAAG,WAAW,CAAK;IAEnE,SAAgB,WAAW,GAAI,aAAa,8BAA8B,KAAG,IAAI,CAAM;gBAE3E,OAAO,GAAE,OAAO,CAAC,gBAAgB,CAAM;IASnD,wBAAwB;IACxB,MAAM;CACT;AAED,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAA;IAC9C,kBAAkB,EAAE,WAAW,CAAA;IAC/B,cAAc,EAAE,gBAAgB,GAAG,WAAW,CAAA;IAC9C,WAAW,CAAC,UAAU,EAAE,8BAA8B,GAAG,IAAI,CAAA;CAChE;AAED,MAAM,WAAW,8BAA8B;IAC3C,OAAO,EAAE;QAAE,EAAE,EAAE,sBAAsB,CAAA;KAAE,CAAA;IACvC,OAAO,EAAE,UAAU,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CAChB"}
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/filter/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE7C;;;;;;;;;;;;GAYG;AACH,qBAAa,SAAS;IAClB,SAAS,CAAC,MAAM,CAAC,EAAE,SAAI;IAEhB,IAAI,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,SAAgB,QAAQ,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAK;IAEnE;;;OAGG;IACH,SAAgB,kBAAkB,EAAE,WAAW,CAAgE;IAE/G,SAAgB,cAAc,EAAE,gBAAgB,GAAG,WAAW,CAAK;IAEnE,SAAgB,WAAW,GAAI,aAAa,8BAA8B,KAAG,IAAI,CAAM;gBAE3E,OAAO,GAAE,OAAO,CAAC,gBAAgB,CAAM;IASnD,wBAAwB;IACxB,MAAM;CACT;AAED,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAA;IAC9C,kBAAkB,EAAE,WAAW,CAAA;IAC/B,cAAc,EAAE,gBAAgB,GAAG,WAAW,CAAA;IAC9C,WAAW,CAAC,UAAU,EAAE,8BAA8B,GAAG,IAAI,CAAA;CAChE;AAED,MAAM,WAAW,8BAA8B;IAC3C,OAAO,EAAE;QAAE,EAAE,EAAE,sBAAsB,CAAA;KAAE,CAAA;IACvC,OAAO,EAAE,UAAU,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CAChB"}
@@ -41,4 +41,4 @@ export class TgdFilter {
41
41
  delete() { }
42
42
  }
43
43
  TgdFilter.id = 1;
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpbHRlci9maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUE7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBTSxPQUFPLFNBQVM7SUFvQmxCLFlBQVksVUFBcUMsRUFBRTs7UUFoQm5EOzs7V0FHRztRQUNhLGFBQVEsR0FBeUMsRUFBRSxDQUFBO1FBRW5FOzs7V0FHRztRQUNhLHVCQUFrQixHQUFnQixDQUFDLDBDQUEwQyxFQUFFLGVBQWUsQ0FBQyxDQUFBO1FBRS9GLG1CQUFjLEdBQW1DLEVBQUUsQ0FBQTtRQUVuRCxnQkFBVyxHQUFHLENBQUMsV0FBMkMsRUFBUSxFQUFFLEdBQUUsQ0FBQyxDQUFBO1FBR25GLE1BQU0sRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQTtRQUM3RSxJQUFJLFFBQVE7WUFBRSxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtRQUN0QyxJQUFJLGtCQUFrQjtZQUFFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQTtRQUNwRSxJQUFJLGNBQWM7WUFBRSxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQTtRQUN4RCxJQUFJLFdBQVc7WUFBRSxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQTtRQUMvQyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQUEsT0FBTyxDQUFDLElBQUksbUNBQUksYUFBYSxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQTtJQUM3RCxDQUFDO0lBRUQsd0JBQXdCO0lBQ3hCLE1BQU0sS0FBSSxDQUFDOztBQTdCSSxZQUFFLEdBQUcsQ0FBQyxBQUFKLENBQUkifQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpbHRlci9maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUE7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBTSxPQUFPLFNBQVM7SUFvQmxCLFlBQVksVUFBcUMsRUFBRTs7UUFoQm5EOzs7V0FHRztRQUNhLGFBQVEsR0FBeUMsRUFBRSxDQUFBO1FBRW5FOzs7V0FHRztRQUNhLHVCQUFrQixHQUFnQixDQUFDLDBDQUEwQyxFQUFFLGVBQWUsQ0FBQyxDQUFBO1FBRS9GLG1CQUFjLEdBQW1DLEVBQUUsQ0FBQTtRQUVuRCxnQkFBVyxHQUFHLENBQUMsV0FBMkMsRUFBUSxFQUFFLEdBQUUsQ0FBQyxDQUFBO1FBR25GLE1BQU0sRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQTtRQUM3RSxJQUFJLFFBQVE7WUFBRSxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtRQUN0QyxJQUFJLGtCQUFrQjtZQUFFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQTtRQUNwRSxJQUFJLGNBQWM7WUFBRSxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQTtRQUN4RCxJQUFJLFdBQVc7WUFBRSxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQTtRQUMvQyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQUEsT0FBTyxDQUFDLElBQUksbUNBQUksYUFBYSxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQTtJQUM3RCxDQUFDO0lBRUQsd0JBQXdCO0lBQ3hCLE1BQU0sS0FBSSxDQUFDOztBQTdCTSxZQUFFLEdBQUcsQ0FBQyxBQUFKLENBQUkifQ==
@@ -2,7 +2,7 @@ import { TgdFilter } from "./filter.js";
2
2
  export class TgdFilterHueRotation extends TgdFilter {
3
3
  constructor({ hueShiftInDegrees = 0, name } = {}) {
4
4
  super({
5
- name: name !== null && name !== void 0 ? name : "TgdFilterHueRotation",
5
+ name: name !== null && name !== void 0 ? name : `TgdFilterHueRotation/${TgdFilter.id++}`,
6
6
  fragmentShaderCode: [
7
7
  "vec4 color = texture(uniTexture, varUV);",
8
8
  "vec3 rgb = color.rgb;",
@@ -40,4 +40,4 @@ export class TgdFilterHueRotation extends TgdFilter {
40
40
  this.hueShift = (v * Math.PI) / 180;
41
41
  }
42
42
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVlLXJvdGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpbHRlci9odWUtcm90YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBa0MsTUFBTSxVQUFVLENBQUE7QUFFcEUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFNBQVM7SUFHL0MsWUFBWSxFQUFFLGlCQUFpQixHQUFHLENBQUMsRUFBRSxJQUFJLEtBQTJELEVBQUU7UUFDbEcsS0FBSyxDQUFDO1lBQ0YsSUFBSSxFQUFFLElBQUksYUFBSixJQUFJLGNBQUosSUFBSSxHQUFJLHNCQUFzQjtZQUNwQyxrQkFBa0IsRUFBRTtnQkFDaEIsMENBQTBDO2dCQUMxQyx1QkFBdUI7Z0JBQ3ZCLDBDQUEwQztnQkFDMUMsb0NBQW9DO2dCQUNwQyxtQkFBbUI7Z0JBQ25CO29CQUNJLGlCQUFpQjtvQkFDakIscUNBQXFDO29CQUNyQyx1Q0FBdUM7b0JBQ3ZDLFNBQVM7aUJBQ1o7Z0JBQ0QsSUFBSTthQUNQO1lBQ0QsUUFBUSxFQUFFO2dCQUNOLFdBQVcsRUFBRSxPQUFPO2FBQ3ZCO1NBQ0osQ0FBQyxDQUFBO1FBdEJFLGFBQVEsR0FBRyxDQUFDLENBQUE7UUF3Q0osZ0JBQVcsR0FBRyxDQUFDLEVBQUUsT0FBTyxFQUFrQyxFQUFRLEVBQUU7WUFDaEYsT0FBTyxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ25ELENBQUMsQ0FBQTtRQW5CRyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUE7SUFDOUMsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQTtJQUN4QixDQUFDO0lBQ0QsSUFBSSxpQkFBaUIsQ0FBQyxDQUFTO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFBO0lBQ3JCLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFBO0lBQzFDLENBQUM7SUFDRCxJQUFJLGlCQUFpQixDQUFDLENBQVM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFBO0lBQ3ZDLENBQUM7Q0FLSiJ9
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVlLXJvdGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpbHRlci9odWUtcm90YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBa0MsTUFBTSxVQUFVLENBQUE7QUFFcEUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFNBQVM7SUFHL0MsWUFBWSxFQUFFLGlCQUFpQixHQUFHLENBQUMsRUFBRSxJQUFJLEtBQTJELEVBQUU7UUFDbEcsS0FBSyxDQUFDO1lBQ0YsSUFBSSxFQUFFLElBQUksYUFBSixJQUFJLGNBQUosSUFBSSxHQUFJLHdCQUF3QixTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDdEQsa0JBQWtCLEVBQUU7Z0JBQ2hCLDBDQUEwQztnQkFDMUMsdUJBQXVCO2dCQUN2QiwwQ0FBMEM7Z0JBQzFDLG9DQUFvQztnQkFDcEMsbUJBQW1CO2dCQUNuQjtvQkFDSSxpQkFBaUI7b0JBQ2pCLHFDQUFxQztvQkFDckMsdUNBQXVDO29CQUN2QyxTQUFTO2lCQUNaO2dCQUNELElBQUk7YUFDUDtZQUNELFFBQVEsRUFBRTtnQkFDTixXQUFXLEVBQUUsT0FBTzthQUN2QjtTQUNKLENBQUMsQ0FBQTtRQXRCRSxhQUFRLEdBQUcsQ0FBQyxDQUFBO1FBd0NKLGdCQUFXLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBa0MsRUFBUSxFQUFFO1lBQ2hGLE9BQU8sQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNuRCxDQUFDLENBQUE7UUFuQkcsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFBO0lBQzlDLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDeEIsQ0FBQztJQUNELElBQUksaUJBQWlCLENBQUMsQ0FBUztRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQTtJQUNyQixDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQTtJQUMxQyxDQUFDO0lBQ0QsSUFBSSxpQkFBaUIsQ0FBQyxDQUFTO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQTtJQUN2QyxDQUFDO0NBS0oifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"multiply.d.ts","sourceRoot":"","sources":["../../src/filter/multiply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,SAAS;IAC5C,SAAgB,KAAK,UAA0B;gBAEnC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,GAAG,YAAY,CAAA;KAAE;CAmB5D"}
1
+ {"version":3,"file":"multiply.d.ts","sourceRoot":"","sources":["../../src/filter/multiply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,SAAS;IAC5C,SAAgB,KAAK,UAA0B;gBAEnC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,GAAG,YAAY,CAAA;KAAE;CAoB5D"}
@@ -6,6 +6,7 @@ import { TgdFilter } from "./filter.js";
6
6
  export class TgdFilterMultiply extends TgdFilter {
7
7
  constructor({ color }) {
8
8
  super({
9
+ name: `TgdFilterMultiply/${TgdFilter.id++}`,
9
10
  fragmentShaderCode: [
10
11
  "vec2 uv = varUV;",
11
12
  "vec4 color = texture(uniTexture, uv);",
@@ -25,4 +26,4 @@ export class TgdFilterMultiply extends TgdFilter {
25
26
  }
26
27
  }
27
28
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmlsdGVyL211bHRpcGx5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUVwQzs7R0FFRztBQUNILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxTQUFTO0lBRzVDLFlBQVksRUFBRSxLQUFLLEVBQXNDO1FBQ3JELEtBQUssQ0FBQztZQUNGLGtCQUFrQixFQUFFO2dCQUNoQixrQkFBa0I7Z0JBQ2xCLHVDQUF1QztnQkFDdkMsK0JBQStCO2FBQ2xDO1lBQ0QsUUFBUSxFQUFFO2dCQUNOLFFBQVEsRUFBRSxNQUFNO2FBQ25CO1lBQ0QsV0FBVyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3BCLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDckQsQ0FBQztTQUNKLENBQUMsQ0FBQTtRQWZVLFVBQUssR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQWdCM0MsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUE7WUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDaEMsQ0FBQztJQUNMLENBQUM7Q0FDSiJ9
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmlsdGVyL211bHRpcGx5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUVwQzs7R0FFRztBQUNILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxTQUFTO0lBRzVDLFlBQVksRUFBRSxLQUFLLEVBQXNDO1FBQ3JELEtBQUssQ0FBQztZQUNGLElBQUksRUFBRSxxQkFBcUIsU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQzNDLGtCQUFrQixFQUFFO2dCQUNoQixrQkFBa0I7Z0JBQ2xCLHVDQUF1QztnQkFDdkMsK0JBQStCO2FBQ2xDO1lBQ0QsUUFBUSxFQUFFO2dCQUNOLFFBQVEsRUFBRSxNQUFNO2FBQ25CO1lBQ0QsV0FBVyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3BCLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDckQsQ0FBQztTQUNKLENBQUMsQ0FBQTtRQWhCVSxVQUFLLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFpQjNDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFBO1lBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ2hDLENBQUM7SUFDTCxDQUFDO0NBQ0oifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"verbatim.d.ts","sourceRoot":"","sources":["../../src/filter/verbatim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,SAAS;;CAM/C"}
1
+ {"version":3,"file":"verbatim.d.ts","sourceRoot":"","sources":["../../src/filter/verbatim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,SAAS;;CAO/C"}
@@ -5,8 +5,9 @@ import { TgdFilter } from "./filter.js";
5
5
  export class TgdFilterVerbatim extends TgdFilter {
6
6
  constructor() {
7
7
  super({
8
+ name: `TgdFilterVerbatim/${TgdFilter.id++}`,
8
9
  fragmentShaderCode: ["vec2 uv = varUV;", "vec4 color = texture(uniTexture, uv);", "FragColor = color;"],
9
10
  });
10
11
  }
11
12
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyYmF0aW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmlsdGVyL3ZlcmJhdGltLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFFcEM7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsU0FBUztJQUM1QztRQUNJLEtBQUssQ0FBQztZQUNGLGtCQUFrQixFQUFFLENBQUMsa0JBQWtCLEVBQUUsdUNBQXVDLEVBQUUsb0JBQW9CLENBQUM7U0FDMUcsQ0FBQyxDQUFBO0lBQ04sQ0FBQztDQUNKIn0=
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyYmF0aW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmlsdGVyL3ZlcmJhdGltLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFFcEM7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsU0FBUztJQUM1QztRQUNJLEtBQUssQ0FBQztZQUNGLElBQUksRUFBRSxxQkFBcUIsU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQzNDLGtCQUFrQixFQUFFLENBQUMsa0JBQWtCLEVBQUUsdUNBQXVDLEVBQUUsb0JBQW9CLENBQUM7U0FDMUcsQ0FBQyxDQUFBO0lBQ04sQ0FBQztDQUNKIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"zoom.d.ts","sourceRoot":"","sources":["../../src/filter/zoom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,8BAA8B,IAAI,8BAA8B,EAAE,MAAM,UAAU,CAAA;AAEtG,qBAAa,aAAc,SAAQ,SAAS;IACjC,IAAI,SAAI;IACf,SAAgB,WAAW,EAAE,OAAO,CAAA;gBAExB,EAAE,IAAQ,EAAE,GAAE,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAM;IAgBxD,SAAgB,WAAW,GAAI,aAAa,8BAA8B,KAAG,IAAI,CAGhF;CACJ"}
1
+ {"version":3,"file":"zoom.d.ts","sourceRoot":"","sources":["../../src/filter/zoom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,8BAA8B,IAAI,8BAA8B,EAAE,MAAM,UAAU,CAAA;AAEtG,qBAAa,aAAc,SAAQ,SAAS;IACjC,IAAI,SAAI;IACf,SAAgB,WAAW,EAAE,OAAO,CAAA;gBAExB,EAAE,IAAQ,EAAE,GAAE,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAM;IAiBxD,SAAgB,WAAW,GAAI,aAAa,8BAA8B,KAAG,IAAI,CAGhF;CACJ"}
@@ -3,8 +3,9 @@ import { TgdFilter } from "./filter.js";
3
3
  export class TgdFilterZoom extends TgdFilter {
4
4
  constructor({ zoom = 1 } = {}) {
5
5
  super({
6
+ name: `TgdFilterZoom/${TgdFilter.id++}`,
6
7
  fragmentShaderCode: [
7
- "vec2 uv = (varUV - vec2(0.5) - uniTranslation) * uniZoom + vec2(0.5);",
8
+ "vec2 uv = (varUV - vec2(0.5)) * uniZoom + uniTranslation + vec2(0.5);",
8
9
  "vec4 color = texture(uniTexture, uv);",
9
10
  "FragColor = color;",
10
11
  ],
@@ -16,10 +17,10 @@ export class TgdFilterZoom extends TgdFilter {
16
17
  this.zoom = 1;
17
18
  this.setUniforms = ({ program }) => {
18
19
  program.uniform1f("uniZoom", 1 / this.zoom);
19
- program.uniform2f("uniTranslation", this.translation.x, this.translation.y);
20
+ program.uniform2fv("uniTranslation", this.translation);
20
21
  };
21
22
  this.zoom = zoom;
22
23
  this.translation = new TgdVec2();
23
24
  }
24
25
  }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWx0ZXIvem9vbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ2pDLE9BQU8sRUFBRSxTQUFTLEVBQW9FLE1BQU0sVUFBVSxDQUFBO0FBRXRHLE1BQU0sT0FBTyxhQUFjLFNBQVEsU0FBUztJQUl4QyxZQUFZLEVBQUUsSUFBSSxHQUFHLENBQUMsS0FBZ0MsRUFBRTtRQUNwRCxLQUFLLENBQUM7WUFDRixrQkFBa0IsRUFBRTtnQkFDaEIsdUVBQXVFO2dCQUN2RSx1Q0FBdUM7Z0JBQ3ZDLG9CQUFvQjthQUN2QjtZQUNELFFBQVEsRUFBRTtnQkFDTixPQUFPLEVBQUUsT0FBTztnQkFDaEIsY0FBYyxFQUFFLE1BQU07YUFDekI7U0FDSixDQUFDLENBQUE7UUFkQyxTQUFJLEdBQUcsQ0FBQyxDQUFBO1FBbUJDLGdCQUFXLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBa0MsRUFBUSxFQUFFO1lBQ2hGLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDM0MsT0FBTyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQy9FLENBQUMsQ0FBQTtRQVBHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtJQUNwQyxDQUFDO0NBTUoifQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWx0ZXIvem9vbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ2pDLE9BQU8sRUFBRSxTQUFTLEVBQW9FLE1BQU0sVUFBVSxDQUFBO0FBRXRHLE1BQU0sT0FBTyxhQUFjLFNBQVEsU0FBUztJQUl4QyxZQUFZLEVBQUUsSUFBSSxHQUFHLENBQUMsS0FBZ0MsRUFBRTtRQUNwRCxLQUFLLENBQUM7WUFDRixJQUFJLEVBQUUsaUJBQWlCLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUN2QyxrQkFBa0IsRUFBRTtnQkFDaEIsdUVBQXVFO2dCQUN2RSx1Q0FBdUM7Z0JBQ3ZDLG9CQUFvQjthQUN2QjtZQUNELFFBQVEsRUFBRTtnQkFDTixPQUFPLEVBQUUsT0FBTztnQkFDaEIsY0FBYyxFQUFFLE1BQU07YUFDekI7U0FDSixDQUFDLENBQUE7UUFmQyxTQUFJLEdBQUcsQ0FBQyxDQUFBO1FBb0JDLGdCQUFXLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBa0MsRUFBUSxFQUFFO1lBQ2hGLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDM0MsT0FBTyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDMUQsQ0FBQyxDQUFBO1FBUEcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7UUFDaEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFBO0lBQ3BDLENBQUM7Q0FNSiJ9
@@ -93,7 +93,14 @@ function coords(definition, center, ...sizes) {
93
93
  return out;
94
94
  }
95
95
  // prettier-ignore
96
- const FACE_UV = [0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0];
96
+ const FACE_UV = [
97
+ 1, 1,
98
+ 1, 0,
99
+ 0, 1,
100
+ 0, 0,
101
+ 0, 1,
102
+ 1, 0,
103
+ ];
97
104
  const W3x2 = 1 / 3;
98
105
  const H3x2 = 1 / 2;
99
106
  function face3x2(col, row) {
@@ -129,4 +136,4 @@ const ZP = [0, 0, 1];
129
136
  const ZP6 = [...ZP, ...ZP, ...ZP, ...ZP, ...ZP, ...ZP];
130
137
  const ZN = [0, 0, -1];
131
138
  const ZN6 = [...ZN, ...ZN, ...ZN, ...ZN, ...ZN, ...ZN];
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2dlb21ldHJ5L2JveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBR3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFVeEMsTUFBTSxPQUFPLGNBQWUsU0FBUSxXQUFXO0lBQzNDLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBaUIsRUFBRSxHQUFpQjtRQUN2RCxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUE7UUFDOUIsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFBO1FBQzlCLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUE7UUFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQTtRQUN6QixNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ3pCLE1BQU0sUUFBUSxHQUFHLElBQUksY0FBYyxDQUFDO1lBQ2hDLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3BFLENBQUMsQ0FBQTtRQUNGLE9BQU8sUUFBUSxDQUFBO0lBQ25CLENBQUM7SUFFRCxZQUFZLEVBQ1IsS0FBSyxHQUFHLENBQUMsRUFDVCxLQUFLLEdBQUcsQ0FBQyxFQUNULEtBQUssR0FBRyxDQUFDLEVBQ1QsR0FBRyxHQUFHLGdCQUFnQixFQUN0QixNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMs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QUFFLENBQUMsQ0FBQztnQkFDaEIsR0FBRyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDaEIsR0FBRyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDaEIsR0FBRyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDaEIsR0FBRyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDaEIsR0FBRyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNoQixDQUFBO0lBQ0EsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFDcEIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFBO0FBQ3RELE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQTtBQUN0RCxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFDcEIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFBO0FBQ3RELE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQTtBQUN0RCxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFDcEIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFBO0FBQ3RELE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ3JCLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQSJ9
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2dlb21ldHJ5L2JveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBR3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFVeEMsTUFBTSxPQUFPLGNBQWUsU0FBUSxXQUFXO0lBQzNDLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBaUIsRUFBRSxHQUFpQjtRQUN2RCxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUE7UUFDOUIsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFBO1FBQzlCLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUE7UUFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQTtRQUN6QixNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ3pCLE1BQU0sUUFBUSxHQUFHLElBQUksY0FBYyxDQUFDO1lBQ2hDLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3BFLENBQUMsQ0FBQTtRQUNGLE9BQU8sUUFBUSxDQUFBO0lBQ25CLENBQUM7SUFFRCxZQUFZLEVBQ1IsS0FBSyxHQUFHLENBQUMsRUFDVCxLQUFLLEdBQUcsQ0FBQyxFQUNULEtBQUssR0FBRyxDQUFDLEVBQ1QsR0FBRyxHQUFHLGdCQUFnQixFQUN0QixNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMs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QUUsQ0FBQyxDQUFDO2dCQUNoQixHQUFHLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNoQixHQUFHLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNoQixHQUFHLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNoQixHQUFHLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNoQixHQUFHLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2hCLENBQUE7SUFDQSxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUNwQixNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUE7QUFDdEQsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFDckIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFBO0FBQ3RELE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUNwQixNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUE7QUFDdEQsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFDckIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFBO0FBQ3RELE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUNwQixNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUE7QUFDdEQsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDckIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFBIn0=
@@ -1,8 +1,8 @@
1
1
  import { TgdVec3, TgdVec4 } from "../math";
2
- import { ArrayNumber4 } from "../types";
2
+ import { ArrayNumber3, ArrayNumber4 } from "../types";
3
3
  export interface TgdLightOptions {
4
4
  color: TgdVec4 | ArrayNumber4;
5
- direction: TgdVec3;
5
+ direction: TgdVec3 | ArrayNumber3;
6
6
  }
7
7
  export declare class TgdLight {
8
8
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../../src/light/light.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,OAAO,GAAG,YAAY,CAAA;IAC7B,SAAS,EAAE,OAAO,CAAA;CACrB;AAED,qBAAa,QAAQ;IACjB;;OAEG;IACI,KAAK,EAAE,OAAO,CAAA;IAErB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;gBAE/B,OAAO,GAAE,OAAO,CAAC,eAAe,CAAM;IAKlD,IAAI,SAAS,IAGI,OAAO,CADvB;IACD,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO,EAEvB;CACJ"}
1
+ {"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../../src/light/light.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGvD,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,OAAO,GAAG,YAAY,CAAA;IAC7B,SAAS,EAAE,OAAO,GAAG,YAAY,CAAA;CACpC;AAED,qBAAa,QAAQ;IACjB;;OAEG;IACI,KAAK,EAAE,OAAO,CAAA;IAErB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;gBAE/B,OAAO,GAAE,OAAO,CAAC,eAAe,CAAM;IAKlD,IAAI,SAAS,IAGI,OAAO,CADvB;IACD,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO,EAEvB;CACJ"}
@@ -1,10 +1,11 @@
1
1
  import { TgdVec3, TgdVec4 } from "./../math/index.js";
2
+ import { ensureTgdVec3 } from "./../utils/index.js";
2
3
  export class TgdLight {
3
4
  constructor(options = {}) {
4
5
  var _a;
5
6
  this._direction = new TgdVec3();
6
7
  this.color = options.color ? new TgdVec4(options.color) : new TgdVec4(0.8, 0.8, 0.8, 1);
7
- this.direction = (_a = options.direction) !== null && _a !== void 0 ? _a : new TgdVec3(0, 0, -1);
8
+ this.direction = ensureTgdVec3((_a = options.direction) !== null && _a !== void 0 ? _a : new TgdVec3(0, 0, -1));
8
9
  }
9
10
  get direction() {
10
11
  return this._direction;
@@ -13,4 +14,4 @@ export class TgdLight {
13
14
  this._direction.from(v).normalize();
14
15
  }
15
16
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGlnaHQvbGlnaHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFRNUMsTUFBTSxPQUFPLFFBQVE7SUFRakIsWUFBWSxVQUFvQyxFQUFFOztRQUZqQyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtRQUd2QyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDdkYsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFBLE9BQU8sQ0FBQyxTQUFTLG1DQUFJLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMvRCxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFBO0lBQzFCLENBQUM7SUFDRCxJQUFJLFNBQVMsQ0FBQyxDQUFVO1FBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFBO0lBQ3ZDLENBQUM7Q0FDSiJ9
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGlnaHQvbGlnaHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQU8xQyxNQUFNLE9BQU8sUUFBUTtJQVFqQixZQUFZLFVBQW9DLEVBQUU7O1FBRmpDLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFBO1FBR3ZDLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUN2RixJQUFJLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQyxNQUFBLE9BQU8sQ0FBQyxTQUFTLG1DQUFJLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzlFLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUE7SUFDMUIsQ0FBQztJQUNELElBQUksU0FBUyxDQUFDLENBQVU7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUE7SUFDdkMsQ0FBQztDQUNKIn0=
@@ -3,7 +3,7 @@ import { TgdPainter } from "../painter";
3
3
  import { TgdTexture2D } from "../../texture";
4
4
  import { TgdContext } from "../../context";
5
5
  export interface TgdPainterFilterOptions {
6
- filters: TgdFilter[];
6
+ filters?: TgdFilter[];
7
7
  texture?: TgdTexture2D;
8
8
  z?: number;
9
9
  name?: string;
@@ -11,17 +11,12 @@ export interface TgdPainterFilterOptions {
11
11
  }
12
12
  export declare class TgdPainterFilter extends TgdPainter {
13
13
  readonly context: TgdContext;
14
- texture?: TgdTexture2D;
15
14
  z: number;
16
15
  flipY: boolean;
17
16
  private readonly programs;
18
17
  private readonly filters;
19
18
  private readonly vaos;
20
- private readonly framebuffer;
21
- private textureInput;
22
- private textureOutput;
23
- private textureToDelete;
24
- private filterIndex;
19
+ private readonly framebuffers;
25
20
  constructor(context: TgdContext, options: TgdPainterFilterOptions);
26
21
  delete(): void;
27
22
  paint(time: number, delta: number): void;
@@ -1 +1 @@
1
- {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/painter/filter/filter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAI3C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,WAAW,uBAAuB;IACpC,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,qBAAa,gBAAiB,SAAQ,UAAU;aAexB,OAAO,EAAE,UAAU;IAdhC,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,CAAC,SAAI;IACL,KAAK,EAAE,OAAO,CAAA;IAErB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,eAAe,CAAsC;IAC7D,OAAO,CAAC,WAAW,CAAI;gBAGH,OAAO,EAAE,UAAU,EACnC,OAAO,EAAE,uBAAuB;IAmEpC,MAAM,IAAI,IAAI;IAQd,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAwBxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAsB9B;CACJ"}
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/painter/filter/filter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAIzC,MAAM,WAAW,uBAAuB;IACpC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,qBAAa,gBAAiB,SAAQ,UAAU;aAUxB,OAAO,EAAE,UAAU;IAThC,CAAC,SAAI;IACL,KAAK,EAAE,OAAO,CAAA;IAErB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;gBAGvB,OAAO,EAAE,UAAU,EACnC,OAAO,EAAE,uBAAuB;IA4DpC,MAAM,IAAI,IAAI;IAOd,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAuBxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAiB9B;CACJ"}