@tolokoban/tgd 2.0.135 → 2.0.137

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 (68) hide show
  1. package/README.md +19 -0
  2. package/lib/dist/context/context.d.ts +4 -1
  3. package/lib/dist/context/context.d.ts.map +1 -1
  4. package/lib/dist/context/context.js +22 -13
  5. package/lib/dist/context/extensions.d.ts +174 -0
  6. package/lib/dist/context/extensions.d.ts.map +1 -0
  7. package/lib/dist/context/extensions.js +41 -0
  8. package/lib/dist/controller/camera/orbit.js +3 -3
  9. package/lib/dist/dataset/dataset.d.ts +2 -0
  10. package/lib/dist/dataset/dataset.d.ts.map +1 -1
  11. package/lib/dist/dataset/dataset.js +16 -1
  12. package/lib/dist/filter/filter.d.ts +5 -4
  13. package/lib/dist/filter/filter.d.ts.map +1 -1
  14. package/lib/dist/filter/filter.js +7 -4
  15. package/lib/dist/geometry/geometry.d.ts +2 -0
  16. package/lib/dist/geometry/geometry.d.ts.map +1 -1
  17. package/lib/dist/geometry/geometry.js +16 -2
  18. package/lib/dist/geometry/tools/index.d.ts +1 -0
  19. package/lib/dist/geometry/tools/index.d.ts.map +1 -1
  20. package/lib/dist/geometry/tools/index.js +2 -1
  21. package/lib/dist/geometry/tools/join.d.ts +8 -0
  22. package/lib/dist/geometry/tools/join.d.ts.map +1 -0
  23. package/lib/dist/geometry/tools/join.js +134 -0
  24. package/lib/dist/input/pointer.d.ts.map +1 -1
  25. package/lib/dist/input/pointer.js +6 -5
  26. package/lib/dist/material/flat-texture.d.ts +1 -1
  27. package/lib/dist/material/flat-texture.d.ts.map +1 -1
  28. package/lib/dist/material/flat-texture.js +1 -1
  29. package/lib/dist/painter/filter/filter.d.ts +1 -0
  30. package/lib/dist/painter/filter/filter.d.ts.map +1 -1
  31. package/lib/dist/painter/filter/filter.js +29 -3
  32. package/lib/dist/painter/framebuffer.d.ts.map +1 -1
  33. package/lib/dist/painter/framebuffer.js +2 -3
  34. package/lib/dist/painter/group.d.ts.map +1 -1
  35. package/lib/dist/painter/group.js +11 -4
  36. package/lib/dist/painter/overlay/overlay.d.ts.map +1 -1
  37. package/lib/dist/painter/overlay/overlay.js +8 -10
  38. package/lib/dist/painter/painter.d.ts +3 -2
  39. package/lib/dist/painter/painter.d.ts.map +1 -1
  40. package/lib/dist/painter/painter.js +13 -5
  41. package/lib/dist/painter/particles/particles.d.ts +4 -1
  42. package/lib/dist/painter/particles/particles.d.ts.map +1 -1
  43. package/lib/dist/painter/particles/particles.js +27 -6
  44. package/lib/dist/painter/program.js +4 -19
  45. package/lib/dist/texture/texture-depth.d.ts +2 -2
  46. package/lib/dist/texture/texture-depth.d.ts.map +1 -1
  47. package/lib/dist/texture/texture-depth.js +11 -13
  48. package/lib/dist/texture/texture2d.d.ts +11 -7
  49. package/lib/dist/texture/texture2d.d.ts.map +1 -1
  50. package/lib/dist/texture/texture2d.js +141 -79
  51. package/lib/dist/types/elements.d.ts +1 -0
  52. package/lib/dist/types/elements.d.ts.map +1 -1
  53. package/lib/dist/types/elements.js +10 -1
  54. package/lib/dist/utils/id.d.ts +2 -0
  55. package/lib/dist/utils/id.d.ts.map +1 -0
  56. package/lib/dist/utils/id.js +5 -0
  57. package/lib/dist/utils/index.d.ts +5 -2
  58. package/lib/dist/utils/index.d.ts.map +1 -1
  59. package/lib/dist/utils/index.js +6 -3
  60. package/lib/dist/utils/texture.d.ts +5 -0
  61. package/lib/dist/utils/texture.d.ts.map +1 -0
  62. package/lib/dist/utils/texture.js +17 -0
  63. package/lib/dist/utils/value.d.ts +12 -0
  64. package/lib/dist/utils/value.d.ts.map +1 -0
  65. package/lib/dist/utils/value.js +31 -0
  66. package/lib/dist/version.d.ts +1 -1
  67. package/lib/dist/version.js +1 -1
  68. package/package.json +2 -2
@@ -1,13 +1,22 @@
1
1
  import { TgdLogger } from "./../log.js";
2
+ import { nextId } from "./../utils/id.js";
2
3
  export class TgdPainter {
3
- constructor() {
4
- this.id = TgdPainter.counter++;
4
+ constructor(name) {
5
+ this.id = nextId();
5
6
  /**
6
7
  * This attribute has no other purpose than debugging.
7
8
  * Its value is not used by Tgd.
8
9
  */
9
- this.name = `Painter/${this.id}`;
10
+ this.name = `${this.id} Painter`;
10
11
  this.active = true;
12
+ if (name)
13
+ this.name = `${this.id} ${name}`;
14
+ }
15
+ get nameUniq() {
16
+ const { name, id } = this;
17
+ if (name.startsWith(id))
18
+ return name;
19
+ return `${id} ${name}`;
11
20
  }
12
21
  get hierarchy() {
13
22
  return {
@@ -19,5 +28,4 @@ export class TgdPainter {
19
28
  }
20
29
  }
21
30
  TgdPainter.log = new TgdLogger();
22
- TgdPainter.counter = 0;
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYWludGVyL3BhaW50ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUlwQyxNQUFNLE9BQWdCLFVBQVU7SUFBaEM7UUFLb0IsT0FBRSxHQUFHLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUV6Qzs7O1dBR0c7UUFDSSxTQUFJLEdBQUcsV0FBVyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUE7UUFFM0IsV0FBTSxHQUFHLElBQUksQ0FBQTtJQWV4QixDQUFDO0lBVEcsSUFBSSxTQUFTO1FBQ1QsT0FBTztZQUNILENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxhQUFhLENBQUMsRUFBRSxJQUFJO1NBQzlELENBQUE7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQWdCO1FBQ2xCLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksVUFBVSxJQUFJLENBQUMsRUFBRSxhQUFhLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO0lBQ3RGLENBQUM7O0FBMUJlLGNBQUcsR0FBRyxJQUFJLFNBQVMsRUFBRSxBQUFsQixDQUFrQjtBQUVwQixrQkFBTyxHQUFHLENBQUMsQUFBSixDQUFJIn0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYWludGVyL3BhaW50ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBSXRDLE1BQU0sT0FBZ0IsVUFBVTtJQWE1QixZQUFZLElBQWE7UUFWVCxPQUFFLEdBQUcsTUFBTSxFQUFFLENBQUE7UUFFN0I7OztXQUdHO1FBQ0ksU0FBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsVUFBVSxDQUFBO1FBRTNCLFdBQU0sR0FBRyxJQUFJLENBQUE7UUFHaEIsSUFBSSxJQUFJO1lBQUUsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUE7SUFDOUMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ3pCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQTtRQUNwQyxPQUFPLEdBQUcsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFBO0lBQzFCLENBQUM7SUFNRCxJQUFJLFNBQVM7UUFDVCxPQUFPO1lBQ0gsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLGFBQWEsQ0FBQyxFQUFFLElBQUk7U0FDOUQsQ0FBQTtJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBZ0I7UUFDbEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxVQUFVLElBQUksQ0FBQyxFQUFFLGFBQWEsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUE7SUFDdEYsQ0FBQzs7QUFsQ2UsY0FBRyxHQUFHLElBQUksU0FBUyxFQUFFLEFBQWxCLENBQWtCIn0=
@@ -3,6 +3,7 @@ import { TgdShaderFragment, TgdShaderVertex } from "../../shader";
3
3
  import { TgdPainter } from "../painter";
4
4
  import { TgdContext } from "../../context";
5
5
  import { TgdProgram } from "../../program";
6
+ import { TgdTexture2D, TgdTextureCube } from "../../texture";
6
7
  export interface TgdPainterParticlesUniformsContext {
7
8
  time: number;
8
9
  delta: number;
@@ -16,6 +17,7 @@ export interface TgdPainterParticlesOptions {
16
17
  vert: TgdShaderVertex;
17
18
  frag: TgdShaderFragment;
18
19
  };
20
+ textures?: Record<string, TgdTexture2D | TgdTextureCube>;
19
21
  setUniforms?(options: TgdPainterParticlesUniformsContext): void;
20
22
  prefixAttribute?: string;
21
23
  prefixVarying?: string;
@@ -26,11 +28,12 @@ export declare class TgdPainterParticles extends TgdPainter {
26
28
  readonly count: number;
27
29
  drawMode: "POINTS" | "LINES" | "TRIANGLES";
28
30
  setUniforms?: (options: TgdPainterParticlesUniformsContext) => void;
31
+ private readonly textures;
29
32
  private readonly vaos;
30
33
  private readonly buffers;
31
34
  private readonly prg;
32
35
  private pingPong;
33
- constructor(context: TgdContext, { name, dataset, shader, drawMode, setUniforms, prefixAttribute, prefixVarying, }: TgdPainterParticlesOptions);
36
+ constructor(context: TgdContext, { name, dataset, shader, drawMode, textures, setUniforms, prefixAttribute, prefixVarying, }: TgdPainterParticlesOptions);
34
37
  paint(time: number, delta: number): void;
35
38
  delete(): void;
36
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"particles.d.ts","sourceRoot":"","sources":["../../../src/painter/particles/particles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,MAAM,WAAW,kCAAkC;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,UAAU,CAAA;CAClB;AAED,MAAM,WAAW,0BAA0B;IACvC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,UAAU,CAAA;IACnB,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAA;IAC1C,MAAM,EAAE;QACJ,IAAI,EAAE,eAAe,CAAA;QACrB,IAAI,EAAE,iBAAiB,CAAA;KAC1B,CAAA;IACD,WAAW,CAAC,CAAC,OAAO,EAAE,kCAAkC,GAAG,IAAI,CAAA;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,qBAAa,mBAAoB,SAAQ,UAAU;aAe3B,OAAO,EAAE,UAAU;IAdvC,SAAS,CAAC,MAAM,CAAC,OAAO,SAAI;IAE5B,SAAgB,KAAK,EAAE,MAAM,CAAA;IAEtB,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAA;IAE1C,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,kCAAkC,KAAK,IAAI,CAAA;IAE1E,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkC;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAI;gBAGA,OAAO,EAAE,UAAU,EACnC,EACI,IAAI,EACJ,OAAO,EACP,MAAM,EACN,QAAQ,EACR,WAAW,EACX,eAAuB,EACvB,aAAqB,GACxB,EAAE,0BAA0B;IA0DjC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAoBxC,MAAM,IAAI,IAAI;CAajB"}
1
+ {"version":3,"file":"particles.d.ts","sourceRoot":"","sources":["../../../src/painter/particles/particles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE3D,MAAM,WAAW,kCAAkC;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,UAAU,CAAA;CAClB;AAED,MAAM,WAAW,0BAA0B;IACvC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,UAAU,CAAA;IACnB,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAA;IAC1C,MAAM,EAAE;QACJ,IAAI,EAAE,eAAe,CAAA;QACrB,IAAI,EAAE,iBAAiB,CAAA;KAC1B,CAAA;IACD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAAC,CAAA;IACxD,WAAW,CAAC,CAAC,OAAO,EAAE,kCAAkC,GAAG,IAAI,CAAA;IAC/D,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,qBAAa,mBAAoB,SAAQ,UAAU;aAgB3B,OAAO,EAAE,UAAU;IAfvC,SAAS,CAAC,MAAM,CAAC,OAAO,SAAI;IAE5B,SAAgB,KAAK,EAAE,MAAM,CAAA;IAEtB,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAA;IAE1C,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,kCAAkC,KAAK,IAAI,CAAA;IAE1E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+C;IACxE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkC;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAI;gBAGA,OAAO,EAAE,UAAU,EACnC,EACI,IAAI,EACJ,OAAO,EACP,MAAM,EACN,QAAQ,EACR,QAAa,EACb,WAAW,EACX,eAAuB,EACvB,aAAqB,GACxB,EAAE,0BAA0B;IA0EjC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAyBxC,MAAM,IAAI,IAAI;CAajB"}
@@ -1,13 +1,14 @@
1
1
  import { TgdPainter } from "../painter.js";
2
- import { resolveErrorMessage } from "./../../utils/index.js";
2
+ import { resolveErrorMessage, tgdTextureRecordToUniforms } from "./../../utils/index.js";
3
3
  import { TgdProgram } from "./../../program/index.js";
4
4
  import { TgdVertexArray } from "./../../vao/index.js";
5
5
  export class TgdPainterParticles extends TgdPainter {
6
- constructor(context, { name, dataset, shader, drawMode, setUniforms, prefixAttribute = "att", prefixVarying = "var", }) {
6
+ constructor(context, { name, dataset, shader, drawMode, textures = {}, setUniforms, prefixAttribute = "att", prefixVarying = "var", }) {
7
7
  super();
8
8
  this.context = context;
9
9
  this.pingPong = 0;
10
10
  this.name = name ?? `TgdPainterParticles#${TgdPainterParticles.counter++}`;
11
+ this.textures = textures;
11
12
  this.setUniforms = setUniforms;
12
13
  this.drawMode = drawMode;
13
14
  try {
@@ -15,6 +16,15 @@ export class TgdPainterParticles extends TgdPainter {
15
16
  const varyings = [];
16
17
  const vert = shader.vert.clone();
17
18
  const frag = shader.frag.clone();
19
+ const uniformsForTextures = tgdTextureRecordToUniforms(textures);
20
+ vert.uniforms = {
21
+ ...vert.uniforms,
22
+ ...uniformsForTextures,
23
+ };
24
+ frag.uniforms = {
25
+ ...frag.uniforms,
26
+ ...uniformsForTextures,
27
+ };
18
28
  for (const attName of Object.keys(vert.attributes)) {
19
29
  if (!attName.startsWith(prefixAttribute)) {
20
30
  throw new Error(`All attributes must be prefixed with "${prefixAttribute}"! But "${attName}" is not.
@@ -23,10 +33,10 @@ If you don't want any prefix, just set "prefixAttribute" to "".`);
23
33
  }
24
34
  const varName = `${prefixVarying}${attName.slice(prefixAttribute.length)}`;
25
35
  vert.varying[varName] = vert.attributes[attName];
26
- frag.varying[varName] = vert.varying[varName];
27
36
  vert.mainCodeHeaders.push(`${varName} = ${attName};`);
28
37
  varyings.push(varName);
29
38
  }
39
+ frag.varying = structuredClone(vert.varying);
30
40
  dataset.usage = "DYNAMIC_READ";
31
41
  this.count = dataset.count;
32
42
  const prg = new TgdProgram(gl, {
@@ -38,7 +48,13 @@ If you don't want any prefix, just set "prefixAttribute" to "".`);
38
48
  },
39
49
  });
40
50
  this.prg = prg;
41
- prg.debug();
51
+ prg.use();
52
+ const samplerNames = Object.keys(textures);
53
+ for (let unit = 0; unit < samplerNames.length; unit++) {
54
+ const uniformName = samplerNames[unit];
55
+ const texture = textures[uniformName];
56
+ texture.activate(unit, prg, uniformName);
57
+ }
42
58
  const vaoIn = new TgdVertexArray(gl, prg, [dataset]);
43
59
  const bufferIn = vaoIn.getBuffer(0);
44
60
  if (!bufferIn)
@@ -59,11 +75,16 @@ If you don't want any prefix, just set "prefixAttribute" to "".`);
59
75
  }
60
76
  }
61
77
  paint(time, delta) {
62
- const { context, drawMode, prg, vaos, buffers, count, pingPong, setUniforms } = this;
78
+ const { context, textures, drawMode, prg, vaos, buffers, count, pingPong, setUniforms } = this;
63
79
  const { gl } = context;
64
80
  const src = pingPong;
65
81
  const dst = 1 - pingPong;
66
82
  prg.use();
83
+ let unit = 0;
84
+ for (const name of Object.keys(textures)) {
85
+ const texture = textures[name];
86
+ texture.activate(unit++, prg, name);
87
+ }
67
88
  if (setUniforms) {
68
89
  setUniforms({ time, delta, prg });
69
90
  }
@@ -92,4 +113,4 @@ If you don't want any prefix, just set "prefixAttribute" to "".`);
92
113
  }
93
114
  }
94
115
  TgdPainterParticles.counter = 0;
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGljbGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhaW50ZXIvcGFydGljbGVzL3BhcnRpY2xlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBR3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFxQnpDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxVQUFVO0lBYy9DLFlBQ29CLE9BQW1CLEVBQ25DLEVBQ0ksSUFBSSxFQUNKLE9BQU8sRUFDUCxNQUFNLEVBQ04sUUFBUSxFQUNSLFdBQVcsRUFDWCxlQUFlLEdBQUcsS0FBSyxFQUN2QixhQUFhLEdBQUcsS0FBSyxHQUNJO1FBRTdCLEtBQUssRUFBRSxDQUFBO1FBWFMsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUgvQixhQUFRLEdBQUcsQ0FBQyxDQUFBO1FBZWhCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLHVCQUF1QixtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFBO1FBQzFFLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFBO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1FBQ3hCLElBQUksQ0FBQztZQUNELE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUE7WUFDdEIsTUFBTSxRQUFRLEdBQWEsRUFBRSxDQUFBO1lBQzdCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7WUFDaEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQTtZQUNoQyxLQUFLLE1BQU0sT0FBTyxJQUFJLE1BQU0s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
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGljbGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhaW50ZXIvcGFydGljbGVzL3BhcnRpY2xlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBR3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUE7QUF1QnpDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxVQUFVO0lBZS9DLFlBQ29CLE9BQW1CLEVBQ25DLEVBQ0ksSUFBSSxFQUNKLE9BQU8sRUFDUCxNQUFNLEVBQ04sUUFBUSxFQUNSLFFBQVEsR0FBRyxFQUFFLEVBQ2IsV0FBVyxFQUNYLGVBQWUsR0FBRyxLQUFLLEVBQ3ZCLGFBQWEsR0FBRyxLQUFLLEdBQ0k7UUFFN0IsS0FBSyxFQUFFLENBQUE7UUFaUyxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBSC9CLGFBQVEsR0FBRyxDQUFDLENBQUE7UUFnQmhCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLHVCQUF1QixtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFBO1FBQzFFLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFBO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO1FBQ3hCLElBQUksQ0FBQztZQUNELE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUE7WUFDdEIsTUFBTSxRQUFRLEdBQWEsRUFBRSxDQUFBO1lBQzdCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7WUFDaEMsTUFBTSxJQUFJLEdB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
@@ -2,8 +2,8 @@ import { TgdDataset } from "./../dataset/index.js";
2
2
  import { TgdConsole } from "./../debug/index.js";
3
3
  import { TgdProgram } from "./../program/index.js";
4
4
  import { TgdShaderFragment, TgdShaderVertex, tgdCodeStringify, } from "./../shader/index.js";
5
- import { ensureArray, webglElementTypeFromTypedArray, webglLookup } from "./../utils/index.js";
6
- import { TgdPainterLogic, TgdTexture2D, TgdTextureCube, TgdVertexArray } from "./../index.js";
5
+ import { ensureArray, tgdTextureRecordToUniforms, webglElementTypeFromTypedArray, webglLookup } from "./../utils/index.js";
6
+ import { TgdPainterLogic, TgdVertexArray } from "./../index.js";
7
7
  import { TgdUniformBufferObject } from "./../uniform/uniform-buffer-object.js";
8
8
  import { TgdPainter } from "./painter.js";
9
9
  import { TgdPainterState } from "./state/index.js";
@@ -66,7 +66,7 @@ export class TgdPainterProgram extends TgdPainter {
66
66
  });
67
67
  this.drawMode = typeof drawMode === "number" ? drawMode : context.gl[drawMode];
68
68
  const uniformsHeader = ensureArray(this.uniformsToCode(uniforms));
69
- const uniformsForTextures = texturesToUniforms(textures);
69
+ const uniformsForTextures = tgdTextureRecordToUniforms(textures);
70
70
  const vertexShader = new TgdShaderVertex({
71
71
  ...vert,
72
72
  uniforms: uniformsForTextures,
@@ -292,19 +292,4 @@ function resolveInstancesCount(datasets) {
292
292
  .filter((ds) => ds.divisor > 0)
293
293
  .map((ds) => ` ${ds.name}: count == ${ds.count} / ${ds.divisor} == ${ds.count / ds.divisor}`)}`);
294
294
  }
295
- function texturesToUniforms(textures) {
296
- const uniforms = {};
297
- for (const name of Object.keys(textures)) {
298
- uniforms[name] = resolveTextureType(textures[name]);
299
- }
300
- return uniforms;
301
- }
302
- function resolveTextureType(texture) {
303
- if (texture instanceof TgdTexture2D)
304
- return "sampler2D";
305
- if (texture instanceof TgdTextureCube)
306
- return "samplerCube";
307
- console.error("[resolveTextureType] Don't know the type of this texture:", texture);
308
- throw new Error("[resolveTextureType] Don't know the type of this texture!");
309
- }
310
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYWludGVyL3Byb2dyYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBMEUsTUFBTSxjQUFjLENBQUE7QUFDakgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUN2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3pDLE9BQU8sRUFJSCxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLGdCQUFnQixHQUNuQixNQUFNLGFBQWEsQ0FBQTtBQUdwQixPQUFPLEVBQUUsV0FBVyxFQUFFLDhCQUE4QixFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDOUYsT0FBTyxFQUFFLHNCQUFzQixFQUFzQyxNQUFNLG9DQUFvQyxDQUFBO0FBQy9HLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBK0IsTUFBTSxTQUFTLENBQUE7QUE4RHRFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxVQUFVO0lBaUI3QyxZQUNvQixPQUFtQixFQUNuQyxFQUNJLE9BQU8sRUFDUCxRQUFRLEVBQ1IsUUFBUSxHQUFHLEVBQUUsRUFDYixRQUFRLEdBQUcsRUFBRSxFQUNiLE9BQU8sRUFDUCxJQUFJLEVBQ0osSUFBSSxFQUNKLE9BQU8sRUFDUCxRQUFRLEVBQ1IsUUFBUSxFQUNSLEtBQUssRUFDTCxhQUFhLEVBQ2IsY0FBYyxFQUNkLGNBQWMsR0FDUztRQUUzQixLQUFLLEVBQUUsQ0FBQTtRQWxCUyxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBakJoQyxrQkFBYSxHQUFHLENBQUMsQ0FBQTtRQUNqQixtQkFBYyxHQUFHLENBQUMsQ0FBQTtRQUNs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
295
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYWludGVyL3Byb2dyYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBMEUsTUFBTSxjQUFjLENBQUE7QUFDakgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUN2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3pDLE9BQU8sRUFJSCxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLGdCQUFnQixHQUNuQixNQUFNLGFBQWEsQ0FBQTtBQUdwQixPQUFPLEVBQUUsV0FBVyxFQUFFLDBCQUEwQixFQUFFLDhCQUE4QixFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNqSCxPQUFPLEVBQUUsZUFBZSxFQUFnQyxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM5RixPQUFPLEVBQUUsc0JBQXNCLEVBQXNDLE1BQU0sb0NBQW9DLENBQUE7QUFDL0csT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsZUFBZSxFQUErQixNQUFNLFNBQVMsQ0FBQTtBQThEdEUsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFVBQVU7SUFpQjdDLFlBQ29CLE9BQW1CLEVBQ25DLEVBQ0ksT0FBTyxFQUNQLFFBQVEsRUFDUixRQUFRLEdBQUcsRUFBRSxFQUNiLFFBQVEsR0FBRyxFQUFFLEVBQ2IsT0FBTyxFQUNQLElBQUksRUFDSixJQUFJLEVBQ0osT0FBTyxFQUNQLFFBQVEsRUFDUixRQUFRLEVBQ1IsS0FBSyxFQUNMLGFBQWEsRUFDYixjQUFjLEVBQ2QsY0FBYyxHQUNTO1FBRTNCLEtBQUssRUFBRSxDQUFBO1FBbEJTLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFqQmhDLGtCQUFhLEdBQUcsQ0FBQyxDQUFBO1FBQ2pCLG1CQUFjLEdBQUcsQ0FBQyxDQUFBO1FBQ2xCLG1CQUFj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
@@ -3,11 +3,11 @@ import { TgdContext } from "../context";
3
3
  interface TgdTextureDepthStorage {
4
4
  width: number;
5
5
  height: number;
6
- type: "DEPTH_COMPONENT24" | "DEPTH_COMPONENT16" | "DEPTH_COMPONENT32F";
6
+ format: "DEPTH_COMPONENT16 / DEPTH_COMPONENT / UNSIGNED_SHORT" | "DEPTH_COMPONENT16 / DEPTH_COMPONENT / UNSIGNED_INT" | "DEPTH_COMPONENT24 / DEPTH_COMPONENT / UNSIGNED_INT" | "DEPTH_COMPONENT32F / DEPTH_COMPONENT / FLOAT" | "DEPTH24_STENCIL8 / DEPTH_STENCIL / UNSIGNED_INT_24_8" | "DEPTH32F_STENCIL8 / DEPTH_STENCIL / FLOAT_32_UNSIGNED_INT_24_8_REV";
7
7
  }
8
8
  export declare class TgdTextureDepth extends TgdTexture2D {
9
9
  readonly context: TgdContext;
10
- constructor(context: TgdContext, { width, height, type }?: Partial<TgdTextureDepthStorage>);
10
+ constructor(context: TgdContext, { width, height, format, }?: Partial<TgdTextureDepthStorage>);
11
11
  readonly resize: (width: number, height: number) => void;
12
12
  private readonly resize16;
13
13
  private readonly resize24;
@@ -1 +1 @@
1
- {"version":3,"file":"texture-depth.d.ts","sourceRoot":"","sources":["../../src/texture/texture-depth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,UAAU,sBAAsB;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,mBAAmB,GAAG,mBAAmB,GAAG,oBAAoB,CAAA;CACzE;AAED,qBAAa,eAAgB,SAAQ,YAAY;aAEzB,OAAO,EAAE,UAAU;gBAAnB,OAAO,EAAE,UAAU,EACnC,EAAE,KAAS,EAAE,MAAU,EAAE,IAA0B,EAAE,GAAE,OAAO,CAAC,sBAAsB,CAAM;IAwB/F,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAExD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAgBxB;IAED,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAgBxB;IAED,OAAO,CAAC,QAAQ,CAAC,SAAS,CAMzB;CACJ"}
1
+ {"version":3,"file":"texture-depth.d.ts","sourceRoot":"","sources":["../../src/texture/texture-depth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,UAAU,sBAAsB;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EACA,sDAAsD,GACtD,oDAAoD,GACpD,oDAAoD,GACpD,8CAA8C,GAC9C,sDAAsD,GACtD,oEAAoE,CAAA;CAC7E;AAED,qBAAa,eAAgB,SAAQ,YAAY;aAEzB,OAAO,EAAE,UAAU;gBAAnB,OAAO,EAAE,UAAU,EACnC,EACI,KAAS,EACT,MAAU,EACV,MAA6D,GAChE,GAAE,OAAO,CAAC,sBAAsB,CAAM;IAoB3C,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAExD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAgBxB;IAED,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAgBxB;IAED,OAAO,CAAC,QAAQ,CAAC,SAAS,CAMzB;CACJ"}
@@ -1,8 +1,8 @@
1
1
  import { TgdTexture2D } from "./texture2d.js";
2
2
  export class TgdTextureDepth extends TgdTexture2D {
3
- constructor(context, { width = 1, height = 1, type = "DEPTH_COMPONENT24" } = {}) {
3
+ constructor(context, { width = 1, height = 1, format = "DEPTH_COMPONENT24 / DEPTH_COMPONENT / UNSIGNED_INT", } = {}) {
4
4
  super(context, {
5
- storage: { width, height, internalFormat: type },
5
+ storage: { width, height, format },
6
6
  });
7
7
  this.context = context;
8
8
  this.resize16 = (width, height) => {
@@ -29,17 +29,15 @@ export class TgdTextureDepth extends TgdTexture2D {
29
29
  wrapS: "CLAMP_TO_EDGE",
30
30
  wrapT: "CLAMP_TO_EDGE",
31
31
  });
32
- switch (type) {
33
- case "DEPTH_COMPONENT16":
34
- this.resize = this.resize16;
35
- break;
36
- case "DEPTH_COMPONENT24":
37
- this.resize = this.resize24;
38
- break;
39
- default:
40
- this.resize = this.resize32F;
41
- break;
32
+ if (format.startsWith("DEPTH_COMPONENT16")) {
33
+ this.resize = this.resize16;
34
+ }
35
+ else if (format.startsWith("DEPTH_COMPONENT24")) {
36
+ this.resize = this.resize24;
37
+ }
38
+ else {
39
+ this.resize = this.resize32F;
42
40
  }
43
41
  }
44
42
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZS1kZXB0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXh0dXJlL3RleHR1cmUtZGVwdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQVMxQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxZQUFZO0lBQzdDLFlBQ29CLE9BQW1CLEVBQ25DLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLElBQUksR0FBRyxtQkFBbUIsS0FBc0MsRUFBRTtRQUUzRixLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ1gsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFO1NBQ25ELENBQUMsQ0FBQTtRQUxjLFlBQU8sR0FBUCxPQUFPLENBQVk7UUEyQnRCLGFBQVEsR0FBRyxDQUFDLEtBQWEsRUFBRSxNQUFjLEVBQUUsRUFBRTtZQUMxRCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFBO1lBQ3hCLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUE7WUFFdEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO1lBQ1gsRUFBRSxDQUFDLFVBQVUsQ0FDVCxFQUFFLENBQUMsVUFBVSxFQUNiLENBQUMsRUFDRCxFQUFFLENBQUMsaUJBQWlCLEVBQ3BCLEtBQUssRUFDTCxNQUFNLEVBQ04sQ0FBQyxFQUNELEVBQUUsQ0FBQyxlQUFlLEVBQ2xCLEVBQUUsQ0FBQyxjQUFjLEVBQ2pCLElBQUksQ0FDUCxDQUFBO1FBQ0wsQ0FBQyxDQUFBO1FBRWdCLGFBQVEsR0FBRyxDQUFDLEtBQWEsRUFBRSxNQUFjLEVBQUUsRUFBRTtZQUMxRCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFBO1lBQ3hCLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUE7WUFFdEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO1lBQ1gsRUFBRSxDQUFDLFVBQVUsQ0FDVCxFQUFFLENBQUMsVUFBVSxFQUNiLENBQUMsRUFDRCxFQUFFLENBQUMsaUJBQWlCLEVBQ3BCLEtBQUssRUFDTCxNQUFNLEVBQ04sQ0FBQyxFQUNELEVBQUUsQ0FBQyxlQUFlLEVBQ2xCLEVBQUUsQ0FBQyxZQUFZLEVBQ2YsSUFBSSxDQUNQLENBQUE7UUFDTCxDQUFDLENBQUE7UUFFZ0IsY0FBUyxHQUFHLENBQUMsS0FBYSxFQUFFLE1BQWMsRUFBRSxFQUFFO1lBQzNELE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUE7WUFDeEIsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQTtZQUV0QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7WUFDWCxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDaEgsQ0FBQyxDQUFBO1FBL0RHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDWCxTQUFTLEVBQUUsU0FBUztZQUNwQixTQUFTLEVBQUUsU0FBUztZQUNwQixLQUFLLEVBQUUsZUFBZTtZQUN0QixLQUFLLEVBQUUsZUFBZTtTQUN6QixDQUFDLENBQUE7UUFDRixRQUFRLElBQUksRUFBRSxDQUFDO1lBQ1gsS0FBSyxtQkFBbUI7Z0JBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQTtnQkFDM0IsTUFBSztZQUNULEtBQUssbUJBQW1CO2dCQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUE7Z0JBQzNCLE1BQUs7WUFDVDtnQkFDSSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUE7Z0JBQzVCLE1BQUs7UUFDYixDQUFDO0lBQ0wsQ0FBQztDQStDSiJ9
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHVyZS1kZXB0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXh0dXJlL3RleHR1cmUtZGVwdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQWUxQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxZQUFZO0lBQzdDLFlBQ29CLE9BQW1CLEVBQ25DLEVBQ0ksS0FBSyxHQUFHLENBQUMsRUFDVCxNQUFNLEdBQUcsQ0FBQyxFQUNWLE1BQU0sR0FBRyxvREFBb0QsTUFDNUIsRUFBRTtRQUV2QyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ1gsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUU7U0FDckMsQ0FBQyxDQUFBO1FBVGMsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQTJCdEIsYUFBUSxHQUFHLENBQUMsS0FBYSxFQUFFLE1BQWMsRUFBRSxFQUFFO1lBQzFELE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUE7WUFDeEIsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQTtZQUV0QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7WUFDWCxFQUFFLENBQUMsVUFBVSxDQUNULEVBQUUsQ0FBQyxVQUFVLEVBQ2IsQ0FBQyxFQUNELEVBQUUsQ0FBQyxpQkFBaUIsRUFDcEIsS0FBSyxFQUNMLE1BQU0sRUFDTixDQUFDLEVBQ0QsRUFBRSxDQUFDLGVBQWUsRUFDbEIsRUFBRSxDQUFDLGNBQWMsRUFDakIsSUFBSSxDQUNQLENBQUE7UUFDTCxDQUFDLENBQUE7UUFFZ0IsYUFBUSxHQUFHLENBQUMsS0FBYSxFQUFFLE1BQWMsRUFBRSxFQUFFO1lBQzFELE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUE7WUFDeEIsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQTtZQUV0QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7WUFDWCxFQUFFLENBQUMsVUFBVSxDQUNULEVBQUUsQ0FBQyxVQUFVLEVBQ2IsQ0FBQyxFQUNELEVBQUUsQ0FBQyxpQkFBaUIsRUFDcEIsS0FBSyxFQUNMLE1BQU0sRUFDTixDQUFDLEVBQ0QsRUFBRSxDQUFDLGVBQWUsRUFDbEIsRUFBRSxDQUFDLFlBQVksRUFDZixJQUFJLENBQ1AsQ0FBQTtRQUNMLENBQUMsQ0FBQTtRQUVnQixjQUFTLEdBQUcsQ0FBQyxLQUFhLEVBQUUsTUFBYyxFQUFFLEVBQUU7WUFDM0QsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQTtZQUN4QixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFBO1lBRXRCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtZQUNYLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUNoSCxDQUFDLENBQUE7UUEzREcsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNYLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLEtBQUssRUFBRSxlQUFlO1lBQ3RCLEtBQUssRUFBRSxlQUFlO1NBQ3pCLENBQUMsQ0FBQTtRQUNGLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFBO1FBQy9CLENBQUM7YUFBTSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQTtRQUMvQixDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQTtRQUNoQyxDQUFDO0lBQ0wsQ0FBQztDQStDSiJ9
@@ -5,7 +5,7 @@ import type { TgdFilter } from "../filter";
5
5
  import { TgdVec4 } from "../math";
6
6
  import { TgdProgram } from "../program";
7
7
  import { ArrayNumber4, type WebglImage, type WebglTexParameter } from "../types";
8
- import { type WebglTextureInternalFormat, type WebglTextureParameters } from "../webgl";
8
+ import { type WebglTextureParameters } from "../webgl";
9
9
  import { type LoadBmpOptions } from "./types";
10
10
  interface TgdTexture2DStorage {
11
11
  width: number;
@@ -17,7 +17,7 @@ interface TgdTexture2DStorage {
17
17
  * Default to `false`.
18
18
  */
19
19
  premultipliedAlpha: boolean;
20
- internalFormat: "R8" | "R16F" | "R32F" | "R8UI" | "RG8" | "RG16F" | "RG32F" | "RG8UI" | "RGB8" | "SRGB8" | "RGB565" | "R11F_G11F_B10F" | "RGB9_E5" | "RGB16F" | "RGB32F" | "RGB8UI" | "RGBA" | "RGBA8" | "SRGB8_ALPHA8" | "RGB5_A1" | "RGBA4" | "RGBA16F" | "RGBA32F" | "RGBA8UI" | "COMPRESSED_R11_EAC" | "COMPRESSED_SIGNED_R11_EAC" | "COMPRESSED_RG11_EAC" | "COMPRESSED_SIGNED_RG11_EAC" | "COMPRESSED_RGB8_ETC2" | "COMPRESSED_RGBA8_ETC2_EAC" | "COMPRESSED_SRGB8_ETC2" | "COMPRESSED_SRGB8_ALPHA8_ETC2_EAC" | "COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2" | "COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2" | "DEPTH_COMPONENT24" | "DEPTH_COMPONENT16" | "DEPTH_COMPONENT32F";
20
+ format: "R8 / RED / UNSIGNED_BYTE" | "R8_SNORM / RED / BYTE" | "R16F / RED / HALF_FLOAT" | "R16F / RED / FLOAT" | "R32F / RED / FLOAT" | "R8UI / RED_INTEGER / UNSIGNED_BYTE" | "R8I / RED_INTEGER / BYTE" | "R16UI / RED_INTEGER / UNSIGNED_SHORT" | "R16I / RED_INTEGER / SHORT" | "R32UI / RED_INTEGER / UNSIGNED_INT" | "R32I / RED_INTEGER / INT" | "RG8 / RG / UNSIGNED_BYTE" | "RG8_SNORM / RG / BYTE" | "RG16F / RG / HALF_FLOAT" | "RG16F / RG / FLOAT" | "RG32F / RG / FLOAT" | "RG8UI / RG_INTEGER / UNSIGNED_BYTE" | "RG8I / RG_INTEGER / BYTE" | "RG16UI / RG_INTEGER / UNSIGNED_SHORT" | "RG16I / RG_INTEGER / SHORT" | "RG32UI / RG_INTEGER / UNSIGNED_INT" | "RG32I / RG_INTEGER / INT" | "RGB8 / RGB / UNSIGNED_BYTE" | "SRGB8 / RGB / UNSIGNED_BYTE" | "RGB565 / RGB / UNSIGNED_BYTE" | "RGB565 / RGB / UNSIGNED_SHORT_5_6_5" | "RGB8_SNORM / RGB / BYTE" | "R11F_G11F_B10F / RGB / UNSIGNED_INT_10F_11F_11F_REV" | "R11F_G11F_B10F / RGB / HALF_FLOAT" | "R11F_G11F_B10F / RGB / FLOAT" | "RGB9_E5 / RGB / UNSIGNED_INT_5_9_9_9_REV" | "RGB9_E5 / RGB / HALF_FLOAT" | "RGB9_E5 / RGB / FLOAT" | "RGB16F / RGB / HALF_FLOAT" | "RGB16F / RGB / FLOAT" | "RGB32F / RGB / FLOAT" | "RGB8UI / RGB_INTEGER / UNSIGNED_BYTE" | "RGB8I / RGB_INTEGER / BYTE" | "RGB16UI / RGB_INTEGER / UNSIGNED_SHORT" | "RGB16I / RGB_INTEGER / SHORT" | "RGB32UI / RGB_INTEGER / UNSIGNED_INT" | "RGB32I / RGB_INTEGER / INT" | "RGBA8 / RGBA / UNSIGNED_BYTE" | "SRGB8_ALPHA8 / RGBA / UNSIGNED_BYTE" | "RGBA8_SNORM / RGBA / BYTE" | "RGB5_A1 / RGBA / UNSIGNED_BYTE" | "RGB5_A1 / RGBA / UNSIGNED_SHORT_5_5_5_1" | "RGB5_A1 / RGBA / UNSIGNED_INT_2_10_10_10_REV" | "RGBA4 / RGBA / UNSIGNED_BYTE" | "RGBA4 / RGBA / UNSIGNED_SHORT_4_4_4_4" | "RGB10_A2 / RGBA / UNSIGNED_INT_2_10_10_10_REV" | "RGBA16F / RGBA / HALF_FLOAT" | "RGBA16F / RGBA / FLOAT" | "RGBA32F / RGBA / FLOAT" | "RGBA8UI / RGBA_INTEGER / UNSIGNED_BYTE" | "RGBA8I / RGBA_INTEGER / BYTE" | "RGBA16UI / RGBA_INTEGER / UNSIGNED_SHORT" | "RGBA16I / RGBA_INTEGER / SHORT" | "RGBA32UI / RGBA_INTEGER / UNSIGNED_INT" | "RGBA32I / RGBA_INTEGER / INT" | "DEPTH_COMPONENT16 / DEPTH_COMPONENT / UNSIGNED_SHORT" | "DEPTH_COMPONENT16 / DEPTH_COMPONENT / UNSIGNED_INT" | "DEPTH_COMPONENT24 / DEPTH_COMPONENT / UNSIGNED_INT" | "DEPTH_COMPONENT32F / DEPTH_COMPONENT / FLOAT" | "DEPTH24_STENCIL8 / DEPTH_STENCIL / UNSIGNED_INT_24_8" | "DEPTH32F_STENCIL8 / DEPTH_STENCIL / FLOAT_32_UNSIGNED_INT_24_8_REV";
21
21
  }
22
22
  export interface TgdTexture2DOptions {
23
23
  name?: string;
@@ -42,15 +42,20 @@ export declare class TgdTexture2D {
42
42
  private _height;
43
43
  private readonly storage;
44
44
  private params;
45
+ private videoUpdater;
45
46
  private static counter;
46
47
  constructor(context: TgdContext, options?: TgdTexture2DOptions);
47
48
  clone(name?: string): TgdTexture2D;
48
- get internalFormat(): TgdTexture2DStorage["internalFormat"];
49
- private set internalFormat(value);
49
+ get format(): TgdTexture2DStorage["format"];
50
+ private set format(value);
51
+ get internalFormat(): number;
52
+ get sourceFormat(): number;
53
+ get sourceType(): number;
50
54
  delete(): void;
51
55
  get width(): number;
52
56
  get height(): number;
53
57
  private createTexture;
58
+ private splitFormat;
54
59
  resize(w: number, h: number): void;
55
60
  private checkError;
56
61
  get glTexture(): WebGLTexture;
@@ -65,13 +70,12 @@ export declare class TgdTexture2D {
65
70
  onLoad?: () => void;
66
71
  }): this;
67
72
  applyFilter(filter: TgdFilter): this;
68
- loadData(data: Uint8Array | Uint8ClampedArray, options: {
73
+ loadData(data: Uint8Array | Uint8ClampedArray | Float32Array, options: {
69
74
  width: number;
70
75
  height: number;
71
- internalFormat: WebglTextureInternalFormat;
72
- format: "RED" | "RG" | "RGB" | "RGBA" | "RED_INTEGER" | "RG_INTEGER" | "RGB_INTEGER" | "RGBA_INTEGER";
73
76
  level?: number;
74
77
  offset?: number;
78
+ format?: TgdTexture2DStorage["format"];
75
79
  }): this;
76
80
  /**
77
81
  *
@@ -1 +1 @@
1
- {"version":3,"file":"texture2d.d.ts","sourceRoot":"","sources":["../../src/texture/texture2d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,YAAY,EAAgB,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGhG,OAAO,EAAE,KAAK,0BAA0B,EAAE,KAAK,sBAAsB,EAA6B,MAAM,YAAY,CAAA;AACpH,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,SAAS,CAAA;AAE/D,UAAU,mBAAmB;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;IACd;;;OAGG;IACH,kBAAkB,EAAE,OAAO,CAAA;IAC3B,cAAc,EACZ,IAAI,GACJ,MAAM,GACN,MAAM,GACN,MAAM,GACN,KAAK,GACL,OAAO,GACP,OAAO,GACP,OAAO,GACP,MAAM,GACN,OAAO,GACP,QAAQ,GACR,gBAAgB,GAChB,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,OAAO,GACP,cAAc,GACd,SAAS,GACT,OAAO,GACP,SAAS,GACT,SAAS,GACT,SAAS,GACT,oBAAoB,GACpB,2BAA2B,GAC3B,qBAAqB,GACrB,4BAA4B,GAC5B,sBAAsB,GACtB,2BAA2B,GAC3B,uBAAuB,GACvB,kCAAkC,GAClC,0CAA0C,GAC1C,2CAA2C,GAC3C,mBAAmB,GACnB,mBAAmB,GACnB,oBAAoB,CAAA;CACzB;AAED,MAAM,WAAW,mBAAmB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;IACtC,MAAM,CAAC,EAAE,sBAAsB,CAAA;IAC/B,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,cAAc,CAAA;IAC3C,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,GAAG,OAAO,GAAG,QAAQ,CAAA;CAC5C;AAED,qBAAa,YAAY;aAoBD,OAAO,EAAE,UAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO;IApBrB,IAAI,EAAE,MAAM,CAAA;IACnB,SAAgB,EAAE,EAAE,sBAAsB,CAAA;IAC1C,SAAgB,WAAW,yBAA+B;IAE1D,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,MAAM,CAMb;IAED,OAAO,CAAC,MAAM,CAAC,OAAO,CAAI;gBAGN,OAAO,EAAE,UAAU,EAClB,OAAO,GAAE,mBAAwB;IA6BtD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY;IAUlC,IAAI,cAAc,IAGyB,mBAAmB,CAAC,gBAAgB,CAAC,CAD/E;IACD,OAAO,KAAK,cAAc,QAEzB;IAED,MAAM;IAKN,IAAI,KAAK,WAER;IAED,IAAI,MAAM,WAET;IAED,OAAO,CAAC,aAAa;IAwBrB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAQ3B,OAAO,CAAC,UAAU;IASlB,IAAI,SAAS,IAAI,YAAY,CAM5B;IAED,IAAI;IAIJ,MAAM;IAIN,SAAS,CACL,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;QACL,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;KACjB,GACP,IAAI;IAyBP,UAAU,CACN,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,SAAS,EACxE,OAAO,GAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,cAAc,CAAC,EAAE,OAAO,CAAA;QACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;KACjB,GACP,IAAI;IAwEP,WAAW,CAAC,MAAM,EAAE,SAAS;IAiC7B,QAAQ,CACJ,IAAI,EAAE,UAAU,GAAG,iBAAiB,EACpC,OAAO,EAAE;QACL,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,cAAc,EAAE,0BAA0B,CAAA;QAC1C,MAAM,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,aAAa,GAAG,YAAY,GAAG,aAAa,GAAG,cAAc,CAAA;QACrG,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,MAAM,CAAA;KAClB;IAgCL;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,MAAM;IAUjE,cAAc;IAOd,SAAS,CAAC,UAAU,EAAE,sBAAsB;IAU5C,IAAI,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAIjC;IAED,IAAI,gBAAgB,IAAI,MAAM,CAK7B;IAED,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,EAIhC;IAED,IAAI,eAAe,IAAI,MAAM,CAK5B;IAED,YAAY,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI;IAOnE,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM;CAsBvB"}
1
+ {"version":3,"file":"texture2d.d.ts","sourceRoot":"","sources":["../../src/texture/texture2d.ts"],"names":[],"mappings":"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"}