@tolokoban/tgd 2.0.94 → 2.0.95

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.
@@ -1 +1 @@
1
- {"version":3,"file":"mesh.d.ts","sourceRoot":"","sources":["../../../../src/painter/mesh/mesh/mesh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,eAAe,CAAA;AAChE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAC/D,OAAO,EAAE,KAAK,WAAW,EAAsB,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,MAAM,WAAW,qBAAqB;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,UAAU,CAAA;IACjD,QAAQ,CAAC,EAAE,WAAW,CAAA;IACtB,QAAQ,CAAC,EAAE,WAAW,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;CACb;AAED;GACG;AACH,qBAAa,cACZ,SAAQ,UACR,YAAW,yBAAyB;IAmBnC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE;QAC3B,EAAE,EAAE,sBAAsB,CAAA;QAC1B,WAAW,EAAE,WAAW,CAAA;QACxB,MAAM,EAAE,SAAS,CAAA;QACjB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;KAClB;IAtBF;;OAEG;IACH,SAAgB,KAAK,WAAiB;IACtC,SAAgB,OAAO,aAAmB;IAC1C,SAAgB,QAAQ,EAAE,WAAW,CAAA;IAErC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;IACrC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,OAAO,CAAuB;gBAGlB,OAAO,EAAE;QAC3B,EAAE,EAAE,sBAAsB,CAAA;QAC1B,WAAW,EAAE,WAAW,CAAA;QACxB,MAAM,EAAE,SAAS,CAAA;QACjB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;KAClB,EACD,OAAO,GAAE,qBAA0B;IAqFpC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM;IAKtB,kBAAkB,IAAI;QACrB,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;QACtB,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;KACtB;IA4BD,SAAgB,KAAK,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,UAmBnD;IAED,MAAM,IAAI,IAAI;CAId"}
1
+ {"version":3,"file":"mesh.d.ts","sourceRoot":"","sources":["../../../../src/painter/mesh/mesh/mesh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,eAAe,CAAA;AAChE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAC/D,OAAO,EAAE,KAAK,WAAW,EAAsB,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,MAAM,WAAW,qBAAqB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,UAAU,CAAA;IACjD,QAAQ,CAAC,EAAE,WAAW,CAAA;IACtB,QAAQ,CAAC,EAAE,WAAW,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;GACG;AACH,qBAAa,cACT,SAAQ,UACR,YAAW,yBAAyB;IAmBhC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE;QACxB,EAAE,EAAE,sBAAsB,CAAA;QAC1B,WAAW,EAAE,WAAW,CAAA;QACxB,MAAM,EAAE,SAAS,CAAA;QACjB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;KACrB;IAtBL;;OAEG;IACH,SAAgB,KAAK,WAAiB;IACtC,SAAgB,OAAO,aAAmB;IAC1C,SAAgB,QAAQ,EAAE,WAAW,CAAA;IAErC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;IACrC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,OAAO,CAAuB;gBAGf,OAAO,EAAE;QACxB,EAAE,EAAE,sBAAsB,CAAA;QAC1B,WAAW,EAAE,WAAW,CAAA;QACxB,MAAM,EAAE,SAAS,CAAA;QACjB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;KACrB,EACD,OAAO,GAAE,qBAA0B;IAqFvC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM;IAKtB,kBAAkB,IAAI;QAClB,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;QACtB,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;KACzB;IA4BD,SAAgB,KAAK,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,UA0BnD;IAED,MAAM,IAAI,IAAI;CAIjB"}
@@ -24,7 +24,7 @@ export class TgdPainterMesh extends TgdPainter {
24
24
  this.bboxMax = null;
25
25
  this.paint = (time, delay) => {
26
26
  var _a;
27
- const { context, program, geometry, material, drawMode, count, transfo } = this;
27
+ const { context, program, geometry, material, drawMode, count, transfo, } = this;
28
28
  const { gl, camera } = context;
29
29
  this.logic.exec(time, delay);
30
30
  program.use();
@@ -138,4 +138,4 @@ export class TgdPainterMesh extends TgdPainter {
138
138
  this.program.delete();
139
139
  }
140
140
  }
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWludGVyL21lc2gvbWVzaC9tZXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDdkMsT0FBTyxFQUFvQixjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFaEUsT0FBTyxFQUFvQixrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUEwQixPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUV6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBUzFDO0dBQ0c7QUFDSCxNQUFNLE9BQU8sY0FDWixTQUFRLFVBQVU7SUFtQmxCLFlBQ29CLE9BS2xCLEVBQ0QsVUFBaUMsRUFBRTs7UUFFbkMsS0FBSyxFQUFFLENBQUE7UUFSWSxZQUFPLEdBQVAsT0FBTyxDQUt6QjtRQXRCRjs7V0FFRztRQUNhLFVBQUssR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFBO1FBQ3RCLFlBQU8sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFBO1FBUXpCLGFBQVEsR0FBVyxDQUFDLENBQUE7UUFDN0IsWUFBTyxHQUFtQixJQUFJLENBQUE7UUFDOUIsWUFBTyxHQUFtQixJQUFJLENBQUE7UUFrSXRCLFVBQUssR0FBRyxDQUFDLElBQVksRUFBRSxLQUFhLEVBQUUsRUFBRTs7WUFDdkQsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEs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
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWludGVyL21lc2gvbWVzaC9tZXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDdkMsT0FBTyxFQUFvQixjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFaEUsT0FBTyxFQUFvQixrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUEwQixPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUV6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBUzFDO0dBQ0c7QUFDSCxNQUFNLE9BQU8sY0FDVCxTQUFRLFVBQVU7SUFtQmxCLFlBQ3VCLE9BS2xCLEVBQ0QsVUFBaUMsRUFBRTs7UUFFbkMsS0FBSyxFQUFFLENBQUE7UUFSWSxZQUFPLEdBQVAsT0FBTyxDQUt6QjtRQXRCTDs7V0FFRztRQUNhLFVBQUssR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFBO1FBQ3RCLFlBQU8sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFBO1FBUXpCLGFBQVEsR0FBVyxDQUFDLENBQUE7UUFDN0IsWUFBTyxHQUFtQixJQUFJLENBQUE7UUFDOUIsWUFBTyxHQUFtQixJQUFJLENBQUE7UUFrSXRCLFVBQUssR0FBRyxDQUFDLElBQVksRUFBRSxLQUFhLEVBQUUsRUFBRTs7WUFDcEQsTUFBTSxFQUNGLE9BQU8sRUFDUCxPQUFPLEVBQ1AsUUFBUSxFQUNSLFFBQVEs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
@@ -1,6 +1,6 @@
1
1
  import { TgdGeometry } from "../../geometry";
2
2
  /**
3
- * The capsule is a 3D shape mae of a cylinder
3
+ * The capsule is a 3D shape made of a cylinder
4
4
  * and two hemispheres, all of radius 1.
5
5
  * The roundness gives use the number of faces around the cylinder.
6
6
  * Every vertex has 4 coordinates: x, y, z, and a number that will
@@ -1 +1 @@
1
- {"version":3,"file":"capsule.d.ts","sourceRoot":"","sources":["../../../src/painter/segments/capsule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAI3C;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAgG1D"}
1
+ {"version":3,"file":"capsule.d.ts","sourceRoot":"","sources":["../../../src/painter/segments/capsule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAI3C;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAyC1D"}
@@ -2,7 +2,7 @@ import { TgdDataset } from "./../../dataset/index.js";
2
2
  import { TgdGeometry } from "./../../geometry/index.js";
3
3
  const TAU = 2 * Math.PI;
4
4
  /**
5
- * The capsule is a 3D shape mae of a cylinder
5
+ * The capsule is a 3D shape made of a cylinder
6
6
  * and two hemispheres, all of radius 1.
7
7
  * The roundness gives use the number of faces around the cylinder.
8
8
  * Every vertex has 4 coordinates: x, y, z, and a number that will
@@ -14,22 +14,44 @@ export function makeCapsule(roundness) {
14
14
  const tips = [];
15
15
  const offset = [];
16
16
  const elements = [];
17
- const angleStep = TAU / roundness;
18
- for (let face = 0; face < roundness; face++) {
19
- const angle = angleStep * face;
20
- const x = Math.cos(angle);
21
- const y = Math.sin(angle);
22
- offset.push(x, y, +1);
23
- tips.push(1);
24
- offset.push(x, y, -1);
25
- tips.push(0);
26
- const top1 = face * 2;
27
- const bottom1 = top1 + 1;
28
- const top2 = ((face + 1) % roundness) * 2;
29
- const bottom2 = top2 + 1;
30
- elements.push(top2, top1, bottom1);
31
- elements.push(top2, bottom1, bottom2);
17
+ const angleStepCylinder = makeCylinder(roundness, offset, tips, elements);
18
+ makeTip(roundness, angleStepCylinder, offset, tips, elements);
19
+ const capsule = new TgdDataset({
20
+ attTip: "float",
21
+ POSITION: "vec3",
22
+ NORMAL: "vec3",
23
+ });
24
+ capsule.set("POSITION", new Float32Array(offset));
25
+ capsule.set("attTip", new Float32Array(tips));
26
+ const geometry = new TgdGeometry({
27
+ dataset: capsule,
28
+ elements: new Uint16Array(elements),
29
+ computeNormalsIfMissing: true,
30
+ attPosition: "POSITION",
31
+ });
32
+ const { set, get } = capsule.getAttribAccessor("NORMAL");
33
+ // The cylinder must be really flat
34
+ for (let idx = 0; idx < roundness * 2; idx += 2) {
35
+ set(0, idx, 2);
36
+ set(0, idx + 1, 2);
37
+ const x = (get(idx, 0) + get(idx + 1, 0)) / 2;
38
+ const y = (get(idx, 1) + get(idx + 1, 1)) / 2;
39
+ set(x, idx, 0);
40
+ set(y, idx, 1);
41
+ set(x, idx + 1, 0);
42
+ set(y, idx + 1, 1);
43
+ }
44
+ // We collapse the cylinder because it will
45
+ // be instantiated with two tips points and radii.
46
+ for (let idx = 0; idx < tips.length; idx++) {
47
+ const shiftZ = tips[idx] === 0 ? +1 : -1;
48
+ offset[idx * 3 + 2] += shiftZ;
32
49
  }
50
+ capsule.set("POSITION", new Float32Array(offset));
51
+ capsule.set("attTip", new Float32Array(tips));
52
+ return geometry;
53
+ }
54
+ function makeTip(roundness, angleStepCylinder, offset, tips, elements) {
33
55
  const rings = Math.max(2, Math.ceil(roundness / 2));
34
56
  const angleStepRing = (0.5 * Math.PI) / rings;
35
57
  for (let ring = 1; ring < rings; ring++) {
@@ -37,7 +59,7 @@ export function makeCapsule(roundness) {
37
59
  const z = Math.sin(phi);
38
60
  const radius = Math.cos(phi);
39
61
  for (let face1 = 0; face1 < roundness; face1++) {
40
- const angle = angleStep * face1;
62
+ const angle = angleStepCylinder * face1;
41
63
  const x = Math.cos(angle) * radius;
42
64
  const y = Math.sin(angle) * radius;
43
65
  offset.push(x, y, z + 1);
@@ -70,40 +92,24 @@ export function makeCapsule(roundness) {
70
92
  elements.push(idx0 + 0, idx1 + 0, endIndex + 0);
71
93
  elements.push(idx1 + 1, idx0 + 1, endIndex + 1);
72
94
  }
73
- const capsule = new TgdDataset({
74
- attTip: "float",
75
- POSITION: "vec3",
76
- NORMAL: "vec3",
77
- });
78
- capsule.set("POSITION", new Float32Array(offset));
79
- capsule.set("attTip", new Float32Array(tips));
80
- const geometry = new TgdGeometry({
81
- dataset: capsule,
82
- elements: new Uint16Array(elements),
83
- computeNormalsIfMissing: true,
84
- // attPosition: "attPosition",
85
- // attNormal: "attNormal",
86
- });
87
- const { set, get } = capsule.getAttribAccessor("NORMAL");
88
- // The cylinder must be really flat
89
- for (let idx = 0; idx < roundness * 2; idx += 2) {
90
- set(0, idx, 2);
91
- set(0, idx + 1, 2);
92
- const x = (get(idx, 0) + get(idx + 1, 0)) / 2;
93
- const y = (get(idx, 1) + get(idx + 1, 1)) / 2;
94
- set(x, idx, 0);
95
- set(y, idx, 1);
96
- set(x, idx + 1, 0);
97
- set(y, idx + 1, 1);
98
- }
99
- // We collapse the cylinder because it will
100
- // be instantiated with two tips points and radii.
101
- for (let idx = 0; idx < tips.length; idx++) {
102
- const shiftZ = tips[idx] === 0 ? +1 : -1;
103
- offset[idx * 3 + 2] += shiftZ;
95
+ }
96
+ function makeCylinder(roundness, offset, tips, elements) {
97
+ const angleStep = TAU / roundness;
98
+ for (let face = 0; face < roundness; face++) {
99
+ const angle = angleStep * face;
100
+ const x = Math.cos(angle);
101
+ const y = Math.sin(angle);
102
+ offset.push(x, y, +1);
103
+ tips.push(1);
104
+ offset.push(x, y, -1);
105
+ tips.push(0);
106
+ const top1 = face * 2;
107
+ const bottom1 = top1 + 1;
108
+ const top2 = ((face + 1) % roundness) * 2;
109
+ const bottom2 = top2 + 1;
110
+ elements.push(top2, top1, bottom1);
111
+ elements.push(top2, bottom1, bottom2);
104
112
  }
105
- capsule.set("POSITION", new Float32Array(offset));
106
- capsule.set("attTip", new Float32Array(tips));
107
- return geometry;
113
+ return angleStep;
108
114
  }
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fwc3VsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWludGVyL3NlZ21lbnRzL2NhcHN1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTNDLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFBO0FBRXZCOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLFNBQWlCO0lBQ3pDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUNsQyxNQUFNLElBQUksR0FBYSxFQUFFLENBQUE7SUFDekIsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFBO0lBQzNCLE1BQU0sUUFBUSxHQUFhLEVBQUUsQ0FBQTtJQUM3QixNQUFNLFNBQVMsR0FBRyxHQUFHLEdBQUcsU0FBUyxDQUFBO0lBQ2pDLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksR0FBRyxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUMxQyxNQUFNLEtBQUssR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFBO1FBQzlCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDekIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN6QixNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ1osTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENB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
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fwc3VsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWludGVyL3NlZ21lbnRzL2NhcHN1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTNDLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFBO0FBRXZCOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLFNBQWlCO0lBQ3pDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUNsQyxNQUFNLElBQUksR0FBYSxFQUFFLENBQUE7SUFDekIsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFBO0lBQzNCLE1BQU0sUUFBUSxHQUFhLEVBQUUsQ0FBQTtJQUM3QixNQUFNLGlCQUFpQixHQUFHLFlBQVksQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUN6RSxPQUFPLENBQUMsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDN0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxVQUFVLENBQUM7UUFDM0IsTUFBTSxFQUFFLE9BQU87UUFDZixRQUFRLEVBQUUsTUFBTTtRQUNoQixNQUFNLEVBQUUsTUFBTTtLQUNqQixDQUFDLENBQUE7SUFDRixPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBQ2pELE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDN0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxXQUFXLENB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
@@ -1 +1 @@
1
- {"version":3,"file":"segments-morphing.d.ts","sourceRoot":"","sources":["../../../src/painter/segments/segments-morphing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,KAAK,WAAW,EAA8B,MAAM,eAAe,CAAA;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAK3C,KAAK,aAAa,GAAG,UAAU,GAAG,CAAC,MAAM,UAAU,CAAC,CAAA;AAEpD,MAAM,MAAM,iCAAiC,GAAG;IAC/C;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAA;IACtB;;;OAGG;IACH,aAAa,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE,CAAA;CAC/C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,0BAA2B,SAAQ,UAAU;IAsBxD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE;QAC3B,EAAE,EAAE,sBAAsB,CAAA;QAC1B,WAAW,EAAE,WAAW,CAAA;QACxB,MAAM,EAAE,SAAS,CAAA;KACjB;IAzBF,SAAgB,OAAO,aAAmB;IACnC,YAAY,EAAE,YAAY,CAAA;IAC1B,SAAS,SAAI;IACb,gBAAgB,SAAI;IACpB,cAAc,SAAI;IAClB,YAAY,SAAI;IAChB,aAAa,SAAI;IACxB;;;OAGG;IACI,GAAG,SAAI;IAEd,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;gBAKlB,OAAO,EAAE;QAC3B,EAAE,EAAE,sBAAsB,CAAA;QAC1B,WAAW,EAAE,WAAW,CAAA;QACxB,MAAM,EAAE,SAAS,CAAA;KACjB,EACD,OAAO,EAAE,iCAAiC;IAuK3C,MAAM,IAAI,IAAI;IAKd,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAyBxC,OAAO,KAAK,GAAG,GAEd;CACD"}
1
+ {"version":3,"file":"segments-morphing.d.ts","sourceRoot":"","sources":["../../../src/painter/segments/segments-morphing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,KAAK,WAAW,EAA8B,MAAM,eAAe,CAAA;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAK3C,KAAK,aAAa,GAAG,UAAU,GAAG,CAAC,MAAM,UAAU,CAAC,CAAA;AAEpD,MAAM,MAAM,iCAAiC,GAAG;IAC/C;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAA;IACtB;;;OAGG;IACH,aAAa,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE,CAAA;CAC/C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,0BAA2B,SAAQ,UAAU;IAsBxD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE;QAC3B,EAAE,EAAE,sBAAsB,CAAA;QAC1B,WAAW,EAAE,WAAW,CAAA;QACxB,MAAM,EAAE,SAAS,CAAA;KACjB;IAzBF,SAAgB,OAAO,aAAmB;IACnC,YAAY,EAAE,YAAY,CAAA;IAC1B,SAAS,SAAI;IACb,gBAAgB,SAAI;IACpB,cAAc,SAAI;IAClB,YAAY,SAAI;IAChB,aAAa,SAAI;IACxB;;;OAGG;IACI,GAAG,SAAI;IAEd,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;gBAKlB,OAAO,EAAE;QAC3B,EAAE,EAAE,sBAAsB,CAAA;QAC1B,WAAW,EAAE,WAAW,CAAA;QACxB,MAAM,EAAE,SAAS,CAAA;KACjB,EACD,OAAO,EAAE,iCAAiC;IAyK3C,MAAM,IAAI,IAAI;IAKd,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IA0BxC,OAAO,KAAK,GAAG,GAEd;CACD"}
@@ -55,7 +55,7 @@ export class TgdPainterSegmentsMorphing extends TgdPainter {
55
55
  const material = (_b = options.material) !== null && _b !== void 0 ? _b : new TgdMaterialFaceOrientation();
56
56
  this.material = material;
57
57
  material.attPosition = geometry.attPosition;
58
- material.attNormal = geometry.attNormal;
58
+ material.attNormal = "normal";
59
59
  material.attUV =
60
60
  "((mix(attUV0_A, attUV0_B, uniMix) + mix(attUV1_A, attUV1_B, uniMix)) * .5)";
61
61
  this.minRadius = minRadius;
@@ -75,9 +75,9 @@ export class TgdPainterSegmentsMorphing extends TgdPainter {
75
75
  })
76
76
  .loadBitmap(tgdCanvasCreatePalette(["#f44", "#ff4", "#4f4", "#4ff", "#44f"]));
77
77
  const vert = new TgdShaderVertex({
78
- uniforms: Object.assign({ uniMix: "float", uniTransfoMatrix: "mat4", uniModelViewMatrix: "mat4", uniProjectionMatrix: "mat4", uniMinRadius: "float", uniRadiusMultiplier: "float" }, material.uniforms),
78
+ uniforms: Object.assign({ uniMix: "float", uniTransfoMatrix: "mat4", uniModelViewMatrix: "mat4", uniProjectionMatrix: "mat4", uniPixelPerScreenUnit: "float", uniMinRadiusInPixel: "float", uniRadiusMultiplier: "float" }, material.uniforms),
79
79
  attributes: {
80
- [geometry.attPosition]: "vec3",
80
+ [geometry.attPosition]: "vec4",
81
81
  [geometry.attNormal]: "vec3",
82
82
  attTip: "float",
83
83
  attXYZR0_A: "vec4",
@@ -89,30 +89,31 @@ export class TgdPainterSegmentsMorphing extends TgdPainter {
89
89
  attUV1_A: "vec2",
90
90
  attUV1_B: "vec2",
91
91
  },
92
- varying: Object.assign(Object.assign({}, material.varyings), { varNormal: "vec3" }),
93
- functions: Object.assign(Object.assign({}, material.extraVertexShaderFunctions), { applyMaterial: [
94
- "void applyMaterial() {",
95
- [material.vertexShaderCode],
96
- "}",
97
- ], getPosition: [
92
+ varying: Object.assign({}, material.varyings),
93
+ functions: Object.assign(Object.assign({}, material.extraVertexShaderFunctions), { getPosition: [
98
94
  "vec4 getPosition(vec4 pos) {",
99
95
  [(_c = material.vertexShaderCodeForGetPosition) !== null && _c !== void 0 ? _c : "return pos;"],
100
96
  "}",
97
+ ], applyMaterial: [
98
+ "void applyMaterial(vec3 position, vec3 normal, vec2 uv) {",
99
+ [material.vertexShaderCode],
100
+ "}",
101
101
  ] }),
102
102
  mainCode: [
103
103
  "vec4 attXYZR0 = mix(attXYZR0_A, attXYZR0_B, uniMix);",
104
104
  "vec4 attXYZR1 = mix(attXYZR1_A, attXYZR1_B, uniMix);",
105
105
  "vec2 attUV0 = mix(attUV0_A, attUV0_B, uniMix);",
106
106
  "vec2 attUV1 = mix(attUV1_A, attUV1_B, uniMix);",
107
- "vec3 normal = NORMAL;",
108
- "vec3 pos = POSITION;",
107
+ `vec3 normal = ${geometry.attNormal};`,
108
+ `vec3 pos = getPosition(${geometry.attPosition}).xyz;`,
109
109
  "vec4 xyzr = mix(attXYZR0, attXYZR1, attTip);",
110
110
  "vec3 center = xyzr.xyz;",
111
+ "vec4 centerInCameraSpace = uniModelViewMatrix * uniTransfoMatrix * vec4(center, 1);",
112
+ "vec4 centerInScreenSpace = uniProjectionMatrix * centerInCameraSpace;",
113
+ "float screenUnitPerCameraUnit = (uniProjectionMatrix * vec4(0, 1, centerInCameraSpace.z, 1)).y / centerInScreenSpace.w;",
114
+ "float minRadiusInCameraUnit = uniMinRadiusInPixel / (uniPixelPerScreenUnit * screenUnitPerCameraUnit);",
111
115
  "float radius = max(",
112
- [
113
- "xyzr.w * uniRadiusMultiplier,",
114
- "uniMinRadius * (uniProjectionMatrix * uniModelViewMatrix * uniTransfoMatrix * vec4(center, 1)).w",
115
- ],
116
+ ["xyzr.w * uniRadiusMultiplier,", "minRadiusInCameraUnit"],
116
117
  ");",
117
118
  "vec3 dir = attXYZR1.xyz - attXYZR0.xyz;",
118
119
  "float len = length(dir);",
@@ -122,9 +123,10 @@ export class TgdPainterSegmentsMorphing extends TgdPainter {
122
123
  [
123
124
  "// Full capsule",
124
125
  "vec3 Z = dir / len;",
125
- "vec3 v = abs(Z.z) > 0.7 ? vec3(1,0,0) : vec3(0,0,1);",
126
- "vec3 Y = cross(v, Z);",
127
- "vec3 X = cross(Y, Z);",
126
+ "bool yUp = abs(Z.y) < 0.9;",
127
+ "vec3 fakeY = yUp ? vec3(0,1,0) : vec3(0,0,1);",
128
+ "vec3 X = cross(fakeY, Z);",
129
+ "vec3 Y = cross(Z, X);",
128
130
  "mat3 mat = mat3(X, Y, Z);",
129
131
  "pos *= radius;",
130
132
  "pos = mat * pos + center.xyz;",
@@ -132,11 +134,11 @@ export class TgdPainterSegmentsMorphing extends TgdPainter {
132
134
  ],
133
135
  "}",
134
136
  "gl_Position = uniProjectionMatrix * uniModelViewMatrix * uniTransfoMatrix * vec4(pos, 1);",
135
- "applyMaterial();",
136
- "varNormal = normal;",
137
+ `applyMaterial(pos, normal, ${material.attUV}.xy);`,
137
138
  ],
138
139
  }).code;
139
140
  const frag = new TgdShaderFragment({
141
+ header: material.fragmentShaderHeader,
140
142
  uniforms: material.uniforms,
141
143
  outputs: { FragColor: "vec4" },
142
144
  varying: material.varyings,
@@ -192,8 +194,9 @@ export class TgdPainterSegmentsMorphing extends TgdPainter {
192
194
  prg.use();
193
195
  (_b = (_a = this.material).setUniforms) === null || _b === void 0 ? void 0 : _b.call(_a, { program: prg, context, time, delay });
194
196
  prg.uniform1f("uniMix", this.mix);
197
+ prg.uniform1f("uniPixelPerScreenUnit", gl.drawingBufferHeight);
198
+ prg.uniform1f("uniMinRadiusInPixel", this.minRadius);
195
199
  prg.uniform1f("uniRadiusMultiplier", this.radiusMultiplier);
196
- prg.uniform1f("uniMinRadius", (this.minRadius * 2) / gl.drawingBufferHeight);
197
200
  prg.uniformMatrix4fv("uniTransfoMatrix", this.transfo.matrix);
198
201
  prg.uniformMatrix4fv("uniModelViewMatrix", camera.matrixModelView);
199
202
  prg.uniformMatrix4fv("uniProjectionMatrix", camera.matrixProjection);
@@ -212,4 +215,4 @@ function extract(arg) {
212
215
  return arg();
213
216
  return arg;
214
217
  }
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudHMtbW9ycGhpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFpbnRlci9zZWdtZW50cy9zZWdtZW50cy1tb3JwaGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQW9CLDBCQUEwQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzVFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFnQ3ZDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUNILE1BQU0sT0FBTywwQkFBMkIsU0FBUSxVQUFVO0lBbUJ6RCx1Q0FBdUM7SUFFdkMsWUFDb0IsT0FJbEIsRUFDRCxPQUEwQzs7UUFFMUMsS0FBSyxFQUFFLENBQUE7UUFQWSxZQUFPLEdBQVAsT0FBTyxDQUl6QjtRQXpCYyxZQUFPLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQTtRQUVuQyxjQUFTLEdBQUcsQ0FBQyxDQUFBO1FBQ2IscUJBQWdCLEdBQUcsQ0FBQyxDQUFBO1FBQ3BCLG1CQUFjLEdBQUcsQ0FBQyxDQUFBO1FBQ2xCLGlCQUFZLEdBQUcsQ0FBQyxDQUFBO1FBQ2hCLGtCQUFhLEdBQUcsQ0FBQyxDQUFBO1FBQ3hCOzs7V0FHRztRQUNJLFFBQUcsR0FBRyxDQUFDLENBQUE7UUFr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
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudHMtbW9ycGhpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFpbnRlci9zZWdtZW50cy9zZWdtZW50cy1tb3JwaGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQW9CLDBCQUEwQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzVFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFnQ3ZDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUNILE1BQU0sT0FBTywwQkFBMkIsU0FBUSxVQUFVO0lBbUJ6RCx1Q0FBdUM7SUFFdkMsWUFDb0IsT0FJbEIsRUFDRCxPQUEwQzs7UUFFMUMsS0FBSyxFQUFFLENBQUE7UUFQWSxZQUFPLEdBQVAsT0FBTyxDQUl6QjtRQXpCYyxZQUFPLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQTtRQUVuQyxjQUFTLEdBQUcsQ0FBQyxDQUFBO1FBQ2IscUJBQWdCLEdBQUcsQ0FBQyxDQUFBO1FBQ3BCLG1CQUFjLEdBQUcsQ0FBQyxDQUFBO1FBQ2xCLGlCQUFZLEdBQUcsQ0FBQyxDQUFBO1FBQ2hCLGtCQUFhLEdBQUcsQ0FBQyxDQUFBO1FBQ3hCOzs7V0FHRztRQUNJLFFBQUcsR0FBRyxDQUFDLENBQUE7UUFr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
@@ -88,6 +88,7 @@ export declare class TgdPainterSegments extends TgdPainter {
88
88
  webglParams: WebglParams;
89
89
  camera: TgdCamera;
90
90
  }, options: TgdPainterSegmentsOptions);
91
+ debug(caption?: string): void;
91
92
  getBuffer(): TgdBuffer | undefined;
92
93
  delete(): void;
93
94
  paint(time: number, delay: number): void;
@@ -1 +1 @@
1
- {"version":3,"file":"segments.d.ts","sourceRoot":"","sources":["../../../src/painter/segments/segments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"segments.d.ts","sourceRoot":"","sources":["../../../src/painter/segments/segments.ts"],"names":[],"mappings":"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"}
@@ -61,7 +61,7 @@ export class TgdPainterSegments extends TgdPainter {
61
61
  const material = (_b = options.material) !== null && _b !== void 0 ? _b : new TgdMaterialFaceOrientation();
62
62
  this.material = material;
63
63
  material.attPosition = geometry.attPosition;
64
- material.attNormal = geometry.attNormal;
64
+ material.attNormal = "normal"; // geometry.attNormal
65
65
  material.attUV = "((attUV0 + attUV1) * .5)";
66
66
  this.minRadius = minRadius;
67
67
  if (roundness > 127) {
@@ -71,9 +71,9 @@ export class TgdPainterSegments extends TgdPainter {
71
71
  throw new Error("[TgdPainterSegments] Min roundness is 0!");
72
72
  }
73
73
  const vert = new TgdShaderVertex({
74
- uniforms: Object.assign({ uniTransfoMatrix: "mat4", uniModelViewMatrix: "mat4", uniProjectionMatrix: "mat4", uniMinRadius: "float", uniRadiusMultiplier: "float" }, material.uniforms),
74
+ uniforms: Object.assign({ uniTransfoMatrix: "mat4", uniModelViewMatrix: "mat4", uniProjectionMatrix: "mat4", uniPixelPerScreenUnit: "float", uniMinRadiusInPixel: "float", uniRadiusMultiplier: "float" }, material.uniforms),
75
75
  attributes: {
76
- [geometry.attPosition]: "vec3",
76
+ [geometry.attPosition]: "vec4",
77
77
  [geometry.attNormal]: "vec3",
78
78
  attTip: "float",
79
79
  attXYZR0: "vec4",
@@ -81,26 +81,27 @@ export class TgdPainterSegments extends TgdPainter {
81
81
  attUV0: "vec2",
82
82
  attUV1: "vec2",
83
83
  },
84
- varying: Object.assign(Object.assign({}, material.varyings), { varNormal: "vec3" }),
85
- functions: Object.assign(Object.assign({}, material.extraVertexShaderFunctions), { applyMaterial: [
86
- "void applyMaterial() {",
87
- [material.vertexShaderCode],
88
- "}",
89
- ], getPosition: [
84
+ varying: Object.assign({}, material.varyings),
85
+ functions: Object.assign(Object.assign({}, material.extraVertexShaderFunctions), { getPosition: [
90
86
  "vec4 getPosition(vec4 pos) {",
91
87
  [(_c = material.vertexShaderCodeForGetPosition) !== null && _c !== void 0 ? _c : "return pos;"],
92
88
  "}",
89
+ ], applyMaterial: [
90
+ "void applyMaterial(vec3 position, vec3 normal, vec2 uv) {",
91
+ [material.vertexShaderCode],
92
+ "}",
93
93
  ] }),
94
94
  mainCode: [
95
- "vec3 normal = NORMAL;",
96
- "vec3 pos = POSITION;",
95
+ `vec3 normal = ${geometry.attNormal};`,
96
+ `vec3 pos = getPosition(${geometry.attPosition}).xyz;`,
97
97
  "vec4 xyzr = mix(attXYZR0, attXYZR1, attTip);",
98
98
  "vec3 center = xyzr.xyz;",
99
+ "vec4 centerInCameraSpace = uniModelViewMatrix * uniTransfoMatrix * vec4(center, 1);",
100
+ "vec4 centerInScreenSpace = uniProjectionMatrix * centerInCameraSpace;",
101
+ "float screenUnitPerCameraUnit = (uniProjectionMatrix * vec4(0, 1, centerInCameraSpace.z, 1)).y / centerInScreenSpace.w;",
102
+ "float minRadiusInCameraUnit = uniMinRadiusInPixel / (uniPixelPerScreenUnit * screenUnitPerCameraUnit);",
99
103
  "float radius = max(",
100
- [
101
- "xyzr.w * uniRadiusMultiplier,",
102
- "uniMinRadius * (uniProjectionMatrix * uniModelViewMatrix * uniTransfoMatrix * vec4(center, 1)).w",
103
- ],
104
+ ["xyzr.w * uniRadiusMultiplier,", "minRadiusInCameraUnit"],
104
105
  ");",
105
106
  "vec3 dir = attXYZR1.xyz - attXYZR0.xyz;",
106
107
  "float len = length(dir);",
@@ -110,9 +111,10 @@ export class TgdPainterSegments extends TgdPainter {
110
111
  [
111
112
  "// Full capsule",
112
113
  "vec3 Z = dir / len;",
113
- "vec3 v = abs(Z.z) > 0.7 ? vec3(1,0,0) : vec3(0,0,1);",
114
- "vec3 Y = cross(v, Z);",
115
- "vec3 X = cross(Y, Z);",
114
+ "bool yUp = abs(Z.y) < 0.9;",
115
+ "vec3 fakeY = yUp ? vec3(0,1,0) : vec3(0,0,1);",
116
+ "vec3 X = cross(fakeY, Z);",
117
+ "vec3 Y = cross(Z, X);",
116
118
  "mat3 mat = mat3(X, Y, Z);",
117
119
  "pos *= radius;",
118
120
  "pos = mat * pos + center.xyz;",
@@ -120,14 +122,14 @@ export class TgdPainterSegments extends TgdPainter {
120
122
  ],
121
123
  "}",
122
124
  "gl_Position = uniProjectionMatrix * uniModelViewMatrix * uniTransfoMatrix * vec4(pos, 1);",
123
- "applyMaterial();",
124
- "varNormal = normal;",
125
+ `applyMaterial(pos, normal, ${material.attUV}.xy);`,
125
126
  ],
126
127
  }).code;
127
128
  const frag = new TgdShaderFragment({
129
+ header: material.fragmentShaderHeader,
128
130
  uniforms: material.uniforms,
129
131
  outputs: { FragColor: "vec4" },
130
- varying: material.varyings,
132
+ varying: Object.assign({}, material.varyings),
131
133
  functions: Object.assign(Object.assign({}, material.extraFragmentShaderFunctions), { applyMaterial: [
132
134
  "vec4 applyMaterial() {",
133
135
  [material.fragmentShaderCode],
@@ -168,6 +170,9 @@ export class TgdPainterSegments extends TgdPainter {
168
170
  }
169
171
  this.vertexCount = (_e = (_d = geometry.elements) === null || _d === void 0 ? void 0 : _d.length) !== null && _e !== void 0 ? _e : 0;
170
172
  }
173
+ debug(caption) {
174
+ this.prg.debug(caption !== null && caption !== void 0 ? caption : this.name);
175
+ }
171
176
  getBuffer() {
172
177
  return this.vao.getBuffer(1);
173
178
  }
@@ -182,7 +187,8 @@ export class TgdPainterSegments extends TgdPainter {
182
187
  gl.disable(gl.DITHER);
183
188
  prg.use();
184
189
  (_b = (_a = this.material).setUniforms) === null || _b === void 0 ? void 0 : _b.call(_a, { program: prg, context, time, delay });
185
- prg.uniform1f("uniMinRadius", (this.minRadius * 2) / gl.drawingBufferHeight);
190
+ prg.uniform1f("uniPixelPerScreenUnit", gl.drawingBufferHeight);
191
+ prg.uniform1f("uniMinRadiusInPixel", this.minRadius);
186
192
  prg.uniform1f("uniRadiusMultiplier", this.radiusMultiplier);
187
193
  prg.uniformMatrix4fv("uniTransfoMatrix", this.transfo.matrix);
188
194
  prg.uniformMatrix4fv("uniModelViewMatrix", camera.matrixModelView);
@@ -267,4 +273,4 @@ function extract(arg) {
267
273
  return arg();
268
274
  return arg;
269
275
  }
270
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFpbnRlci9zZWdtZW50cy9zZWdtZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3pDLE9BQU8sRUFBb0IsMEJBQTBCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRWhFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQW9DdkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFVBQVU7SUFDakQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUNwQixRQUFRLEdBQUcsVUFBVSxFQUNyQixNQUFNLEdBQUcsUUFBUSxFQUNqQixhQUFhLEdBQUcsZUFBZSxFQUMvQixRQUFRLEdBQUcsVUFBVSxFQUNyQixNQUFNLEdBQUcsUUFBUSxFQUNqQixhQUFhLEdBQUcsZUFBZSxFQUMvQixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sTUFXRixFQUFFO1FBQ04sTUFBTSxPQUFPLEdBQUcsSUFBSSxVQUFVLENBQzdCO1lBQ0MsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNO1lBQ2xCLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTTtZQUNoQixDQUFDLGFBQWEsQ0FBQyxFQUFFLE9BQU87WUFDeEIsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNO1lBQ2xCLENBQUMs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
276
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFpbnRlci9zZWdtZW50cy9zZWdtZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3pDLE9BQU8sRUFBb0IsMEJBQTBCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRWhFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQW9DdkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFVBQVU7SUFDOUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUNqQixRQUFRLEdBQUcsVUFBVSxFQUNyQixNQUFNLEdBQUcsUUFBUSxFQUNqQixhQUFhLEdBQUcsZUFBZSxFQUMvQixRQUFRLEdBQUcsVUFBVSxFQUNyQixNQUFNLEdBQUcsUUFBUSxFQUNqQixhQUFhLEdBQUcsZUFBZSxFQUMvQixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sTUFXTCxFQUFFO1FBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBSSxVQUFVLENBQzFCO1lBQ0ksQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNO1lBQ2xCLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTTtZQUNoQixDQUFDLGFBQWEsQ0FBQyxFQUFFLE9BQU87WUFDeEIsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNO1lBQ2xCLENBQUMs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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tolokoban/tgd",
3
- "version": "2.0.94",
3
+ "version": "2.0.95",
4
4
  "description": "ToloGameDev library for WebGL2",
5
5
  "homepage": "https://tolokoban.github.io/tgd2",
6
6
  "main": "./lib/dist/index.js",