@tolokoban/tgd 2.0.24 → 2.0.26
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-orthographic.d.ts +1 -0
- package/lib/dist/camera/camera-orthographic.d.ts.map +1 -1
- package/lib/dist/camera/camera-orthographic.js +21 -1
- package/lib/dist/camera/camera-perspective.d.ts +1 -0
- package/lib/dist/camera/camera-perspective.d.ts.map +1 -1
- package/lib/dist/camera/camera-perspective.js +21 -1
- 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 +4 -1
- package/lib/dist/canvas/gizmo/painter/shader.frag +1 -1
- package/lib/dist/canvas/gizmo/painter/shader.vert +1 -1
- package/lib/dist/code/color.d.ts +4 -4
- package/lib/dist/code/color.d.ts.map +1 -1
- package/lib/dist/code/color.js +3 -3
- package/lib/dist/code/coords.d.ts +4 -4
- package/lib/dist/code/coords.d.ts.map +1 -1
- package/lib/dist/code/coords.js +4 -4
- package/lib/dist/code/random.d.ts +2 -2
- package/lib/dist/code/random.d.ts.map +1 -1
- package/lib/dist/code/random.js +2 -2
- package/lib/dist/context/animation/animation-manager.d.ts +1 -0
- package/lib/dist/context/animation/animation-manager.d.ts.map +1 -1
- package/lib/dist/context/animation/animation-manager.js +11 -3
- package/lib/dist/context/context.d.ts +12 -2
- package/lib/dist/context/context.d.ts.map +1 -1
- package/lib/dist/context/context.js +80 -37
- package/lib/dist/controller/camera/orbit.d.ts +15 -2
- package/lib/dist/controller/camera/orbit.d.ts.map +1 -1
- package/lib/dist/controller/camera/orbit.js +15 -3
- package/lib/dist/data/gltf/gltf.d.ts +60 -0
- package/lib/dist/data/gltf/gltf.d.ts.map +1 -0
- package/lib/dist/data/gltf/gltf.js +337 -0
- package/lib/dist/data/gltf/index.d.ts +2 -0
- package/lib/dist/data/gltf/index.d.ts.map +1 -0
- package/lib/dist/data/gltf/index.js +2 -0
- package/lib/dist/data/gltf/parser.d.ts +13 -0
- package/lib/dist/data/gltf/parser.d.ts.map +1 -0
- package/lib/dist/data/gltf/parser.js +54 -0
- package/lib/dist/data/index.d.ts +2 -0
- package/lib/dist/data/index.d.ts.map +1 -0
- package/lib/dist/data/index.js +2 -0
- package/lib/dist/factory/index.d.ts +2 -0
- package/lib/dist/factory/index.d.ts.map +1 -0
- package/lib/dist/factory/index.js +2 -0
- package/lib/dist/factory/mesh-glb.d.ts +42 -0
- package/lib/dist/factory/mesh-glb.d.ts.map +1 -0
- package/lib/dist/factory/mesh-glb.js +91 -0
- package/lib/dist/index.d.ts +1 -0
- package/lib/dist/index.d.ts.map +1 -1
- package/lib/dist/index.js +2 -1
- package/lib/dist/input/pointer.d.ts +2 -1
- package/lib/dist/input/pointer.d.ts.map +1 -1
- package/lib/dist/input/pointer.js +8 -1
- package/lib/dist/interface/transformable.d.ts +1 -0
- package/lib/dist/interface/transformable.d.ts.map +1 -1
- package/lib/dist/loader/asset.d.ts +2 -2
- package/lib/dist/loader/asset.d.ts.map +1 -1
- package/lib/dist/loader/asset.js +1 -1
- package/lib/dist/loader/binary.d.ts +3 -2
- package/lib/dist/loader/binary.d.ts.map +1 -1
- package/lib/dist/loader/binary.js +20 -4
- package/lib/dist/material/diffuse.d.ts.map +1 -1
- package/lib/dist/material/diffuse.js +7 -5
- package/lib/dist/material/flat.d.ts +20 -0
- package/lib/dist/material/flat.d.ts.map +1 -0
- package/lib/dist/material/flat.js +18 -0
- package/lib/dist/material/index.d.ts +1 -0
- package/lib/dist/material/index.d.ts.map +1 -1
- package/lib/dist/material/index.js +2 -1
- package/lib/dist/math/index.d.ts +1 -0
- package/lib/dist/math/index.d.ts.map +1 -1
- package/lib/dist/math/index.js +2 -1
- package/lib/dist/math/mat2.d.ts +29 -0
- package/lib/dist/math/mat2.d.ts.map +1 -0
- package/lib/dist/math/mat2.js +94 -0
- package/lib/dist/math/quat.d.ts +2 -1
- package/lib/dist/math/quat.d.ts.map +1 -1
- package/lib/dist/math/quat.js +6 -28
- package/lib/dist/math/transfo.d.ts +8 -4
- package/lib/dist/math/transfo.d.ts.map +1 -1
- package/lib/dist/math/transfo.js +41 -27
- package/lib/dist/math/vec3.d.ts +2 -2
- package/lib/dist/math/vec3.d.ts.map +1 -1
- package/lib/dist/math/vec3.js +6 -5
- package/lib/dist/painter/axes/axes.frag +1 -1
- package/lib/dist/painter/axes/axes.vert +1 -1
- package/lib/dist/painter/background/background.d.ts +28 -2
- package/lib/dist/painter/background/background.d.ts.map +1 -1
- package/lib/dist/painter/background/background.frag +1 -1
- package/lib/dist/painter/background/background.js +47 -13
- package/lib/dist/painter/background-with-depth/background-with-depth.d.ts +24 -0
- package/lib/dist/painter/background-with-depth/background-with-depth.d.ts.map +1 -0
- package/lib/dist/painter/background-with-depth/background-with-depth.js +120 -0
- package/lib/dist/painter/background-with-depth/background.frag +17 -0
- package/lib/dist/painter/background-with-depth/background.vert +13 -0
- package/lib/dist/painter/background-with-depth/index.d.ts +2 -0
- package/lib/dist/painter/background-with-depth/index.d.ts.map +1 -0
- package/lib/dist/painter/background-with-depth/index.js +2 -0
- package/lib/dist/painter/debug/stencil/stencil.frag +1 -1
- package/lib/dist/painter/framebuffer.d.ts.map +1 -1
- package/lib/dist/painter/framebuffer.js +2 -2
- package/lib/dist/painter/group.d.ts.map +1 -1
- package/lib/dist/painter/group.js +1 -1
- package/lib/dist/painter/index.d.ts +1 -0
- package/lib/dist/painter/index.d.ts.map +1 -1
- package/lib/dist/painter/index.js +2 -1
- package/lib/dist/painter/mesh/gltf/gltf.d.ts +8 -4
- package/lib/dist/painter/mesh/gltf/gltf.d.ts.map +1 -1
- package/lib/dist/painter/mesh/gltf/gltf.js +23 -13
- package/lib/dist/painter/mesh/mesh/mesh.d.ts +12 -3
- package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -1
- package/lib/dist/painter/mesh/mesh/mesh.js +4 -2
- package/lib/dist/painter/mesh/normals/shader.vert +1 -1
- package/lib/dist/painter/node/node.d.ts +20 -7
- package/lib/dist/painter/node/node.d.ts.map +1 -1
- package/lib/dist/painter/node/node.js +74 -17
- package/lib/dist/painter/segments/segments.d.ts +9 -7
- package/lib/dist/painter/segments/segments.d.ts.map +1 -1
- package/lib/dist/painter/segments/segments.frag +12 -2
- package/lib/dist/painter/segments/segments.js +64 -36
- package/lib/dist/painter/segments/segments.vert +12 -5
- package/lib/dist/painter/skybox/skybox.d.ts.map +1 -1
- package/lib/dist/painter/skybox/skybox.js +21 -16
- package/lib/dist/painter/state/state.d.ts +10 -2
- package/lib/dist/painter/state/state.d.ts.map +1 -1
- package/lib/dist/painter/state/state.js +49 -19
- package/lib/dist/parser/gltf/gltf.d.ts +15 -2
- package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
- package/lib/dist/parser/gltf/gltf.js +55 -2
- package/lib/dist/parser/gltf/parser.d.ts +4 -0
- package/lib/dist/parser/gltf/parser.d.ts.map +1 -1
- package/lib/dist/parser/gltf/parser.js +5 -2
- package/lib/dist/program/program.d.ts +4 -3
- package/lib/dist/program/program.d.ts.map +1 -1
- package/lib/dist/program/program.js +22 -8
- package/lib/dist/shader/code.d.ts +2 -2
- package/lib/dist/shader/code.d.ts.map +1 -1
- package/lib/dist/shader/code.js +16 -3
- package/lib/dist/shader/fragment.d.ts.map +1 -1
- package/lib/dist/shader/fragment.js +2 -2
- package/lib/dist/shader/vertex.d.ts.map +1 -1
- package/lib/dist/shader/vertex.js +2 -3
- package/lib/dist/texture/texture-depth.d.ts +36 -0
- package/lib/dist/texture/texture-depth.d.ts.map +1 -0
- package/lib/dist/texture/texture-depth.js +63 -0
- package/lib/dist/texture/texture2d.d.ts +15 -2
- package/lib/dist/texture/texture2d.d.ts.map +1 -1
- package/lib/dist/texture/texture2d.js +87 -27
- package/lib/dist/types/animation.d.ts +11 -2
- package/lib/dist/types/animation.d.ts.map +1 -1
- package/lib/dist/types/index.d.ts +1 -0
- package/lib/dist/types/index.d.ts.map +1 -1
- package/lib/dist/types/index.js +2 -1
- package/lib/dist/types/input-pointer.d.ts +1 -0
- package/lib/dist/types/input-pointer.d.ts.map +1 -1
- package/lib/dist/types/program.d.ts +5 -0
- package/lib/dist/types/program.d.ts.map +1 -1
- package/lib/dist/utils/action/camera.d.ts.map +1 -1
- package/lib/dist/utils/action/camera.js +2 -2
- package/lib/dist/utils/action/transfo.d.ts +1 -1
- package/lib/dist/utils/action/transfo.d.ts.map +1 -1
- package/lib/dist/utils/action/transfo.js +17 -23
- package/lib/dist/utils/animation/chain-transfo-interpolations.d.ts +18 -0
- package/lib/dist/utils/animation/chain-transfo-interpolations.d.ts.map +1 -0
- package/lib/dist/utils/animation/chain-transfo-interpolations.js +15 -0
- package/lib/dist/utils/animation/chain.d.ts +11 -0
- package/lib/dist/utils/animation/chain.d.ts.map +1 -0
- package/lib/dist/utils/animation/chain.js +61 -0
- package/lib/dist/utils/animation/index.d.ts +3 -0
- package/lib/dist/utils/animation/index.d.ts.map +1 -0
- package/lib/dist/utils/animation/index.js +3 -0
- package/lib/dist/utils/index.d.ts +1 -0
- package/lib/dist/utils/index.d.ts.map +1 -1
- package/lib/dist/utils/index.js +2 -1
- package/lib/dist/utils/math.d.ts +13 -0
- package/lib/dist/utils/math.d.ts.map +1 -1
- package/lib/dist/utils/math.js +34 -1
- package/lib/dist/utils/math.test.d.ts +2 -0
- package/lib/dist/utils/math.test.d.ts.map +1 -0
- package/lib/dist/utils/math.test.js +22 -0
- package/lib/dist/utils/state/blend.d.ts +1 -1
- package/lib/dist/utils/state/blend.d.ts.map +1 -1
- package/lib/dist/utils/state/blend.js +21 -3
- package/lib/dist/utils/state/depth.d.ts +1 -1
- package/lib/dist/utils/state/depth.d.ts.map +1 -1
- package/lib/dist/utils/state/depth.js +23 -2
- package/lib/dist/vao/vao.d.ts +6 -0
- package/lib/dist/vao/vao.d.ts.map +1 -1
- package/lib/dist/vao/vao.js +30 -1
- package/package.json +1 -1
package/lib/dist/utils/math.js
CHANGED
|
@@ -16,4 +16,37 @@ export function tgdCalcDegToRad(deg) {
|
|
|
16
16
|
export function tgdCalcRadToDeg(rad) {
|
|
17
17
|
return rad * DEG_PER_RAD;
|
|
18
18
|
}
|
|
19
|
-
|
|
19
|
+
export function tgdCalcSmoothStep(boundFor0, boundFor1, value) {
|
|
20
|
+
const t = tgdCalcClamp((value - boundFor0) / (boundFor1 - boundFor0), 0, 1);
|
|
21
|
+
return t * t * (3 - 2 * t);
|
|
22
|
+
}
|
|
23
|
+
export function tgdCalcRandom(min = 1, max) {
|
|
24
|
+
if (typeof max !== "number")
|
|
25
|
+
return Math.random() * min;
|
|
26
|
+
return min + (max - min) * Math.random();
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Force `value` to be between `min` and `max` by shifting it
|
|
30
|
+
* by `max - min` as many times as needed.
|
|
31
|
+
* @example
|
|
32
|
+
* ```ts
|
|
33
|
+
* tgdCalcModulo(3, 10, 20) === 13
|
|
34
|
+
* tgdCalcModulo(13, 10, 20) === 13
|
|
35
|
+
* tgdCalcModulo(23, 10, 20) === 13
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export function tgdCalcModulo(value, min, max) {
|
|
39
|
+
const range = max - min;
|
|
40
|
+
if (range === 0)
|
|
41
|
+
return min;
|
|
42
|
+
if (value < min) {
|
|
43
|
+
const n = Math.ceil((min - value) / range);
|
|
44
|
+
return value + n * range;
|
|
45
|
+
}
|
|
46
|
+
if (value > max) {
|
|
47
|
+
const n = Math.ceil((value - max) / range);
|
|
48
|
+
return value - n * range;
|
|
49
|
+
}
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9tYXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxZQUFZLENBQUMsS0FBYSxFQUFFLEdBQVcsRUFBRSxHQUFXO0lBQ2hFLElBQUksS0FBSyxHQUFHLEdBQUc7UUFBRSxPQUFPLEdBQUcsQ0FBQTtJQUMzQixJQUFJLEtBQUssR0FBRyxHQUFHO1FBQUUsT0FBTyxHQUFHLENBQUE7SUFDM0IsT0FBTyxLQUFLLENBQUE7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQ3RCLFNBQWlCLEVBQ2pCLFNBQWlCLEVBQ2pCLENBQVM7SUFFVCxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFNBQVMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFBO0FBQzlDLENBQUM7QUFFRCxNQUFNLFdBQVcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQTtBQUNqQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQTtBQUVqQyxNQUFNLFVBQVUsZUFBZSxDQUFDLEdBQVc7SUFDdkMsT0FBTyxHQUFHLEdBQUcsV0FBVyxDQUFBO0FBQzVCLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLEdBQVc7SUFDdkMsT0FBTyxHQUFHLEdBQUcsV0FBVyxDQUFBO0FBQzVCLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQzdCLFNBQWlCLEVBQ2pCLFNBQWlCLEVBQ2pCLEtBQWE7SUFFYixNQUFNLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQzNFLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7QUFDOUIsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFZO0lBQy9DLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUTtRQUFFLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQTtJQUN2RCxPQUFPLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUE7QUFDNUMsQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBYSxFQUFFLEdBQVcsRUFBRSxHQUFXO0lBQ2pFLE1BQU0sS0FBSyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUE7SUFDdkIsSUFBSSxLQUFLLEtBQUssQ0FBQztRQUFFLE9BQU8sR0FBRyxDQUFBO0lBRTNCLElBQUksS0FBSyxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2QsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQTtRQUMxQyxPQUFPLEtBQUssR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFBO0lBQzVCLENBQUM7SUFFRCxJQUFJLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNkLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUE7UUFDMUMsT0FBTyxLQUFLLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQTtJQUM1QixDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUE7QUFDaEIsQ0FBQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.test.d.ts","sourceRoot":"","sources":["../../src/utils/math.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { tgdCalcModulo, tgdCalcRandom } from "./math.js";
|
|
2
|
+
describe(`tgdCalc*()`, () => {
|
|
3
|
+
describe(`tgdCalcModulo()`, () => {
|
|
4
|
+
const cases = [
|
|
5
|
+
[-3, 10, 20, 17],
|
|
6
|
+
[3, 10, 20, 13],
|
|
7
|
+
[13, 10, 20, 13],
|
|
8
|
+
[13, 20, 10, 13],
|
|
9
|
+
[23, 10, 20, 13],
|
|
10
|
+
[3.14, 1, 1.5, 1.14],
|
|
11
|
+
[3.64, 1, 1.5, 1.14],
|
|
12
|
+
[tgdCalcRandom(-100, 100), 1.618, 1.618, 1.618],
|
|
13
|
+
[7, 20, 10, 17],
|
|
14
|
+
];
|
|
15
|
+
for (const [value, min, max, expected] of cases) {
|
|
16
|
+
it(`should have (${value}, ${min}, ${max}) === ${expected}`, () => {
|
|
17
|
+
expect(tgdCalcModulo(value, min, max)).toBeCloseTo(expected, 6);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL21hdGgudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUVyRCxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUN4QixRQUFRLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO1FBQzdCLE1BQU0sS0FBSyxHQUVQO1lBQ0EsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUNoQixDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUNmLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ2hCLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ2hCLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ2hCLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO1lBQ3BCLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO1lBQ3BCLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1NBQ2xCLENBQUE7UUFDRCxLQUFLLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUM5QyxFQUFFLENBQUMsZ0JBQWdCLEtBQUssS0FBSyxHQUFHLEtBQUssR0FBRyxTQUFTLFFBQVEsRUFBRSxFQUFFLEdBQUcsRUFBRTtnQkFDOUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUNuRSxDQUFDLENBQUMsQ0FBQTtRQUNOLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQyxDQUFBIn0=
|
|
@@ -8,7 +8,7 @@ export interface WebglBlendOptions {
|
|
|
8
8
|
functionAlphaSrc: WebglEnumBlendFunction;
|
|
9
9
|
functionAlphaDst: WebglEnumBlendFunction;
|
|
10
10
|
}
|
|
11
|
-
export declare const webglPresetBlend: Readonly<Record<"off" | "alpha", WebglBlendOptions>>;
|
|
11
|
+
export declare const webglPresetBlend: Readonly<Record<"off" | "alpha" | "add" | "premultipliedAlpha", WebglBlendOptions>>;
|
|
12
12
|
export declare function webglBlendSet(gl: WebGL2RenderingContext, blend: WebglBlendOptions): void;
|
|
13
13
|
export declare function webglBlendGet(gl: WebGL2RenderingContext): WebglBlendOptions;
|
|
14
14
|
export declare function webglBlendExec(gl: WebGL2RenderingContext, blend: WebglBlendOptions, action: () => void): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blend.d.ts","sourceRoot":"","sources":["../../../src/utils/state/blend.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAE3E,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,sBAAsB,CAAA;IACrC,aAAa,EAAE,sBAAsB,CAAA;IACrC,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,gBAAgB,EAAE,sBAAsB,CAAA;CAC3C;AAED,eAAO,MAAM,gBAAgB,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"blend.d.ts","sourceRoot":"","sources":["../../../src/utils/state/blend.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAE3E,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,sBAAsB,CAAA;IACrC,aAAa,EAAE,sBAAsB,CAAA;IACrC,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,gBAAgB,EAAE,sBAAsB,CAAA;IACxC,gBAAgB,EAAE,sBAAsB,CAAA;CAC3C;AAED,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CACnC,MAAM,CAAC,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,oBAAoB,EAAE,iBAAiB,CAAC,CAsC5E,CAAA;AAED,wBAAgB,aAAa,CACzB,EAAE,EAAE,sBAAsB,EAC1B,KAAK,EAAE,iBAAiB,QAW3B;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,sBAAsB,GAAG,iBAAiB,CAU3E;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,QAgC7B"}
|
|
@@ -4,18 +4,36 @@ export const webglPresetBlend = {
|
|
|
4
4
|
off: {
|
|
5
5
|
enabled: false,
|
|
6
6
|
equationColor: WebglEnumBlendEquation.FUNC_ADD,
|
|
7
|
-
equationAlpha: WebglEnumBlendEquation.FUNC_ADD,
|
|
8
7
|
functionColorSrc: WebglEnumBlendFunction.SRC_ALPHA,
|
|
9
8
|
functionColorDst: WebglEnumBlendFunction.ONE_MINUS_SRC_ALPHA,
|
|
9
|
+
equationAlpha: WebglEnumBlendEquation.FUNC_ADD,
|
|
10
10
|
functionAlphaSrc: WebglEnumBlendFunction.ONE,
|
|
11
11
|
functionAlphaDst: WebglEnumBlendFunction.ZERO,
|
|
12
12
|
},
|
|
13
13
|
alpha: {
|
|
14
14
|
enabled: true,
|
|
15
15
|
equationColor: WebglEnumBlendEquation.FUNC_ADD,
|
|
16
|
-
equationAlpha: WebglEnumBlendEquation.FUNC_ADD,
|
|
17
16
|
functionColorSrc: WebglEnumBlendFunction.SRC_ALPHA,
|
|
18
17
|
functionColorDst: WebglEnumBlendFunction.ONE_MINUS_SRC_ALPHA,
|
|
18
|
+
equationAlpha: WebglEnumBlendEquation.FUNC_ADD,
|
|
19
|
+
functionAlphaSrc: WebglEnumBlendFunction.ONE,
|
|
20
|
+
functionAlphaDst: WebglEnumBlendFunction.ZERO,
|
|
21
|
+
},
|
|
22
|
+
add: {
|
|
23
|
+
enabled: true,
|
|
24
|
+
equationColor: WebglEnumBlendEquation.FUNC_ADD,
|
|
25
|
+
functionColorSrc: WebglEnumBlendFunction.ONE,
|
|
26
|
+
functionColorDst: WebglEnumBlendFunction.ONE,
|
|
27
|
+
equationAlpha: WebglEnumBlendEquation.FUNC_ADD,
|
|
28
|
+
functionAlphaSrc: WebglEnumBlendFunction.ONE,
|
|
29
|
+
functionAlphaDst: WebglEnumBlendFunction.ZERO,
|
|
30
|
+
},
|
|
31
|
+
premultipliedAlpha: {
|
|
32
|
+
enabled: true,
|
|
33
|
+
equationColor: WebglEnumBlendEquation.FUNC_ADD,
|
|
34
|
+
functionColorSrc: WebglEnumBlendFunction.ONE,
|
|
35
|
+
functionColorDst: WebglEnumBlendFunction.ONE_MINUS_SRC_ALPHA,
|
|
36
|
+
equationAlpha: WebglEnumBlendEquation.FUNC_ADD,
|
|
19
37
|
functionAlphaSrc: WebglEnumBlendFunction.ONE,
|
|
20
38
|
functionAlphaDst: WebglEnumBlendFunction.ZERO,
|
|
21
39
|
},
|
|
@@ -81,4 +99,4 @@ export function webglDebugBlend(gl, caption = "Blend enabled:") {
|
|
|
81
99
|
],
|
|
82
100
|
]);
|
|
83
101
|
}
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxlbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvc3RhdGUvYmxlbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFZM0UsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBRXpCO0lBQ0EsR0FBRyxFQUFFO1FBQ0QsT0FBTyxFQUFFLEtBQUs7UUFDZCxhQUFhLEVBQUUsc0JBQXNCLENBQUMsUUFBUTtRQUM5QyxnQkFBZ0IsRUFBRSxzQkFBc0IsQ0FBQyxTQUFTO1FBQ2xELGdCQUFnQixFQUFFLHNCQUFzQixDQUFDLG1CQUFtQjtRQUM1RCxhQUFhLEVBQUUsc0JBQXNCLENBQUMsUUFBUTtRQUM5QyxnQkFBZ0IsRUFBRSxzQkFBc0IsQ0FBQyxHQUFHO1FBQzVDLGdCQUFnQixFQUFFLHNCQUFzQixDQUFDLElBQUk7S0FDaEQ7SUFDRCxLQUFLLEVBQUU7UUFDSCxPQUFPLEVBQUUsSUFBSTtRQUNiLGFBQWEsRUFBRSxzQkFBc0IsQ0FBQyxRQUFRO1FBQzlDLGdCQUFnQixFQUFFLHNCQUFzQixDQUFDLFNBQVM7UUFDbEQsZ0JBQWdCLEVBQUUsc0JBQXNCLENBQUMsbUJBQW1CO1FBQzVELGFBQWEsRUFBRSxzQkFBc0IsQ0FBQyxRQUFRO1FBQzlDLGdCQUFnQixFQUFFLHNCQUFzQixDQUFDLEdBQUc7UUFDNUMsZ0JBQWdCLEVBQUUsc0JBQXNCLENBQUMsSUFBSTtLQUNoRDtJQUNELEdBQUcsRUFBRTtRQUNELE9BQU8sRUFBRSxJQUFJO1FBQ2IsYUFBYSxFQUFFLHNCQUFzQixDQUFDLFFBQVE7UUFDOUMsZ0JBQWdCLEVBQUUsc0JBQXNCLENBQUMsR0FBRztRQUM1QyxnQkFBZ0IsRUFBRSxzQkFBc0IsQ0FBQyxHQUFHO1FBQzVDLGFBQWEsRUFBRSxzQkFBc0IsQ0FBQyxRQUFRO1FBQzlDLGdCQUFnQixFQUFFLHNCQUFzQixDQUFDLEdBQUc7UUFDNUMsZ0JBQWdCLEVBQUUsc0JBQXNCLENBQUMsSUFBSTtLQUNoRDtJQUNELGtCQUFrQixFQUFFO1FBQ2hCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsYUFBYSxFQUFFLHNCQUFzQixDQUFDLFFBQVE7UUFDOUMsZ0JBQWdCLEVBQUUsc0JBQXNCLENBQUMsR0FBRztRQUM1QyxnQkFBZ0IsRUFBRSxzQkFBc0IsQ0FBQyxtQkFBbUI7UUFDNUQsYUFBYSxFQUFFLHNCQUFzQixDQUFDLFFBQVE7UUFDOUMsZ0JBQWdCLEVBQUUsc0JBQXNCLENBQUMsR0FBRztRQUM1QyxnQkFBZ0IsRUFBRSxzQkFBc0IsQ0FBQyxJQUFJO0tBQ2hEO0NBQ0osQ0FBQTtBQUVELE1BQU0sVUFBVSxhQUFhLENBQ3pCLEVBQTBCLEVBQzFCLEtBQXdCO0lBRXhCLElBQUksS0FBSyxDQUFDLE9BQU87UUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQTs7UUFDakMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDekIsRUFBRSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQ2xFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FDaEIsS0FBSyxDQUFDLGdCQUFnQixFQUN0QixLQUFLLENBQUMsZ0JBQWdCLEVBQ3RCLEtBQUssQ0FBQyxnQkFBZ0IsRUFDdEIsS0FBSyxDQUFDLGdCQUFnQixDQUN6QixDQUFBO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsRUFBMEI7SUFDcEQsT0FBTztRQUNILE9BQU8sRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsYUFBYSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFXO1FBQ2pFLGFBQWEsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBVztRQUMvRCxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQVc7UUFDL0QsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFXO1FBQy9ELGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBVztRQUM3RCxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQVc7S0FDbEUsQ0FBQTtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUMxQixFQUEwQixFQUMxQixLQUF3QixFQUN4QixNQUFrQjtJQUVsQixNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDdEMsYUFBYSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN4QixJQUFJLENBQUM7UUFDRCxNQUFNLEVBQUUsQ0FBQTtJQUNaLENBQUM7WUFBUyxDQUFDO1FBQ1AsYUFBYSxDQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQzNCLEVBQTBCLEVBQzFCLE9BQU8sR0FBRyxnQkFBZ0I7SUFFMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUNwQixNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDL0IsS0FBSyxDQUFDO1FBQ0YsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7UUFDOUI7WUFDSSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUU7WUFDZjtnQkFDSSxLQUFLO2dCQUNMLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUztnQkFDcEMsR0FBRztnQkFDSCxhQUFhLENBQUMsT0FBTyxDQUFDO2dCQUN0QixLQUFLO2FBQ1I7WUFDRDtnQkFDSSwyQkFBMkI7Z0JBQzNCLGFBQWEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO2dCQUNsQyxJQUFJO2dCQUNKLGFBQWEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO2dCQUNsQyxLQUFLO2FBQ1I7WUFDRDtnQkFDSSx5QkFBeUI7Z0JBQ3pCLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxLQUFLLENBQUM7Z0JBQ3RELENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxLQUFLLENBQUM7Z0JBQ3RELENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxLQUFLLENBQUM7Z0JBQ3RELENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxJQUFJLENBQUM7Z0JBQ3JELEtBQUs7YUFDUjtTQUNKO0tBQ0osQ0FBQyxDQUFBO0FBQ04sQ0FBQyJ9
|
|
@@ -6,7 +6,7 @@ export interface WebglDepthOptions {
|
|
|
6
6
|
rangeMin: number;
|
|
7
7
|
rangeMax: number;
|
|
8
8
|
}
|
|
9
|
-
export declare const webglPresetDepth: Readonly<Record<"off" | "less" | "lessOrEqual", WebglDepthOptions>>;
|
|
9
|
+
export declare const webglPresetDepth: Readonly<Record<"off" | "writeOnly" | "less" | "lessOrEqual" | "lessReadOnly" | "lessOrEqualReadOnly", WebglDepthOptions>>;
|
|
10
10
|
export declare function webglDepthSet(gl: WebGL2RenderingContext, depth: WebglDepthOptions): void;
|
|
11
11
|
export declare function webglDepthGet(gl: WebGL2RenderingContext): WebglDepthOptions;
|
|
12
12
|
export declare function webglDepthExec(gl: WebGL2RenderingContext, depth: WebglDepthOptions, action: () => void): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"depth.d.ts","sourceRoot":"","sources":["../../../src/utils/state/depth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,sBAAsB,CAAA;IAC5B,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CACnC,MAAM,
|
|
1
|
+
{"version":3,"file":"depth.d.ts","sourceRoot":"","sources":["../../../src/utils/state/depth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,sBAAsB,CAAA;IAC5B,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CACnC,MAAM,CACA,KAAK,GACL,WAAW,GACX,MAAM,GACN,aAAa,GACb,cAAc,GACd,qBAAqB,EACvB,iBAAiB,CACpB,CA4CJ,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"}
|
|
@@ -3,7 +3,14 @@ import { WebglEnumDepthFunction } from "./../../types/webgl.js";
|
|
|
3
3
|
export const webglPresetDepth = {
|
|
4
4
|
off: {
|
|
5
5
|
enabled: false,
|
|
6
|
-
func: WebglEnumDepthFunction.
|
|
6
|
+
func: WebglEnumDepthFunction.ALWAYS,
|
|
7
|
+
mask: false,
|
|
8
|
+
rangeMin: 0,
|
|
9
|
+
rangeMax: 1,
|
|
10
|
+
},
|
|
11
|
+
writeOnly: {
|
|
12
|
+
enabled: false,
|
|
13
|
+
func: WebglEnumDepthFunction.ALWAYS,
|
|
7
14
|
mask: true,
|
|
8
15
|
rangeMin: 0,
|
|
9
16
|
rangeMax: 1,
|
|
@@ -22,6 +29,20 @@ export const webglPresetDepth = {
|
|
|
22
29
|
rangeMin: 0,
|
|
23
30
|
rangeMax: 1,
|
|
24
31
|
},
|
|
32
|
+
lessReadOnly: {
|
|
33
|
+
enabled: true,
|
|
34
|
+
func: WebglEnumDepthFunction.LESS,
|
|
35
|
+
mask: false,
|
|
36
|
+
rangeMin: 0,
|
|
37
|
+
rangeMax: 1,
|
|
38
|
+
},
|
|
39
|
+
lessOrEqualReadOnly: {
|
|
40
|
+
enabled: true,
|
|
41
|
+
func: WebglEnumDepthFunction.LEQUAL,
|
|
42
|
+
mask: false,
|
|
43
|
+
rangeMin: 0,
|
|
44
|
+
rangeMax: 1,
|
|
45
|
+
},
|
|
25
46
|
};
|
|
26
47
|
export function webglDepthSet(gl, depth) {
|
|
27
48
|
if (depth.enabled)
|
|
@@ -78,4 +99,4 @@ export function webglDebugDepth(gl, caption = "Depth enabled:") {
|
|
|
78
99
|
],
|
|
79
100
|
]);
|
|
80
101
|
}
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwdGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvc3RhdGUvZGVwdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQVV6RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FVekI7SUFDQSxHQUFHLEVBQUU7UUFDRCxPQUFPLEVBQUUsS0FBSztRQUNkLElBQUksRUFBRSxzQkFBc0IsQ0FBQyxNQUFNO1FBQ25DLElBQUksRUFBRSxLQUFLO1FBQ1gsUUFBUSxFQUFFLENBQUM7UUFDWCxRQUFRLEVBQUUsQ0FBQztLQUNkO0lBQ0QsU0FBUyxFQUFFO1FBQ1AsT0FBTyxFQUFFLEtBQUs7UUFDZCxJQUFJLEVBQUUsc0JBQXNCLENBQUMsTUFBTTtRQUNuQyxJQUFJLEVBQUUsSUFBSTtRQUNWLFFBQVEsRUFBRSxDQUFDO1FBQ1gsUUFBUSxFQUFFLENBQUM7S0FDZDtJQUNELElBQUksRUFBRTtRQUNGLE9BQU8sRUFBRSxJQUFJO1FBQ2IsSUFBSSxFQUFFLHNCQUFzQixDQUFDLElBQUk7UUFDakMsSUFBSSxFQUFFLElBQUk7UUFDVixRQUFRLEVBQUUsQ0FBQztRQUNYLFFBQVEsRUFBRSxDQUFDO0tBQ2Q7SUFDRCxXQUFXLEVBQUU7UUFDVCxPQUFPLEVBQUUsSUFBSTtRQUNiLElBQUksRUFBRSxzQkFBc0IsQ0FBQyxNQUFNO1FBQ25DLElBQUksRUFBRSxJQUFJO1FBQ1YsUUFBUSxFQUFFLENBQUM7UUFDWCxRQUFRLEVBQUUsQ0FBQztLQUNkO0lBQ0QsWUFBWSxFQUFFO1FBQ1YsT0FBTyxFQUFFLElBQUk7UUFDYixJQUFJLEVBQUUsc0JBQXNCLENBQUMsSUFBSTtRQUNqQyxJQUFJLEVBQUUsS0FBSztRQUNYLFFBQVEsRUFBRSxDQUFDO1FBQ1gsUUFBUSxF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
|
package/lib/dist/vao/vao.d.ts
CHANGED
|
@@ -11,6 +11,12 @@ export declare class TgdVertexArray {
|
|
|
11
11
|
private readonly drawBuffers;
|
|
12
12
|
private readonly elemBuffer;
|
|
13
13
|
constructor(gl: WebGL2RenderingContext, program?: TgdProgram | undefined, datasets?: Readonly<TgdDataset>[] | undefined, elements?: TgdTypeArrayForElements | undefined);
|
|
14
|
+
/**
|
|
15
|
+
* When you change the data of a dataset,
|
|
16
|
+
* you must call this function to update the VAO.
|
|
17
|
+
* Because datasets do not own any buffer.
|
|
18
|
+
*/
|
|
19
|
+
updateDataset(dataset: TgdDataset): boolean;
|
|
14
20
|
getBuffer(index: number): TgdBuffer | undefined;
|
|
15
21
|
toCode({ indent }?: Partial<{
|
|
16
22
|
indent: string;
|
|
@@ -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,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAEpD,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;IA8BvD,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;IAwBxD,KAAK,CAAC,OAAO,SAAmB;IAWhC,IAAI;IAIJ,MAAM;IAIN,MAAM;CAMT"}
|
|
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,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAEpD,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;IA8BvD;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,UAAU;IA6BjC,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;IAwBxD,KAAK,CAAC,OAAO,SAAmB;IAWhC,IAAI;IAIJ,MAAM;IAIN,MAAM;CAMT"}
|
package/lib/dist/vao/vao.js
CHANGED
|
@@ -34,6 +34,35 @@ export class TgdVertexArray {
|
|
|
34
34
|
}
|
|
35
35
|
gl.bindVertexArray(null);
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* When you change the data of a dataset,
|
|
39
|
+
* you must call this function to update the VAO.
|
|
40
|
+
* Because datasets do not own any buffer.
|
|
41
|
+
*/
|
|
42
|
+
updateDataset(dataset) {
|
|
43
|
+
const { datasets } = this;
|
|
44
|
+
if (!datasets) {
|
|
45
|
+
console.error("You cannot update any dataset because no dataset has been attached to this VAO yet!");
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
const index = datasets.indexOf(dataset);
|
|
49
|
+
if (index === -1) {
|
|
50
|
+
console.error("This dataset is not bound to this VAO!");
|
|
51
|
+
dataset.debug();
|
|
52
|
+
this.debug();
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
const buffer = this.getBuffer(index);
|
|
56
|
+
if (!buffer) {
|
|
57
|
+
console.error(`There is no buffer with index #${index} in this VAO!`);
|
|
58
|
+
this.debug();
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
buffer.bufferData({
|
|
62
|
+
data: dataset.data,
|
|
63
|
+
});
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
37
66
|
getBuffer(index) {
|
|
38
67
|
return this.drawBuffers[index];
|
|
39
68
|
}
|
|
@@ -81,4 +110,4 @@ export class TgdVertexArray {
|
|
|
81
110
|
elemBuffer.delete();
|
|
82
111
|
}
|
|
83
112
|
}
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Zhby92YW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUt2QyxNQUFNLE9BQU8sY0FBYztJQU12QixZQUNvQixFQUEwQixFQUN6QixPQUFvQixFQUNwQixRQUFpQyxFQUNqQyxRQUFrQztRQUhuQyxPQUFFLEdBQUYsRUFBRSxDQUF3QjtRQUN6QixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQXlCO1FBQ2pDLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBUHRDLGdCQUFXLEdBQWdCLEVBQUUsQ0FBQTtRQUM3QixlQUFVLEdBQXFCLElBQUksQ0FBQTtRQVFoRCxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtRQUNsQyxJQUFJLENBQUMsR0FBRztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQTtRQUVoRSxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQTtRQUNkLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTTtRQUVqQyxFQUFFLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLEVBQUU7Z0JBQzdCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtnQkFDbEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO2dCQUN0QixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7YUFDdkIsQ0FBQyxDQUFBO1lBQ0YsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFBO1lBQ2IsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQTtZQUNyQyxPQUFPLE1BQU0sQ0FBQTtRQUNqQixDQUFDLENBQUMsQ0FBQTtRQUNGLElBQUksUUFBUSxFQUFFLENBQUM7WUFDWCxNQUFNLE1BQU0sR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLEVBQUU7Z0JBQzdCLElBQUksRUFBRSxRQUFRO2dCQUNkLE1BQU0sRUFBRSxzQkFBc0I7YUFDakMsQ0FBQyxDQUFBO1lBQ0YsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFBO1lBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUE7UUFDNUIsQ0FBQztRQUNELEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDNUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxhQUFhLENBQUMsT0FBbUI7UUFDN0IsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUN6QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDWixPQUFPLENBQUMsS0FBSyxDQUNULHFGQUFxRixDQUN4RixDQUFBO1lBQ0QsT0FBTyxLQUFLLENBQUE7UUFDaEIsQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDdkMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtZQUN2RCxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUE7WUFDZixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7WUFDWixPQUFPLEtBQUssQ0FBQTtRQUNoQixDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNwQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDVixPQUFPLENBQUMsS0FBSyxDQUNULGtDQUFrQyxLQUFLLGVBQWUsQ0FDekQsQ0FBQTtZQUNELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQTtZQUNaLE9BQU8sS0FBSyxDQUFBO1FBQ2hCLENBQUM7UUFDRCxNQUFNLENBQUMsVUFBVSxDQUFDO1lBQ2QsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1NBQ3JCLENBQUMsQ0FBQTtRQUNGLE9BQU8sSUFBSSxDQUFBO0lBQ2YsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQUUsTUFBTSxHQUFHLEVBQUUsS0FBa0MsRUFBRTs7UUFDcEQsTUFBTSxLQUFLLEdBQWE7WUFDcEIscUJBQXFCO1lBQ3JCLCtCQUErQjtZQUMvQixzQkFBc0IsTUFBQSxJQUFJLENBQUMsUUFBUSwwQ0FDN0IsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsU0FBUyxLQUFLLGVBQWUsRUFDbEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ2YsS0FBSztZQUNMLHNDQUFzQztZQUN0QywyQkFBMkI7U0FDOUIsQ0FBQTtRQUNELElBQUksSUFBSSxDQUFDLFFBQVE7WUFDYixLQUFLLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO2dCQUNyRCxLQUFLLENBQUMsSUFBSSxDQUNOLGVBQWUsS0FBSyxzQkFBc0IsRUFDMUMsc0JBQXNCLE9BQU8sQ0FBQyxNQUFNLFNBQVMsS0FBSyxHQUFHLEVBQ3JELHNCQUFzQixPQUFPLENBQUMsTUFBTSxTQUFTLEtBQUssUUFBUSxPQUFPLENBQUMsS0FBSyxHQUFHLEVBQzFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDLENBQzVDLENBQUE7WUFDTCxDQUFDO1FBQ0wsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDL0IsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDM0QsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLEdBQUcsZ0JBQWdCO1FBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDcEIsSUFBSSxJQUFJLENBQUMsT0FBTztZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDdEMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsS0FBSyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztnQkFDckQsT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLEtBQUssRUFBRSxDQUFDLENBQUE7WUFDekMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzlELENBQUM7SUFFRCxJQUFJO1FBQ0EsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3JDLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDakMsQ0FBQztJQUVELE1BQU07UUFDRixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ2pELEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUN6QixLQUFLLE1BQU0sSUFBSSxJQUFJLFdBQVc7WUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDN0MsSUFBSSxVQUFVO1lBQUUsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ3ZDLENBQUM7Q0FDSiJ9
|