@tolokoban/tgd 2.0.11 → 2.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/dist/camera/camera-node.d.ts +16 -0
- package/lib/dist/camera/camera-node.d.ts.map +1 -0
- package/lib/dist/camera/camera-node.js +18 -0
- package/lib/dist/camera/camera.d.ts +1 -0
- package/lib/dist/camera/camera.d.ts.map +1 -1
- package/lib/dist/camera/camera.js +18 -3
- package/lib/dist/camera/index.d.ts +1 -0
- package/lib/dist/camera/index.d.ts.map +1 -1
- package/lib/dist/camera/index.js +2 -1
- package/lib/dist/context/animation/animation-manager.d.ts.map +1 -1
- package/lib/dist/context/animation/animation-manager.js +9 -1
- package/lib/dist/context/context.d.ts +5 -0
- package/lib/dist/context/context.d.ts.map +1 -1
- package/lib/dist/context/context.js +8 -2
- package/lib/dist/dataset/dataset.d.ts +8 -0
- package/lib/dist/dataset/dataset.d.ts.map +1 -1
- package/lib/dist/dataset/dataset.js +65 -8
- package/lib/dist/debug/debug.d.ts +8 -0
- package/lib/dist/debug/debug.d.ts.map +1 -0
- package/lib/dist/debug/debug.js +32 -0
- package/lib/dist/debug/index.d.ts +3 -0
- package/lib/dist/debug/index.d.ts.map +1 -0
- package/lib/dist/debug/index.js +3 -0
- package/lib/dist/debug/tools.d.ts +2 -0
- package/lib/dist/debug/tools.d.ts.map +1 -0
- package/lib/dist/debug/tools.js +13 -0
- package/lib/dist/geometry/box.d.ts +2 -0
- package/lib/dist/geometry/box.d.ts.map +1 -1
- package/lib/dist/geometry/box.js +10 -1
- package/lib/dist/geometry/geometry.d.ts.map +1 -1
- package/lib/dist/geometry/geometry.js +6 -4
- package/lib/dist/loader/binary.d.ts +4 -0
- package/lib/dist/loader/binary.d.ts.map +1 -0
- package/lib/dist/loader/binary.js +25 -0
- package/lib/dist/loader/image.d.ts +7 -8
- package/lib/dist/loader/image.d.ts.map +1 -1
- package/lib/dist/loader/image.js +31 -30
- package/lib/dist/loader/index.d.ts +1 -1
- package/lib/dist/loader/index.d.ts.map +1 -1
- package/lib/dist/loader/index.js +2 -2
- package/lib/dist/material/diffuse.d.ts.map +1 -1
- package/lib/dist/material/diffuse.js +3 -2
- package/lib/dist/math/mat4.d.ts +7 -2
- package/lib/dist/math/mat4.d.ts.map +1 -1
- package/lib/dist/math/mat4.js +21 -4
- package/lib/dist/math/quat.d.ts +8 -0
- package/lib/dist/math/quat.d.ts.map +1 -1
- package/lib/dist/math/quat.js +71 -3
- package/lib/dist/math/transfo.d.ts +5 -0
- package/lib/dist/math/transfo.d.ts.map +1 -1
- package/lib/dist/math/transfo.js +25 -1
- package/lib/dist/math/vec3.d.ts +3 -2
- package/lib/dist/math/vec3.d.ts.map +1 -1
- package/lib/dist/math/vec3.js +8 -5
- package/lib/dist/painter/group.d.ts +1 -0
- package/lib/dist/painter/group.d.ts.map +1 -1
- package/lib/dist/painter/group.js +7 -1
- package/lib/dist/painter/mesh/gltf/gltf.d.ts.map +1 -1
- package/lib/dist/painter/mesh/gltf/gltf.js +18 -10
- package/lib/dist/painter/node.d.ts +6 -0
- package/lib/dist/painter/node.d.ts.map +1 -1
- package/lib/dist/painter/node.js +7 -1
- package/lib/dist/painter/state/state.d.ts +9 -10
- package/lib/dist/painter/state/state.d.ts.map +1 -1
- package/lib/dist/painter/state/state.js +23 -25
- package/lib/dist/parser/gltf/gltf.d.ts +6 -1
- package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
- package/lib/dist/parser/gltf/gltf.js +12 -2
- package/lib/dist/program/program.d.ts +3 -1
- package/lib/dist/program/program.d.ts.map +1 -1
- package/lib/dist/program/program.js +25 -7
- package/lib/dist/texture/texture2d.d.ts.map +1 -1
- package/lib/dist/texture/texture2d.js +4 -4
- package/lib/dist/texture/textureCube.js +3 -3
- package/lib/dist/tools.d.ts +2 -0
- package/lib/dist/tools.d.ts.map +1 -0
- package/lib/dist/tools.js +13 -0
- package/lib/dist/types/animation.d.ts +4 -0
- package/lib/dist/types/animation.d.ts.map +1 -1
- package/lib/dist/types/program.d.ts +3 -1
- package/lib/dist/types/program.d.ts.map +1 -1
- package/lib/dist/types/webgl.d.ts +127 -0
- package/lib/dist/types/webgl.d.ts.map +1 -1
- package/lib/dist/types/webgl.js +132 -2
- package/lib/dist/utils/assert.d.ts +2 -0
- package/lib/dist/utils/assert.d.ts.map +1 -0
- package/lib/dist/utils/assert.js +10 -0
- package/lib/dist/utils/bbox.d.ts +15 -0
- package/lib/dist/utils/bbox.d.ts.map +1 -0
- package/lib/dist/utils/bbox.js +31 -0
- package/lib/dist/utils/bbox.test.d.ts +2 -0
- package/lib/dist/utils/bbox.test.d.ts.map +1 -0
- package/lib/dist/utils/bbox.test.js +46 -0
- package/lib/dist/utils/index.d.ts +3 -0
- package/lib/dist/utils/index.d.ts.map +1 -1
- package/lib/dist/utils/index.js +4 -1
- package/lib/dist/utils/state/blend.d.ts +16 -0
- package/lib/dist/utils/state/blend.d.ts.map +1 -0
- package/lib/dist/utils/state/blend.js +84 -0
- package/lib/dist/utils/state/cull.d.ts +11 -0
- package/lib/dist/utils/state/cull.d.ts.map +1 -0
- package/lib/dist/utils/state/cull.js +50 -0
- package/lib/dist/utils/state/depth.d.ts +14 -0
- package/lib/dist/utils/state/depth.d.ts.map +1 -0
- package/lib/dist/utils/state/depth.js +81 -0
- package/lib/dist/utils/state/index.d.ts +3 -0
- package/lib/dist/utils/state/index.d.ts.map +1 -0
- package/lib/dist/utils/state/index.js +3 -0
- package/lib/dist/utils/webgl.d.ts +1 -1
- package/lib/dist/utils/webgl.d.ts.map +1 -1
- package/lib/dist/utils/webgl.js +1 -1
- package/lib/dist/vao/vao.d.ts +4 -1
- package/lib/dist/vao/vao.d.ts.map +1 -1
- package/lib/dist/vao/vao.js +15 -1
- package/package.json +1 -1
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { debug, highlightEnum } from "./../../debug/debug.js";
|
|
2
|
+
import { WebglEnumCullFace } from "./../../types/index.js";
|
|
3
|
+
export const webglPresetCull = {
|
|
4
|
+
back: {
|
|
5
|
+
enabled: true,
|
|
6
|
+
cullFace: WebglEnumCullFace.BACK,
|
|
7
|
+
},
|
|
8
|
+
};
|
|
9
|
+
export function webglCullSet(gl, cull) {
|
|
10
|
+
if (cull.enabled)
|
|
11
|
+
gl.enable(gl.CULL_FACE);
|
|
12
|
+
else
|
|
13
|
+
gl.disable(gl.CULL_FACE);
|
|
14
|
+
gl.cullFace(cull.cullFace);
|
|
15
|
+
}
|
|
16
|
+
export function webglCullGet(gl) {
|
|
17
|
+
return {
|
|
18
|
+
enabled: Boolean(gl.getParameter(gl.CULL_FACE)),
|
|
19
|
+
cullFace: gl.getParameter(gl.CULL_FACE_MODE),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export function webglCullExec(gl, cull, action) {
|
|
23
|
+
const currentState = webglCullGet(gl);
|
|
24
|
+
webglCullSet(gl, cull);
|
|
25
|
+
try {
|
|
26
|
+
action();
|
|
27
|
+
}
|
|
28
|
+
finally {
|
|
29
|
+
webglCullSet(gl, currentState);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export function webglDebugCull(gl, caption = "Cull enabled:") {
|
|
33
|
+
console.log(caption);
|
|
34
|
+
const cull = webglCullGet(gl);
|
|
35
|
+
debug([
|
|
36
|
+
[caption, cull.enabled, "\n"],
|
|
37
|
+
[
|
|
38
|
+
{ cls: "code" },
|
|
39
|
+
[
|
|
40
|
+
"gl.",
|
|
41
|
+
cull.enabled ? "enable" : "disable",
|
|
42
|
+
"(",
|
|
43
|
+
highlightEnum("CULL_FACE"),
|
|
44
|
+
")\n",
|
|
45
|
+
],
|
|
46
|
+
["gl.cullFace(", highlightEnum(cull.cullFace), ")\n"],
|
|
47
|
+
],
|
|
48
|
+
]);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9zdGF0ZS9jdWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFBO0FBTzlDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBcUM7SUFDN0QsSUFBSSxFQUFFO1FBQ0YsT0FBTyxFQUFFLElBQUk7UUFDYixRQUFRLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtLQUNuQztDQUNKLENBQUE7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUN4QixFQUEwQixFQUMxQixJQUFzQjtJQUV0QixJQUFJLElBQUksQ0FBQyxPQUFPO1FBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUE7O1FBQ3BDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzdCLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBQzlCLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEVBQTBCO0lBQ25ELE9BQU87UUFDSCxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLFFBQVEsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQVc7S0FDekQsQ0FBQTtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUN6QixFQUEwQixFQUMxQixJQUFzQixFQUN0QixNQUFrQjtJQUVsQixNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDckMsWUFBWSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUN0QixJQUFJLENBQUM7UUFDRCxNQUFNLEVBQUUsQ0FBQTtJQUNaLENBQUM7WUFBUyxDQUFDO1FBQ1AsWUFBWSxDQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQzFCLEVBQTBCLEVBQzFCLE9BQU8sR0FBRyxlQUFlO0lBRXpCLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDcEIsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQzdCLEtBQUssQ0FBQztRQUNGLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO1FBQzdCO1lBQ0ksRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFO1lBQ2Y7Z0JBQ0ksS0FBSztnQkFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVM7Z0JBQ25DLEdBQUc7Z0JBQ0gsYUFBYSxDQUFDLFdBQVcsQ0FBQztnQkFDMUIsS0FBSzthQUNSO1lBQ0QsQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUM7U0FDeEQ7S0FDSixDQUFDLENBQUE7QUFDTixDQUFDIn0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { WebglEnumDepthFunc } from "../../types/webgl";
|
|
2
|
+
export interface WebglDepthOptions {
|
|
3
|
+
enabled: boolean;
|
|
4
|
+
func: WebglEnumDepthFunc;
|
|
5
|
+
mask: boolean;
|
|
6
|
+
rangeMin: number;
|
|
7
|
+
rangeMax: number;
|
|
8
|
+
}
|
|
9
|
+
export declare const webglPresetDepth: Readonly<Record<"off" | "less" | "lessOrEqual", WebglDepthOptions>>;
|
|
10
|
+
export declare function webglDepthSet(gl: WebGL2RenderingContext, depth: WebglDepthOptions): void;
|
|
11
|
+
export declare function webglDepthGet(gl: WebGL2RenderingContext): WebglDepthOptions;
|
|
12
|
+
export declare function webglDepthExec(gl: WebGL2RenderingContext, depth: WebglDepthOptions, action: () => void): void;
|
|
13
|
+
export declare function webglDebugDepth(gl: WebGL2RenderingContext, caption?: string): void;
|
|
14
|
+
//# sourceMappingURL=depth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"depth.d.ts","sourceRoot":"","sources":["../../../src/utils/state/depth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAErD,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,kBAAkB,CAAA;IACxB,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CACnC,MAAM,CAAC,KAAK,GAAG,MAAM,GAAG,aAAa,EAAE,iBAAiB,CAAC,CAuB5D,CAAA;AAED,wBAAgB,aAAa,CACzB,EAAE,EAAE,sBAAsB,EAC1B,KAAK,EAAE,iBAAiB,QAO3B;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,sBAAsB,GAAG,iBAAiB,CAS3E;AAED,wBAAgB,cAAc,CAC1B,EAAE,EAAE,sBAAsB,EAC1B,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM,IAAI,QASrB;AAED,wBAAgB,eAAe,CAC3B,EAAE,EAAE,sBAAsB,EAC1B,OAAO,SAAmB,QA0B7B"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { debug, highlightEnum } from "./../../debug/debug.js";
|
|
2
|
+
import { WebglEnumDepthFunc } from "./../../types/webgl.js";
|
|
3
|
+
export const webglPresetDepth = {
|
|
4
|
+
off: {
|
|
5
|
+
enabled: false,
|
|
6
|
+
func: WebglEnumDepthFunc.LESS,
|
|
7
|
+
mask: true,
|
|
8
|
+
rangeMin: 0,
|
|
9
|
+
rangeMax: 1,
|
|
10
|
+
},
|
|
11
|
+
less: {
|
|
12
|
+
enabled: true,
|
|
13
|
+
func: WebglEnumDepthFunc.LESS,
|
|
14
|
+
mask: true,
|
|
15
|
+
rangeMin: 0,
|
|
16
|
+
rangeMax: 1,
|
|
17
|
+
},
|
|
18
|
+
lessOrEqual: {
|
|
19
|
+
enabled: true,
|
|
20
|
+
func: WebglEnumDepthFunc.LEQUAL,
|
|
21
|
+
mask: true,
|
|
22
|
+
rangeMin: 0,
|
|
23
|
+
rangeMax: 1,
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
export function webglDepthSet(gl, depth) {
|
|
27
|
+
if (depth.enabled)
|
|
28
|
+
gl.enable(gl.DEPTH_TEST);
|
|
29
|
+
else
|
|
30
|
+
gl.disable(gl.DEPTH_TEST);
|
|
31
|
+
gl.depthFunc(depth.func);
|
|
32
|
+
gl.depthMask(depth.mask);
|
|
33
|
+
gl.depthRange(depth.rangeMin, depth.rangeMax);
|
|
34
|
+
}
|
|
35
|
+
export function webglDepthGet(gl) {
|
|
36
|
+
const [rangeMin, rangeMax] = gl.getParameter(gl.DEPTH_RANGE);
|
|
37
|
+
return {
|
|
38
|
+
enabled: Boolean(gl.getParameter(gl.DEPTH_TEST)),
|
|
39
|
+
func: Number(gl.getParameter(gl.DEPTH_FUNC)),
|
|
40
|
+
mask: Boolean(gl.getParameter(gl.DEPTH_WRITEMASK)),
|
|
41
|
+
rangeMin,
|
|
42
|
+
rangeMax,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
export function webglDepthExec(gl, depth, action) {
|
|
46
|
+
const currentState = webglDepthGet(gl);
|
|
47
|
+
webglDepthSet(gl, depth);
|
|
48
|
+
try {
|
|
49
|
+
action();
|
|
50
|
+
}
|
|
51
|
+
finally {
|
|
52
|
+
webglDepthSet(gl, currentState);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
export function webglDebugDepth(gl, caption = "Depth enabled:") {
|
|
56
|
+
console.log(caption);
|
|
57
|
+
const depth = webglDepthGet(gl);
|
|
58
|
+
debug([
|
|
59
|
+
[caption, depth.enabled, "\n"],
|
|
60
|
+
[
|
|
61
|
+
{ cls: "code" },
|
|
62
|
+
[
|
|
63
|
+
"gl.",
|
|
64
|
+
depth.enabled ? "enable" : "disable",
|
|
65
|
+
"(",
|
|
66
|
+
highlightEnum("DEPTH_FUNC"),
|
|
67
|
+
")\n",
|
|
68
|
+
],
|
|
69
|
+
[
|
|
70
|
+
"gl.depthFunc(",
|
|
71
|
+
highlightEnum(depth.func),
|
|
72
|
+
")\n",
|
|
73
|
+
"gl.depthMask(",
|
|
74
|
+
depth.mask,
|
|
75
|
+
")\n",
|
|
76
|
+
`gl.depthRange(${depth.rangeMin}, ${depth.rangeMax})\n`,
|
|
77
|
+
],
|
|
78
|
+
],
|
|
79
|
+
]);
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwdGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvc3RhdGUvZGVwdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQVVyRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FFekI7SUFDQSxHQUFHLEVBQUU7UUFDRCxPQUFPLEVBQUUsS0FBSztRQUNkLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxJQUFJO1FBQzdCLElBQUksRUFBRSxJQUFJO1FBQ1YsUUFBUSxFQUFFLENBQUM7UUFDWCxRQUFRLEVBQUUsQ0FBQztLQUNkO0lBQ0QsSUFBSSxFQUFFO1FBQ0YsT0FBTyxFQUFFLElBQUk7UUFDYixJQUFJLEVBQUUsa0JBQWtCLENBQUMsSUFBSTtRQUM3QixJQUFJLEVBQUUsSUFBSTtRQUNWLFFBQVEsRUFBRSxDQUFDO1FBQ1gsUUFBUSxFQUFFLENBQUM7S0FDZDtJQUNELFdBQVcsRUFBRTtRQUNULE9BQU8sRUFBRSxJQUFJO1FBQ2IsSUFBSSxFQUFFLGtCQUFrQixDQUFDLE1BQU07UUFDL0IsSUFBSSxFQUFFLElBQUk7UUFDVixRQUFRLEVBQUUsQ0FBQztRQUNYLFFBQVEsRUFBRSxDQUFDO0tBQ2Q7Q0FDSixDQUFBO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FDekIsRUFBMEIsRUFDMUIsS0FBd0I7SUFFeEIsSUFBSSxLQUFLLENBQUMsT0FBTztRQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFBOztRQUN0QyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUM5QixFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QixFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QixFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBQ2pELENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEVBQTBCO0lBQ3BELE1BQU0sQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFpQixDQUFBO0lBQzVFLE9BQU87UUFDSCxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNsRCxRQUFRO1FBQ1IsUUFBUTtLQUNYLENBQUE7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FDMUIsRUFBMEIsRUFDMUIsS0FBd0IsRUFDeEIsTUFBa0I7SUFFbEIsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3RDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDeEIsSUFBSSxDQUFDO1FBQ0QsTUFBTSxFQUFFLENBQUE7SUFDWixDQUFDO1lBQVMsQ0FBQztRQUNQLGFBQWEsQ0FBQyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUE7SUFDbkMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUMzQixFQUEwQixFQUMxQixPQUFPLEdBQUcsZ0JBQWdCO0lBRTFCLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDcEIsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQy9CLEtBQUssQ0FBQztRQUNGLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO1FBQzlCO1lBQ0ksRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFO1lBQ2Y7Z0JBQ0ksS0FBSztnQkFDTCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVM7Z0JBQ3BDLEdBQUc7Z0JBQ0gsYUFBYSxDQUFDLFlBQVksQ0FBQztnQkFDM0IsS0FBSzthQUNSO1lBQ0Q7Z0JBQ0ksZUFBZTtnQkFDZixhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDekIsS0FBSztnQkFDTCxlQUFlO2dCQUNmLEtBQUssQ0FBQyxJQUFJO2dCQUNWLEtBQUs7Z0JBQ0wsaUJBQWlCLEtBQUssQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLFFBQVEsS0FBSzthQUMxRDtTQUNKO0tBQ0osQ0FBQyxDQUFBO0FBQ04sQ0FBQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/state/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from "./blend.js";
|
|
2
|
+
export * from "./depth.js";
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvc3RhdGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxTQUFTLENBQUEifQ==
|
|
@@ -9,5 +9,5 @@ import { TgdTypeArrayForElements } from "../types";
|
|
|
9
9
|
*/
|
|
10
10
|
export declare function webglElementTypeFromTypedArray(typedArray: TgdTypeArrayForElements): 5121 | 5123 | 5125;
|
|
11
11
|
export declare function webglTypedArrayFromBufferSource(bufferSource: BufferSource, type: number): Int8Array | Uint8Array | Int16Array | Uint16Array | Uint32Array | Float32Array;
|
|
12
|
-
export declare function webglLookup(type: number):
|
|
12
|
+
export declare function webglLookup(type: number): keyof WebGL2RenderingContext;
|
|
13
13
|
//# sourceMappingURL=webgl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webgl.d.ts","sourceRoot":"","sources":["../../src/utils/webgl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAEpD;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC1C,UAAU,EAAE,uBAAuB,GACpC,IAAI,GAAG,IAAI,GAAG,IAAI,CAWpB;AAED,wBAAgB,+BAA+B,CAC3C,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,MAAM,kFAwBf;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"webgl.d.ts","sourceRoot":"","sources":["../../src/utils/webgl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAEpD;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC1C,UAAU,EAAE,uBAAuB,GACpC,IAAI,GAAG,IAAI,GAAG,IAAI,CAWpB;AAED,wBAAgB,+BAA+B,CAC3C,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,MAAM,kFAwBf;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,sBAAsB,CAQtE"}
|
package/lib/dist/utils/webgl.js
CHANGED
|
@@ -46,4 +46,4 @@ export function webglLookup(type) {
|
|
|
46
46
|
}
|
|
47
47
|
const canvas = document.createElement("canvas");
|
|
48
48
|
const gl = canvas.getContext("webgl2");
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViZ2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvd2ViZ2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSw4QkFBOEIsQ0FDMUMsVUFBbUM7SUFFbkMsSUFBSSxVQUFVLFlBQVksVUFBVTtRQUNoQyxPQUFPLHNCQUFzQixDQUFDLGFBQWEsQ0FBQTtJQUMvQyxJQUFJLFVBQVUsWUFBWSxXQUFXO1FBQ2pDLE9BQU8sc0JBQXNCLENBQUMsY0FBYyxDQUFBO0lBQ2hELElBQUksVUFBVSxZQUFZLFdBQVc7UUFDakMsT0FBTyxzQkFBc0IsQ0FBQyxZQUFZLENBQUE7SUFFOUMsTUFBTSxLQUFLLENBQ1Asd0lBQXdJLENBQzNJLENBQUE7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLCtCQUErQixDQUMzQyxZQUEwQixFQUMxQixJQUFZO0lBRVosTUFBTSxNQUFNLEdBQ1IsWUFBWSxZQUFZLFdBQVcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFBO0lBQzVFLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDWCxLQUFLLElBQUksRUFBRSxPQUFPO1lBQ2QsT0FBTyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNoQyxLQUFLLElBQUksRUFBRSxnQkFBZ0I7WUFDdkIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNqQyxLQUFLLElBQUksRUFBRSxRQUFRO1lBQ2YsT0FBTyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNqQyxLQUFLLElBQUksRUFBRSxpQkFBaUI7WUFDeEIsT0FBTyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNsQyxLQUFLLElBQUksRUFBRSxlQUFlO1lBQ3RCLE9BQU8sSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDbEMsS0FBSyxJQUFJLEVBQUUsUUFBUTtZQUNmLE9BQU8sSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDbkM7WUFDSSxNQUFNLEtBQUssQ0FDUCxtREFBbUQsV0FBVyxDQUMxRCxJQUFJLENBQ1AsSUFBSSxDQUNSLENBQUE7SUFDVCxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBWTtJQUNwQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ0wsS0FBSyxNQUFNLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNuQixNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBbUMsQ0FBQyxDQUFBO1lBQ25ELElBQUksR0FBRyxLQUFLLElBQUk7Z0JBQUUsT0FBTyxHQUFtQyxDQUFBO1FBQ2hFLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxHQUFHLElBQUksRUFBa0MsQ0FBQTtBQUNwRCxDQUFDO0FBRUQsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQUMvQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFBIn0=
|
package/lib/dist/vao/vao.d.ts
CHANGED
|
@@ -3,15 +3,18 @@ import { TgdDataset } from "../dataset";
|
|
|
3
3
|
import { TgdProgram, TgdTypeArrayForElements } from "../types";
|
|
4
4
|
export declare class TgdVertexArray {
|
|
5
5
|
readonly gl: WebGL2RenderingContext;
|
|
6
|
+
private readonly program?;
|
|
6
7
|
private readonly datasets?;
|
|
8
|
+
private readonly elements?;
|
|
7
9
|
readonly vao: WebGLVertexArrayObject;
|
|
8
10
|
private readonly drawBuffers;
|
|
9
11
|
private readonly elemBuffer;
|
|
10
|
-
constructor(gl: WebGL2RenderingContext, program?: TgdProgram, datasets?: Readonly<TgdDataset>[] | undefined, elements?: TgdTypeArrayForElements);
|
|
12
|
+
constructor(gl: WebGL2RenderingContext, program?: TgdProgram | undefined, datasets?: Readonly<TgdDataset>[] | undefined, elements?: TgdTypeArrayForElements | undefined);
|
|
11
13
|
getBuffer(index: number): TgdBuffer | undefined;
|
|
12
14
|
toCode({ indent }?: Partial<{
|
|
13
15
|
indent: string;
|
|
14
16
|
}>): string;
|
|
17
|
+
debug(caption?: string): void;
|
|
15
18
|
bind(): void;
|
|
16
19
|
unbind(): void;
|
|
17
20
|
delete(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vao.d.ts","sourceRoot":"","sources":["../../src/vao/vao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAEhE,qBAAa,cAAc;aAOH,EAAE,EAAE,sBAAsB;
|
|
1
|
+
{"version":3,"file":"vao.d.ts","sourceRoot":"","sources":["../../src/vao/vao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAEhE,qBAAa,cAAc;aAOH,EAAE,EAAE,sBAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAT9B,SAAgB,GAAG,EAAE,sBAAsB,CAAA;IAE3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkB;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;gBAGhC,EAAE,EAAE,sBAAsB,EACzB,OAAO,CAAC,EAAE,UAAU,YAAA,EACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,YAAA,EACjC,QAAQ,CAAC,EAAE,uBAAuB,YAAA;IA4BvD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI/C,MAAM,CAAC,EAAE,MAAW,EAAE,GAAE,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAM;IAuBxD,KAAK,CAAC,OAAO,SAAmB;IAWhC,IAAI;IAIJ,MAAM;IAIN,MAAM;CAMT"}
|
package/lib/dist/vao/vao.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { TgdBuffer } from "./../buffer/index.js";
|
|
2
2
|
export class TgdVertexArray {
|
|
3
3
|
gl;
|
|
4
|
+
program;
|
|
4
5
|
datasets;
|
|
6
|
+
elements;
|
|
5
7
|
vao;
|
|
6
8
|
drawBuffers = [];
|
|
7
9
|
elemBuffer = null;
|
|
8
10
|
constructor(gl, program, datasets, elements) {
|
|
9
11
|
this.gl = gl;
|
|
12
|
+
this.program = program;
|
|
10
13
|
this.datasets = datasets;
|
|
14
|
+
this.elements = elements;
|
|
11
15
|
const vao = gl.createVertexArray();
|
|
12
16
|
if (!vao)
|
|
13
17
|
throw Error("Unable to create VertexArrayObject!");
|
|
@@ -53,6 +57,16 @@ export class TgdVertexArray {
|
|
|
53
57
|
lines.push(" return vao", "}");
|
|
54
58
|
return lines.map(line => `${indent}${line}`).join("\n");
|
|
55
59
|
}
|
|
60
|
+
debug(caption = "TgdVertexArray") {
|
|
61
|
+
console.log(caption);
|
|
62
|
+
if (this.program)
|
|
63
|
+
this.program.debug();
|
|
64
|
+
if (this.datasets) {
|
|
65
|
+
this.datasets.forEach((dataset, index) => dataset.debug(` Dataset #${index}`));
|
|
66
|
+
}
|
|
67
|
+
if (this.elements)
|
|
68
|
+
console.log("Elements:", this.elements);
|
|
69
|
+
}
|
|
56
70
|
bind() {
|
|
57
71
|
this.gl.bindVertexArray(this.vao);
|
|
58
72
|
}
|
|
@@ -67,4 +81,4 @@ export class TgdVertexArray {
|
|
|
67
81
|
elemBuffer.delete();
|
|
68
82
|
}
|
|
69
83
|
}
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Zhby92YW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUl2QyxNQUFNLE9BQU8sY0FBYztJQU9IO0lBQ0M7SUFDQTtJQUNBO0lBVEwsR0FBRyxDQUF3QjtJQUUxQixXQUFXLEdBQWdCLEVBQUUsQ0FBQTtJQUM3QixVQUFVLEdBQXFCLElBQUksQ0FBQTtJQUVwRCxZQUNvQixFQUEwQixFQUN6QixPQUFvQixFQUNwQixRQUFpQyxFQUNqQyxRQUFrQztRQUhuQyxPQUFFLEdBQUYsRUFBRSxDQUF3QjtRQUN6QixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQXlCO1FBQ2pDLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBRW5ELE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO1FBQ2xDLElBQUksQ0FBQyxHQUFHO1lBQUUsTUFBTSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQTtRQUU1RCxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQTtRQUNkLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTTtRQUVqQyxFQUFFLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRTtnQkFDM0MsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO2dCQUN0QixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7YUFDdkIsQ0FBQyxDQUFBO1lBQ0YsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFBO1lBQ2IsT0FBTyxDQUFDLGdCQUFn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
|