@tolokoban/tgd 2.0.17 → 2.0.20
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/buffer/buffer.d.ts +5 -2
- package/lib/dist/buffer/buffer.d.ts.map +1 -1
- package/lib/dist/buffer/buffer.js +13 -13
- package/lib/dist/camera/camera-node.js +2 -3
- package/lib/dist/camera/camera-orthographic.js +9 -8
- package/lib/dist/camera/camera-perspective.js +9 -8
- package/lib/dist/camera/camera.js +43 -43
- package/lib/dist/canvas/gizmo/gizmo.js +68 -72
- package/lib/dist/canvas/gizmo/painter/tips.d.ts +0 -1
- package/lib/dist/canvas/gizmo/painter/tips.d.ts.map +1 -1
- package/lib/dist/canvas/gizmo/painter/tips.js +24 -22
- package/lib/dist/canvas/landscape/landscape.js +4 -11
- package/lib/dist/color/color.js +15 -15
- package/lib/dist/context/animation/animation-manager.js +7 -4
- package/lib/dist/context/context.d.ts +5 -18
- package/lib/dist/context/context.d.ts.map +1 -1
- package/lib/dist/context/context.js +43 -79
- package/lib/dist/controller/camera/orbit.d.ts +24 -2
- package/lib/dist/controller/camera/orbit.d.ts.map +1 -1
- package/lib/dist/controller/camera/orbit.js +147 -103
- package/lib/dist/dataset/dataset.d.ts +1 -1
- package/lib/dist/dataset/dataset.d.ts.map +1 -1
- package/lib/dist/dataset/dataset.js +13 -18
- package/lib/dist/debug/debug.js +6 -5
- package/lib/dist/event/event.js +4 -2
- package/lib/dist/filter/chromatic-aberration.js +10 -10
- package/lib/dist/filter/filter.d.ts +10 -8
- package/lib/dist/filter/filter.d.ts.map +1 -1
- package/lib/dist/filter/filter.js +22 -20
- package/lib/dist/filter/hue-rotation.d.ts +1 -1
- package/lib/dist/filter/hue-rotation.d.ts.map +1 -1
- package/lib/dist/filter/hue-rotation.js +5 -5
- package/lib/dist/filter/index.d.ts +2 -0
- package/lib/dist/filter/index.d.ts.map +1 -1
- package/lib/dist/filter/index.js +3 -1
- package/lib/dist/filter/verbatim.d.ts +8 -0
- package/lib/dist/filter/verbatim.d.ts.map +1 -0
- package/lib/dist/filter/verbatim.js +20 -0
- package/lib/dist/filter/zoom.d.ts +12 -0
- package/lib/dist/filter/zoom.d.ts.map +1 -0
- package/lib/dist/filter/zoom.js +25 -0
- package/lib/dist/geometry/geometry.js +9 -17
- package/lib/dist/geometry/index.d.ts +1 -0
- package/lib/dist/geometry/index.d.ts.map +1 -1
- package/lib/dist/geometry/index.js +2 -1
- package/lib/dist/geometry/place.d.ts +12 -0
- package/lib/dist/geometry/place.d.ts.map +1 -0
- package/lib/dist/geometry/place.js +145 -0
- package/lib/dist/geometry/plane.d.ts +12 -0
- package/lib/dist/geometry/plane.d.ts.map +1 -0
- package/lib/dist/geometry/plane.js +51 -0
- package/lib/dist/index.d.ts +4 -1
- package/lib/dist/index.d.ts.map +1 -1
- package/lib/dist/index.js +5 -2
- package/lib/dist/input/inputs.js +3 -4
- package/lib/dist/input/keyboard.js +14 -14
- package/lib/dist/input/pointer.js +80 -104
- package/lib/dist/light/light.js +5 -8
- package/lib/dist/loader/asset.d.ts +5 -3
- package/lib/dist/loader/asset.d.ts.map +1 -1
- package/lib/dist/loader/asset.js +37 -24
- package/lib/dist/loader/binary.js +29 -24
- package/lib/dist/loader/image.js +31 -24
- package/lib/dist/log.js +7 -4
- package/lib/dist/material/diffuse.d.ts +10 -4
- package/lib/dist/material/diffuse.d.ts.map +1 -1
- package/lib/dist/material/diffuse.js +26 -18
- package/lib/dist/material/ghost.d.ts +5 -4
- package/lib/dist/material/ghost.d.ts.map +1 -1
- package/lib/dist/material/ghost.js +1 -4
- package/lib/dist/material/hull.d.ts +25 -0
- package/lib/dist/material/hull.d.ts.map +1 -0
- package/lib/dist/material/hull.js +27 -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/material/material.d.ts +14 -5
- package/lib/dist/material/material.d.ts.map +1 -1
- package/lib/dist/material/material.js +14 -12
- package/lib/dist/material/normals.d.ts +5 -4
- package/lib/dist/material/normals.d.ts.map +1 -1
- package/lib/dist/material/normals.js +1 -4
- package/lib/dist/material/solid.d.ts +6 -5
- package/lib/dist/material/solid.d.ts.map +1 -1
- package/lib/dist/material/solid.js +7 -10
- package/lib/dist/math/mat3.d.ts +6 -2
- package/lib/dist/math/mat3.d.ts.map +1 -1
- package/lib/dist/math/mat3.js +43 -4
- package/lib/dist/math/mat4.js +2 -2
- package/lib/dist/math/math.js +5 -5
- package/lib/dist/math/quat.d.ts +4 -1
- package/lib/dist/math/quat.d.ts.map +1 -1
- package/lib/dist/math/quat.js +25 -4
- package/lib/dist/math/transfo.js +12 -10
- package/lib/dist/math/vec4.d.ts +3 -3
- package/lib/dist/math/vec4.d.ts.map +1 -1
- package/lib/dist/math/vec4.js +20 -1
- package/lib/dist/painter/axis/axis.js +5 -7
- package/lib/dist/painter/background/background.d.ts +1 -1
- package/lib/dist/painter/background/background.d.ts.map +1 -1
- package/lib/dist/painter/background/background.js +14 -16
- package/lib/dist/painter/clear.d.ts +4 -3
- package/lib/dist/painter/clear.d.ts.map +1 -1
- package/lib/dist/painter/clear.js +16 -19
- package/lib/dist/painter/debug/index.d.ts +2 -0
- package/lib/dist/painter/debug/index.d.ts.map +1 -0
- package/lib/dist/painter/debug/index.js +2 -0
- package/lib/dist/painter/debug/stencil/index.d.ts +2 -0
- package/lib/dist/painter/debug/stencil/index.d.ts.map +1 -0
- package/lib/dist/painter/debug/stencil/index.js +2 -0
- package/lib/dist/painter/debug/stencil/stencil.d.ts +11 -0
- package/lib/dist/painter/debug/stencil/stencil.d.ts.map +1 -0
- package/lib/dist/painter/debug/stencil/stencil.frag +10 -0
- package/lib/dist/painter/debug/stencil/stencil.js +53 -0
- package/lib/dist/painter/debug/stencil/stencil.vert +7 -0
- package/lib/dist/painter/debug/stencil.d.ts +11 -0
- package/lib/dist/painter/debug/stencil.d.ts.map +1 -0
- package/lib/dist/painter/debug/stencil.js +41 -0
- package/lib/dist/painter/depth.d.ts +5 -3
- package/lib/dist/painter/depth.d.ts.map +1 -1
- package/lib/dist/painter/depth.js +4 -10
- package/lib/dist/painter/filter/filter.d.ts +1 -1
- package/lib/dist/painter/filter/filter.d.ts.map +1 -1
- package/lib/dist/painter/filter/filter.js +20 -33
- package/lib/dist/painter/framebuffer.backup.d.ts +39 -0
- package/lib/dist/painter/framebuffer.backup.d.ts.map +1 -0
- package/lib/dist/painter/framebuffer.backup.js +122 -0
- package/lib/dist/painter/framebuffer.d.ts +41 -9
- package/lib/dist/painter/framebuffer.d.ts.map +1 -1
- package/lib/dist/painter/framebuffer.js +105 -90
- package/lib/dist/painter/group.js +6 -8
- package/lib/dist/painter/index.d.ts +1 -1
- package/lib/dist/painter/index.d.ts.map +1 -1
- package/lib/dist/painter/index.js +2 -2
- package/lib/dist/painter/logic.js +3 -3
- package/lib/dist/painter/mesh/gltf/gltf.d.ts +1 -1
- package/lib/dist/painter/mesh/gltf/gltf.d.ts.map +1 -1
- package/lib/dist/painter/mesh/gltf/gltf.js +35 -58
- package/lib/dist/painter/mesh/hull/hull.d.ts +12 -0
- package/lib/dist/painter/mesh/hull/hull.d.ts.map +1 -0
- package/lib/dist/painter/mesh/hull/hull.js +11 -0
- package/lib/dist/painter/mesh/mesh/mesh.d.ts +1 -1
- package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -1
- package/lib/dist/painter/mesh/mesh/mesh.js +34 -41
- package/lib/dist/painter/mesh/normals/normals.js +17 -20
- package/lib/dist/painter/node/node.js +8 -8
- package/lib/dist/painter/painter.js +11 -9
- package/lib/dist/painter/segments/segments.d.ts +11 -3
- package/lib/dist/painter/segments/segments.d.ts.map +1 -1
- package/lib/dist/painter/segments/segments.js +27 -27
- package/lib/dist/painter/skybox/skybox.d.ts.map +1 -1
- package/lib/dist/painter/skybox/skybox.js +12 -13
- package/lib/dist/painter/state/state.d.ts +10 -1
- 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 +5 -2
- package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
- package/lib/dist/parser/gltf/gltf.js +86 -55
- package/lib/dist/parser/mesh/wavefront.js +95 -92
- package/lib/dist/program/program.d.ts +6 -4
- package/lib/dist/program/program.d.ts.map +1 -1
- package/lib/dist/program/program.js +6 -11
- package/lib/dist/ref-map.js +9 -5
- package/lib/dist/resource/program.js +1 -2
- package/lib/dist/resource/resource.js +11 -7
- package/lib/dist/resource/texture2d.js +1 -2
- package/lib/dist/resource/textureCube.js +1 -2
- package/lib/dist/shader/code.d.ts +8 -8
- package/lib/dist/shader/code.d.ts.map +1 -1
- package/lib/dist/shader/code.js +1 -1
- package/lib/dist/shader/fragment.d.ts +11 -11
- package/lib/dist/shader/fragment.d.ts.map +1 -1
- package/lib/dist/shader/fragment.js +2 -14
- package/lib/dist/shader/vertex.d.ts +11 -11
- package/lib/dist/shader/vertex.d.ts.map +1 -1
- package/lib/dist/shader/vertex.js +2 -7
- package/lib/dist/table/index.d.ts +2 -0
- package/lib/dist/table/index.d.ts.map +1 -0
- package/lib/dist/table/index.js +2 -0
- package/lib/dist/table/table.d.ts +41 -0
- package/lib/dist/table/table.d.ts.map +1 -0
- package/lib/dist/table/table.js +101 -0
- package/lib/dist/texture/texture2d.d.ts +45 -21
- package/lib/dist/texture/texture2d.d.ts.map +1 -1
- package/lib/dist/texture/texture2d.js +162 -129
- package/lib/dist/texture/texture2dArray.d.ts +43 -0
- package/lib/dist/texture/texture2dArray.d.ts.map +1 -0
- package/lib/dist/texture/texture2dArray.js +112 -0
- package/lib/dist/texture/textureCube.d.ts +12 -5
- package/lib/dist/texture/textureCube.d.ts.map +1 -1
- package/lib/dist/texture/textureCube.js +7 -25
- package/lib/dist/types/gltf.js +3 -9
- package/lib/dist/types/index.d.ts +0 -2
- package/lib/dist/types/index.d.ts.map +1 -1
- package/lib/dist/types/index.js +1 -3
- package/lib/dist/types/program.d.ts +3 -40
- package/lib/dist/types/program.d.ts.map +1 -1
- package/lib/dist/types/texture2d.d.ts +18 -2
- package/lib/dist/types/texture2d.d.ts.map +1 -1
- package/lib/dist/types/textureCube.d.ts +6 -15
- package/lib/dist/types/textureCube.d.ts.map +1 -1
- package/lib/dist/types/webgl.d.ts +22 -1
- package/lib/dist/types/webgl.d.ts.map +1 -1
- package/lib/dist/types/webgl.js +14 -1
- package/lib/dist/uniform/uniform-buffer-object.d.ts +49 -0
- package/lib/dist/uniform/uniform-buffer-object.d.ts.map +1 -0
- package/lib/dist/uniform/uniform-buffer-object.js +93 -0
- package/lib/dist/utils/action/camera.js +8 -7
- package/lib/dist/utils/bbox.js +3 -3
- package/lib/dist/utils/canvas.d.ts +28 -0
- package/lib/dist/utils/canvas.d.ts.map +1 -1
- package/lib/dist/utils/canvas.js +55 -1
- package/lib/dist/utils/framebuffer.d.ts +2 -0
- package/lib/dist/utils/framebuffer.d.ts.map +1 -0
- package/lib/dist/utils/framebuffer.js +7 -0
- package/lib/dist/utils/fullscreen.js +38 -31
- package/lib/dist/utils/index.d.ts +2 -0
- package/lib/dist/utils/index.d.ts.map +1 -1
- package/lib/dist/utils/index.js +3 -1
- package/lib/dist/utils/pbo.d.ts +9 -0
- package/lib/dist/utils/pbo.d.ts.map +1 -0
- package/lib/dist/utils/pbo.js +32 -0
- package/lib/dist/utils/ref-map.js +9 -5
- package/lib/dist/utils/state/stencil.d.ts +55 -1
- package/lib/dist/utils/state/stencil.d.ts.map +1 -1
- package/lib/dist/utils/state/stencil.js +20 -38
- package/lib/dist/utils/webgl.d.ts +1 -1
- package/lib/dist/utils/webgl.d.ts.map +1 -1
- package/lib/dist/vao/vao.d.ts +2 -1
- package/lib/dist/vao/vao.d.ts.map +1 -1
- package/lib/dist/vao/vao.js +10 -14
- package/lib/dist/webgl/index.d.ts +2 -0
- package/lib/dist/webgl/index.d.ts.map +1 -0
- package/lib/dist/webgl/index.js +2 -0
- package/lib/dist/webgl/texture/index.d.ts +3 -0
- package/lib/dist/webgl/texture/index.d.ts.map +1 -0
- package/lib/dist/webgl/texture/index.js +3 -0
- package/lib/dist/webgl/texture/texture2d.d.ts +38 -0
- package/lib/dist/webgl/texture/texture2d.d.ts.map +1 -0
- package/lib/dist/webgl/texture/texture2d.js +35 -0
- package/lib/dist/webgl/texture/types.d.ts +4 -0
- package/lib/dist/webgl/texture/types.d.ts.map +1 -0
- package/lib/dist/webgl/texture/types.js +2 -0
- package/package.json +3 -3
package/lib/dist/utils/bbox.js
CHANGED
|
@@ -11,9 +11,9 @@ export function tgdComputeBoundingBox3D(dataset, attPositionName = "POSITION", m
|
|
|
11
11
|
const { get } = dataset
|
|
12
12
|
.assertAttribType(attPositionName, "vec3", "vec4")
|
|
13
13
|
.getAttribAccessor(attPositionName);
|
|
14
|
-
const min = minVector
|
|
14
|
+
const min = minVector !== null && minVector !== void 0 ? minVector : new TgdVec3();
|
|
15
15
|
min.reset(get(0, 0), get(0, 1), get(0, 2));
|
|
16
|
-
const max = maxVector
|
|
16
|
+
const max = maxVector !== null && maxVector !== void 0 ? maxVector : new TgdVec3();
|
|
17
17
|
max.from(min);
|
|
18
18
|
for (let index = 1; index < dataset.count; index++) {
|
|
19
19
|
const x = get(index, 0);
|
|
@@ -28,4 +28,4 @@ export function tgdComputeBoundingBox3D(dataset, attPositionName = "POSITION", m
|
|
|
28
28
|
}
|
|
29
29
|
return { min, max };
|
|
30
30
|
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmJveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9iYm94LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFbkM7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FDbkMsT0FBNkIsRUFDN0IsZUFBZSxHQUFHLFVBQVUsRUFDNUIsU0FBbUIsRUFDbkIsU0FBbUI7SUFLbkIsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLE9BQU87U0FDbEIsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUM7U0FDakQsaUJBQWlCLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDdkMsTUFBTSxHQUFHLEdBQUcsU0FBUyxhQUFULFNBQVMsY0FBVCxTQUFTLEdBQUksSUFBSSxPQUFPLEVBQUUsQ0FBQTtJQUN0QyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDMUMsTUFBTSxHQUFHLEdBQUcsU0FBUyxhQUFULFNBQVMsY0FBVCxTQUFTLEdBQUksSUFBSSxPQUFPLEVBQUUsQ0FBQTtJQUN0QyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ2IsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUNqRCxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ3ZCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDdkIsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUN2QixHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUMxQixHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUMxQixHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUMxQixHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUMxQixHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUMxQixHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUM5QixDQUFDO0lBQ0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQTtBQUN2QixDQUFDIn0=
|
|
@@ -10,4 +10,32 @@ export declare function tgdCanvasCreateWithContext2D(width: number, height: numb
|
|
|
10
10
|
canvas: HTMLCanvasElement;
|
|
11
11
|
ctx: CanvasRenderingContext2D;
|
|
12
12
|
};
|
|
13
|
+
/**
|
|
14
|
+
* A palette is an image with a different (or not) color for each pixel.
|
|
15
|
+
* It can be used in a texture with NEAREST filter, for instance.
|
|
16
|
+
* @param colors CSS colors of each pixel
|
|
17
|
+
* @param colums If not defined, the canvas will have a size of (colors.length, 1).
|
|
18
|
+
* But if `colums` is defined, it will be the width of the vanva and the height will
|
|
19
|
+
* be computed to hold all the colors.
|
|
20
|
+
* If there are more pixels in the canvas that colors, we just wrap around the colors
|
|
21
|
+
* array.
|
|
22
|
+
* @param rows If defined, it will be the height of the canvas.
|
|
23
|
+
* @example
|
|
24
|
+
* ```
|
|
25
|
+
* // Create a 5x5 checkboard.
|
|
26
|
+
* const canvas = tgdCanvasCreatePalette(["#000", "#fff"], 5, 5)
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare function tgdCanvasCreatePalette(colors: string[], colums?: number, rows?: number): HTMLCanvasElement;
|
|
30
|
+
export declare function tgdCanvasCreateGradientHorizontal(size: number, colors: string[]): HTMLCanvasElement;
|
|
31
|
+
export declare function tgdCanvasCreateCreateGradientvertical(size: number, colors: string[]): HTMLCanvasElement;
|
|
32
|
+
/**
|
|
33
|
+
* Create a canvas with a linear gradient.
|
|
34
|
+
* @param width Width of the resulting canvas.
|
|
35
|
+
* @param height Height of the resulting canvas.
|
|
36
|
+
* @param dirX X coord of the direction vector.
|
|
37
|
+
* @param dirY Y coord of the direction vector.
|
|
38
|
+
* @param colors CSS colors of each step
|
|
39
|
+
*/
|
|
40
|
+
export declare function tgdCanvasCreateGradient(width: number, height: number, dirX: number, dirY: number, colors: string[]): HTMLCanvasElement;
|
|
13
41
|
//# sourceMappingURL=canvas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../src/utils/canvas.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,eAAe,CAC3B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACf,iBAAiB,CAKnB;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CACxC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,gCAAgC,GAC5C;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,GAAG,EAAE,wBAAwB,CAAA;CAAE,CAQ9D"}
|
|
1
|
+
{"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../src/utils/canvas.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,eAAe,CAC3B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACf,iBAAiB,CAKnB;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CACxC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,gCAAgC,GAC5C;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,GAAG,EAAE,wBAAwB,CAAA;CAAE,CAQ9D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,SAAI,EAAE,IAAI,SAAI,qBAa5E;AAED,wBAAgB,iCAAiC,CAC7C,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EAAE,qBAGnB;AAED,wBAAgB,qCAAqC,CACjD,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EAAE,qBAGnB;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EAAE,qBAUnB"}
|
package/lib/dist/utils/canvas.js
CHANGED
|
@@ -20,4 +20,58 @@ export function tgdCanvasCreateWithContext2D(width, height, settings) {
|
|
|
20
20
|
throw Error("Unable to create 2D context!");
|
|
21
21
|
return { canvas, ctx };
|
|
22
22
|
}
|
|
23
|
-
|
|
23
|
+
/**
|
|
24
|
+
* A palette is an image with a different (or not) color for each pixel.
|
|
25
|
+
* It can be used in a texture with NEAREST filter, for instance.
|
|
26
|
+
* @param colors CSS colors of each pixel
|
|
27
|
+
* @param colums If not defined, the canvas will have a size of (colors.length, 1).
|
|
28
|
+
* But if `colums` is defined, it will be the width of the vanva and the height will
|
|
29
|
+
* be computed to hold all the colors.
|
|
30
|
+
* If there are more pixels in the canvas that colors, we just wrap around the colors
|
|
31
|
+
* array.
|
|
32
|
+
* @param rows If defined, it will be the height of the canvas.
|
|
33
|
+
* @example
|
|
34
|
+
* ```
|
|
35
|
+
* // Create a 5x5 checkboard.
|
|
36
|
+
* const canvas = tgdCanvasCreatePalette(["#000", "#fff"], 5, 5)
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export function tgdCanvasCreatePalette(colors, colums = 0, rows = 0) {
|
|
40
|
+
const width = colums > 0 ? colums : colors.length;
|
|
41
|
+
const height = rows > 0 ? rows : Math.ceil(colors.length / width);
|
|
42
|
+
const { canvas, ctx } = tgdCanvasCreateWithContext2D(width, height);
|
|
43
|
+
let i = 0;
|
|
44
|
+
for (let y = 0; y < height; y++) {
|
|
45
|
+
for (let x = 0; x < width; x++) {
|
|
46
|
+
ctx.fillStyle = colors[i % colors.length];
|
|
47
|
+
ctx.fillRect(x, y, 1, 1);
|
|
48
|
+
i++;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return canvas;
|
|
52
|
+
}
|
|
53
|
+
export function tgdCanvasCreateGradientHorizontal(size, colors) {
|
|
54
|
+
return tgdCanvasCreateGradient(size, 1, 1, 0, colors);
|
|
55
|
+
}
|
|
56
|
+
export function tgdCanvasCreateCreateGradientvertical(size, colors) {
|
|
57
|
+
return tgdCanvasCreateGradient(1, size, 0, 1, colors);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Create a canvas with a linear gradient.
|
|
61
|
+
* @param width Width of the resulting canvas.
|
|
62
|
+
* @param height Height of the resulting canvas.
|
|
63
|
+
* @param dirX X coord of the direction vector.
|
|
64
|
+
* @param dirY Y coord of the direction vector.
|
|
65
|
+
* @param colors CSS colors of each step
|
|
66
|
+
*/
|
|
67
|
+
export function tgdCanvasCreateGradient(width, height, dirX, dirY, colors) {
|
|
68
|
+
const { canvas, ctx } = tgdCanvasCreateWithContext2D(width, height);
|
|
69
|
+
const gradient = ctx.createLinearGradient(0, 0, width * dirX, height * dirY);
|
|
70
|
+
for (let i = 0; i < colors.length; i++) {
|
|
71
|
+
gradient.addColorStop(i / (colors.length - 1), colors[i]);
|
|
72
|
+
}
|
|
73
|
+
ctx.fillStyle = gradient;
|
|
74
|
+
ctx.fillRect(0, 0, width, height);
|
|
75
|
+
return canvas;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2NhbnZhcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQzNCLEtBQWEsRUFDYixNQUFjO0lBRWQsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUMvQyxNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtJQUNwQixNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtJQUN0QixPQUFPLE1BQU0sQ0FBQTtBQUNqQixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLDRCQUE0QixDQUN4QyxLQUFhLEVBQ2IsTUFBYyxFQUNkLFFBQTJDO0lBRTNDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDL0MsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7SUFDcEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7SUFDdEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDN0MsSUFBSSxDQUFDLEdBQUc7UUFBRSxNQUFNLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFBO0lBRXJELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUE7QUFDMUIsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxNQUFnQixFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsSUFBSSxHQUFHLENBQUM7SUFDekUsTUFBTSxLQUFLLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFBO0lBQ2pELE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFBO0lBQ2pFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsNEJBQTRCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQ25FLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNULEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM5QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDN0IsR0FBRyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUN6QyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQ3hCLENBQUMsRUFBRSxDQUFBO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQTtBQUNqQixDQUFDO0FBRUQsTUFBTSxVQUFVLGlDQUFpQyxDQUM3QyxJQUFZLEVBQ1osTUFBZ0I7SUFFaEIsT0FBTyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUE7QUFDekQsQ0FBQztBQUVELE1BQU0sVUFBVSxxQ0FBcUMsQ0FDakQsSUFBWSxFQUNaLE1BQWdCO0lBRWhCLE9BQU8sdUJBQXVCLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQ3pELENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUNuQyxLQUFhLEVBQ2IsTUFBYyxFQUNkLElBQVksRUFDWixJQUFZLEVBQ1osTUFBZ0I7SUFFaEIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyw0QkFBNEIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFDbkUsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxHQUFHLElBQUksRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUE7SUFDNUUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNyQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDN0QsQ0FBQztJQUNELEdBQUcsQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFBO0lBQ3hCLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFDakMsT0FBTyxNQUFNLENBQUE7QUFDakIsQ0FBQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"framebuffer.d.ts","sourceRoot":"","sources":["../../src/utils/framebuffer.ts"],"names":[],"mappings":"AAAA,wBAAgB,sBAAsB,CAClC,EAAE,EAAE,sBAAsB,GAC3B,gBAAgB,CAKlB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export function webglCreateFramebuffer(gl) {
|
|
2
|
+
const fb = gl.createFramebuffer();
|
|
3
|
+
if (!fb)
|
|
4
|
+
throw Error("Unable to create a WebGLFramebuffer!");
|
|
5
|
+
return fb;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWVidWZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZnJhbWVidWZmZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLHNCQUFzQixDQUNsQyxFQUEwQjtJQUUxQixNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtJQUNqQyxJQUFJLENBQUMsRUFBRTtRQUFFLE1BQU0sS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUE7SUFFNUQsT0FBTyxFQUFFLENBQUE7QUFDYixDQUFDIn0=
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
1
2
|
/**
|
|
2
3
|
* Check if an element is in fullscreen or not.
|
|
3
4
|
* @returns `true` if `elem` is displayed in fullscreen.
|
|
@@ -20,45 +21,51 @@ export function tgdFullscreenTest(elem) {
|
|
|
20
21
|
* Request for an element to go fullscreen.
|
|
21
22
|
* @returns `true` in case of success.
|
|
22
23
|
*/
|
|
23
|
-
export
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
24
|
+
export function tgdFullscreenRequest(element_1) {
|
|
25
|
+
return __awaiter(this, arguments, void 0, function* (element, options = {
|
|
26
|
+
navigationUI: "hide",
|
|
27
|
+
}) {
|
|
28
|
+
if (!element)
|
|
29
|
+
return false;
|
|
30
|
+
try {
|
|
31
|
+
yield element.requestFullscreen(options);
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
catch (ex) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
35
38
|
}
|
|
36
39
|
/**
|
|
37
40
|
* Exit fullscreen mode.
|
|
38
41
|
* @returns `true` in case of success.
|
|
39
42
|
*/
|
|
40
|
-
export
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
43
|
+
export function tgdFullscreenExit() {
|
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
if (!document.fullscreenElement)
|
|
46
|
+
return false;
|
|
47
|
+
try {
|
|
48
|
+
yield document.exitFullscreen();
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
catch (ex) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
});
|
|
50
55
|
}
|
|
51
56
|
/**
|
|
52
57
|
* If `element` is not in fullscreen mode, request it.
|
|
53
58
|
* Otherwise, exit from fullscreen mode.
|
|
54
59
|
*/
|
|
55
|
-
export
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
export function tgdFullscreenToggle(element_1) {
|
|
61
|
+
return __awaiter(this, arguments, void 0, function* (element, options = {
|
|
62
|
+
navigationUI: "hide",
|
|
63
|
+
}) {
|
|
64
|
+
if (!element)
|
|
65
|
+
return false;
|
|
66
|
+
return tgdFullscreenTest(element)
|
|
67
|
+
? tgdFullscreenExit()
|
|
68
|
+
: tgdFullscreenRequest(element, options);
|
|
69
|
+
});
|
|
63
70
|
}
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbHNjcmVlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9mdWxsc2NyZWVuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsSUFBb0I7SUFDbEQsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUFBO0lBQ3ZDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTyxLQUFLLENBQUE7SUFFaEMsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQTtJQUMvQixPQUFPLE1BQU0sRUFBRSxDQUFDO1FBQ1osSUFBSSxNQUFNLEtBQUssUUFBUSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDeEMsT0FBTyxDQUNILElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLFdBQVc7Z0JBQ3JDLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FDMUMsQ0FBQTtRQUNMLENBQUM7UUFDRCxNQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQTtJQUNqQyxDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUMsaUJBQWlCLEtBQUssSUFBSSxDQUFBO0FBQzlDLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQWdCLG9CQUFvQjt5REFDdEMsT0FBdUIsRUFDdkIsVUFBNkI7UUFDekIsWUFBWSxFQUFFLE1BQU07S0FDdkI7UUFFRCxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFBO1FBRTFCLElBQUksQ0FBQztZQUNELE1BQU0sT0FBTyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQ3hDLE9BQU8sSUFBSSxDQUFBO1FBQ2YsQ0FBQztRQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDVixPQUFPLEtBQUssQ0FBQTtRQUNoQixDQUFDO0lBQ0wsQ0FBQztDQUFBO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFnQixpQkFBaUI7O1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCO1lBQUUsT0FBTyxLQUFLLENBQUE7UUFFN0MsSUFBSSxDQUFDO1lBQ0QsTUFBTSxRQUFRLENBQUMsY0FBYyxFQUFFLENBQUE7WUFDL0IsT0FBTyxJQUFJLENBQUE7UUFDZixDQUFDO1FBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNWLE9BQU8sS0FBSyxDQUFBO1FBQ2hCLENBQUM7SUFDTCxDQUFDO0NBQUE7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQWdCLG1CQUFtQjt5REFDckMsT0FBdUIsRUFDdkIsVUFBNkI7UUFDekIsWUFBWSxFQUFFLE1BQU07S0FDdkI7UUFFRCxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFBO1FBRTFCLE9BQU8saUJBQWlCLENBQUMsT0FBTyxDQUFDO1lBQzdCLENBQUMsQ0FBQyxpQkFBaUIsRUFBRTtZQUNyQixDQUFDLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQ2hELENBQUM7Q0FBQSJ9
|
|
@@ -3,7 +3,9 @@ export * from "./assert";
|
|
|
3
3
|
export * from "./bbox";
|
|
4
4
|
export * from "./canvas";
|
|
5
5
|
export * from "./ease-func";
|
|
6
|
+
export * from "./framebuffer";
|
|
6
7
|
export * from "./fullscreen";
|
|
8
|
+
export * from "./pbo";
|
|
7
9
|
export * from "./state";
|
|
8
10
|
export * from "./webgl";
|
|
9
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
|
package/lib/dist/utils/index.js
CHANGED
|
@@ -3,7 +3,9 @@ export * from "./assert.js";
|
|
|
3
3
|
export * from "./bbox.js";
|
|
4
4
|
export * from "./canvas.js";
|
|
5
5
|
export * from "./ease-func/index.js";
|
|
6
|
+
export * from "./framebuffer.js";
|
|
6
7
|
export * from "./fullscreen.js";
|
|
8
|
+
export * from "./pbo.js";
|
|
7
9
|
export * from "./state/index.js";
|
|
8
10
|
export * from "./webgl.js";
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxRQUFRLENBQUE7QUFDdEIsY0FBYyxVQUFVLENBQUE7QUFDeEIsY0FBYyxhQUFhLENBQUE7QUFDM0IsY0FBYyxlQUFlLENBQUE7QUFDN0IsY0FBYyxjQUFjLENBQUE7QUFDNUIsY0FBYyxPQUFPLENBQUE7QUFDckIsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxTQUFTLENBQUEifQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creating a Pixel Buffer Object is usefull to store big images into the GPU.
|
|
3
|
+
*
|
|
4
|
+
* @param gl
|
|
5
|
+
* @param source
|
|
6
|
+
* @returns Handle of the created PBO.
|
|
7
|
+
*/
|
|
8
|
+
export declare function tgdPixelBufferObjectCreate(gl: WebGL2RenderingContext, source: HTMLImageElement | HTMLCanvasElement | Uint8ClampedArray, width?: number, height?: number): WebGLBuffer;
|
|
9
|
+
//# sourceMappingURL=pbo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pbo.d.ts","sourceRoot":"","sources":["../../src/utils/pbo.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACtC,EAAE,EAAE,sBAAsB,EAC1B,MAAM,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,iBAAiB,EAChE,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,eAWlB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { tgdCanvasCreateWithContext2D } from "./canvas.js";
|
|
2
|
+
/**
|
|
3
|
+
* Creating a Pixel Buffer Object is usefull to store big images into the GPU.
|
|
4
|
+
*
|
|
5
|
+
* @param gl
|
|
6
|
+
* @param source
|
|
7
|
+
* @returns Handle of the created PBO.
|
|
8
|
+
*/
|
|
9
|
+
export function tgdPixelBufferObjectCreate(gl, source, width, height) {
|
|
10
|
+
const { data, width: w, height: h } = getData(source, width, height);
|
|
11
|
+
const buffer = gl.createBuffer();
|
|
12
|
+
if (!buffer)
|
|
13
|
+
throw Error("Unable to create a WebGL2 pixel buffer buffer!");
|
|
14
|
+
gl.bindBuffer(gl.PIXEL_UNPACK_BUFFER, buffer);
|
|
15
|
+
gl.bufferData(gl.PIXEL_UNPACK_BUFFER, data, gl.STATIC_DRAW);
|
|
16
|
+
gl.pixelStorei(gl.UNPACK_ROW_LENGTH, w);
|
|
17
|
+
gl.pixelStorei(gl.UNPACK_IMAGE_HEIGHT, h);
|
|
18
|
+
return buffer;
|
|
19
|
+
}
|
|
20
|
+
function getData(source, width, height) {
|
|
21
|
+
if (source instanceof Uint8ClampedArray) {
|
|
22
|
+
if (typeof width === "number" && typeof height === "number") {
|
|
23
|
+
return { data: source, width, height };
|
|
24
|
+
}
|
|
25
|
+
throw Error("If you give a Uint8Array to tgdPixelBufferObjectCreate(), you must specify both width and height arguments!");
|
|
26
|
+
}
|
|
27
|
+
const { width: w, height: h } = source;
|
|
28
|
+
const { ctx } = tgdCanvasCreateWithContext2D(w, h);
|
|
29
|
+
ctx.drawImage(source, 0, 0);
|
|
30
|
+
return { data: ctx.getImageData(0, 0, w, h).data, width: w, height: h };
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGJvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3Biby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFFdkQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLDBCQUEwQixDQUN0QyxFQUEwQixFQUMxQixNQUFnRSxFQUNoRSxLQUFjLEVBQ2QsTUFBZTtJQUVmLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFDcEUsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFBO0lBQ2hDLElBQUksQ0FBQyxNQUFNO1FBQUUsTUFBTSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQTtJQUUxRSxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUM3QyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQzNELEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3ZDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3pDLE9BQU8sTUFBTSxDQUFBO0FBQ2pCLENBQUM7QUFFRCxTQUFTLE9BQU8sQ0FDWixNQUFnRSxFQUNoRSxLQUFjLEVBQ2QsTUFBZTtJQUVmLElBQUksTUFBTSxZQUFZLGlCQUFpQixFQUFFLENBQUM7UUFDdEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDMUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFBO1FBQzFDLENBQUM7UUFDRCxNQUFNLEtBQUssQ0FDUCw2R0FBNkcsQ0FDaEgsQ0FBQTtJQUNMLENBQUM7SUFFRCxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFBO0lBQ3RDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyw0QkFBNEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDbEQsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQzNCLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUE7QUFDM0UsQ0FBQyJ9
|
|
@@ -3,17 +3,20 @@
|
|
|
3
3
|
* And it tells you when you delete it as many times.
|
|
4
4
|
*/
|
|
5
5
|
export default class RefMap {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
constructor() {
|
|
7
|
+
this.map = new Map();
|
|
8
|
+
this.count = new Map();
|
|
9
|
+
}
|
|
8
10
|
/**
|
|
9
11
|
* If `key` is already stored in the map,
|
|
10
12
|
* we add a reference to the mapped value and return it.
|
|
11
13
|
* If not, we create the mapped value by calling `factory()`.
|
|
12
14
|
*/
|
|
13
15
|
add(key, factory) {
|
|
16
|
+
var _a;
|
|
14
17
|
const { map, count } = this;
|
|
15
18
|
if (count.has(key)) {
|
|
16
|
-
count.set(key, 1 + (count.get(key)
|
|
19
|
+
count.set(key, 1 + ((_a = count.get(key)) !== null && _a !== void 0 ? _a : 0));
|
|
17
20
|
const curVal = map.get(key);
|
|
18
21
|
if (!curVal)
|
|
19
22
|
throw Error("[CountMap] Map should not be empty!");
|
|
@@ -31,10 +34,11 @@ export default class RefMap {
|
|
|
31
34
|
* return `undefined`.
|
|
32
35
|
*/
|
|
33
36
|
delete(key) {
|
|
37
|
+
var _a;
|
|
34
38
|
const { map, count } = this;
|
|
35
39
|
if (!map.has(key))
|
|
36
40
|
return;
|
|
37
|
-
const newCount = (count.get(key)
|
|
41
|
+
const newCount = ((_a = count.get(key)) !== null && _a !== void 0 ? _a : 0) - 1;
|
|
38
42
|
if (newCount > 0) {
|
|
39
43
|
count.set(key, newCount);
|
|
40
44
|
return;
|
|
@@ -45,4 +49,4 @@ export default class RefMap {
|
|
|
45
49
|
return value;
|
|
46
50
|
}
|
|
47
51
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmLW1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9yZWYtbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sTUFBTTtJQUEzQjtRQUNxQixRQUFHLEdBQUcsSUFBSSxHQUFHLEVBQW9CLENBQUE7UUFDakMsVUFBSyxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFBO0lBMkN2RCxDQUFDO0lBekNHOzs7O09BSUc7SUFDSCxHQUFHLENBQUMsR0FBWSxFQUFFLE9BQXNCOztRQUNwQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQTtRQUMzQixJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNqQixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFBLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG1DQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDekMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUMzQixJQUFJLENBQUMsTUFBTTtnQkFBRSxNQUFNLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFBO1lBQy9ELE9BQU8sTUFBTSxDQUFBO1FBQ2pCLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxPQUFPLEVBQUUsQ0FBQTtRQUN4QixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUNwQixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUNqQixPQUFPLE1BQU0sQ0FBQTtJQUNqQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsR0FBWTs7UUFDZixNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQTtRQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFBRSxPQUFNO1FBRXpCLE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBQSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQ0FBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDMUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDZixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQTtZQUN4QixPQUFNO1FBQ1YsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDMUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNmLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDakIsT0FBTyxLQUFLLENBQUE7SUFDaEIsQ0FBQztDQUNKIn0=
|
|
@@ -16,7 +16,61 @@ export interface WebglStencilOptions {
|
|
|
16
16
|
operationFront2FailDepth: WebglEnumStencilOperation;
|
|
17
17
|
operationFront3Pass: WebglEnumStencilOperation;
|
|
18
18
|
}
|
|
19
|
-
export declare const webglPresetStencil:
|
|
19
|
+
export declare const webglPresetStencil: {
|
|
20
|
+
off: {
|
|
21
|
+
enabled: boolean;
|
|
22
|
+
maskBack: number;
|
|
23
|
+
maskFront: number;
|
|
24
|
+
functionBack: WebglEnumStencilFunction;
|
|
25
|
+
functionBackMask: number;
|
|
26
|
+
functionBackRef: number;
|
|
27
|
+
functionFront: WebglEnumStencilFunction;
|
|
28
|
+
functionFrontMask: number;
|
|
29
|
+
functionFrontRef: number;
|
|
30
|
+
operationBack1FailStencil: WebglEnumStencilOperation;
|
|
31
|
+
operationBack2FailDepth: WebglEnumStencilOperation;
|
|
32
|
+
operationBack3Pass: WebglEnumStencilOperation;
|
|
33
|
+
operationFront1FailStencil: WebglEnumStencilOperation;
|
|
34
|
+
operationFront2FailDepth: WebglEnumStencilOperation;
|
|
35
|
+
operationFront3Pass: WebglEnumStencilOperation;
|
|
36
|
+
};
|
|
37
|
+
/** Set the stencil to `value` for each fragment. */
|
|
38
|
+
write: (value: number) => {
|
|
39
|
+
enabled: boolean;
|
|
40
|
+
maskBack: number;
|
|
41
|
+
maskFront: number;
|
|
42
|
+
functionBack: WebglEnumStencilFunction;
|
|
43
|
+
functionBackRef: number;
|
|
44
|
+
functionBackMask: number;
|
|
45
|
+
functionFront: WebglEnumStencilFunction;
|
|
46
|
+
functionFrontRef: number;
|
|
47
|
+
functionFrontMask: number;
|
|
48
|
+
operationBack1FailStencil: WebglEnumStencilOperation;
|
|
49
|
+
operationBack2FailDepth: WebglEnumStencilOperation;
|
|
50
|
+
operationBack3Pass: WebglEnumStencilOperation;
|
|
51
|
+
operationFront1FailStencil: WebglEnumStencilOperation;
|
|
52
|
+
operationFront2FailDepth: WebglEnumStencilOperation;
|
|
53
|
+
operationFront3Pass: WebglEnumStencilOperation;
|
|
54
|
+
};
|
|
55
|
+
/** Paint only if the stencil is equal to `value` */
|
|
56
|
+
paintIfEqual: (value: number) => {
|
|
57
|
+
enabled: boolean;
|
|
58
|
+
maskBack: number;
|
|
59
|
+
maskFront: number;
|
|
60
|
+
functionBack: WebglEnumStencilFunction;
|
|
61
|
+
functionBackRef: number;
|
|
62
|
+
functionBackMask: number;
|
|
63
|
+
functionFront: WebglEnumStencilFunction;
|
|
64
|
+
functionFrontRef: number;
|
|
65
|
+
functionFrontMask: number;
|
|
66
|
+
operationBack1FailStencil: WebglEnumStencilOperation;
|
|
67
|
+
operationBack2FailDepth: WebglEnumStencilOperation;
|
|
68
|
+
operationBack3Pass: WebglEnumStencilOperation;
|
|
69
|
+
operationFront1FailStencil: WebglEnumStencilOperation;
|
|
70
|
+
operationFront2FailDepth: WebglEnumStencilOperation;
|
|
71
|
+
operationFront3Pass: WebglEnumStencilOperation;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
20
74
|
export declare function webglStencilSet(gl: WebGL2RenderingContext, stencil: WebglStencilOptions): void;
|
|
21
75
|
export declare function webglStencilGet(gl: WebGL2RenderingContext): WebglStencilOptions;
|
|
22
76
|
export declare function webglStencilExec(gl: WebGL2RenderingContext, stencil: WebglStencilOptions, action: () => void): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stencil.d.ts","sourceRoot":"","sources":["../../../src/utils/state/stencil.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAEhF,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,wBAAwB,CAAA;IACtC,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,wBAAwB,CAAA;IACvC,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;IACxB,yBAAyB,EAAE,yBAAyB,CAAA;IACpD,uBAAuB,EAAE,yBAAyB,CAAA;IAClD,kBAAkB,EAAE,yBAAyB,CAAA;IAC7C,0BAA0B,EAAE,yBAAyB,CAAA;IACrD,wBAAwB,EAAE,yBAAyB,CAAA;IACnD,mBAAmB,EAAE,yBAAyB,CAAA;CACjD;AAED,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"stencil.d.ts","sourceRoot":"","sources":["../../../src/utils/state/stencil.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAEhF,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,wBAAwB,CAAA;IACtC,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,wBAAwB,CAAA;IACvC,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;IACxB,yBAAyB,EAAE,yBAAyB,CAAA;IACpD,uBAAuB,EAAE,yBAAyB,CAAA;IAClD,kBAAkB,EAAE,yBAAyB,CAAA;IAC7C,0BAA0B,EAAE,yBAAyB,CAAA;IACrD,wBAAwB,EAAE,yBAAyB,CAAA;IACnD,mBAAmB,EAAE,yBAAyB,CAAA;CACjD;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;IAkB3B,oDAAoD;mBACrC,MAAM;;;;;;;;;;;;;;;;;IAiBrB,oDAAoD;0BAC9B,MAAM;;;;;;;;;;;;;;;;;CAiB/B,CAAA;AAED,wBAAgB,eAAe,CAC3B,EAAE,EAAE,sBAAsB,EAC1B,OAAO,EAAE,mBAAmB,QAiC/B;AAED,wBAAgB,eAAe,CAC3B,EAAE,EAAE,sBAAsB,GAC3B,mBAAmB,CAqCrB;AAED,wBAAgB,gBAAgB,CAC5B,EAAE,EAAE,sBAAsB,EAC1B,OAAO,EAAE,mBAAmB,EAC5B,MAAM,EAAE,MAAM,IAAI,QASrB;AAED,wBAAgB,iBAAiB,CAC7B,EAAE,EAAE,sBAAsB,EAC1B,OAAO,SAAkB,QA+D5B"}
|
|
@@ -18,60 +18,42 @@ export const webglPresetStencil = {
|
|
|
18
18
|
operationFront2FailDepth: WebglEnumStencilOperation.KEEP,
|
|
19
19
|
operationFront3Pass: WebglEnumStencilOperation.KEEP,
|
|
20
20
|
},
|
|
21
|
-
/** Set the stencil to
|
|
22
|
-
|
|
21
|
+
/** Set the stencil to `value` for each fragment. */
|
|
22
|
+
write: (value) => ({
|
|
23
23
|
enabled: true,
|
|
24
|
-
maskBack:
|
|
25
|
-
maskFront:
|
|
24
|
+
maskBack: 0xff,
|
|
25
|
+
maskFront: 0xff,
|
|
26
26
|
functionBack: WebglEnumStencilFunction.ALWAYS,
|
|
27
|
-
functionBackRef:
|
|
28
|
-
functionBackMask:
|
|
27
|
+
functionBackRef: value,
|
|
28
|
+
functionBackMask: 0xff,
|
|
29
29
|
functionFront: WebglEnumStencilFunction.ALWAYS,
|
|
30
|
-
functionFrontRef:
|
|
31
|
-
functionFrontMask:
|
|
30
|
+
functionFrontRef: value,
|
|
31
|
+
functionFrontMask: 0xff,
|
|
32
32
|
operationBack1FailStencil: WebglEnumStencilOperation.KEEP,
|
|
33
33
|
operationBack2FailDepth: WebglEnumStencilOperation.KEEP,
|
|
34
|
-
operationBack3Pass: WebglEnumStencilOperation.
|
|
34
|
+
operationBack3Pass: WebglEnumStencilOperation.REPLACE,
|
|
35
35
|
operationFront1FailStencil: WebglEnumStencilOperation.KEEP,
|
|
36
36
|
operationFront2FailDepth: WebglEnumStencilOperation.KEEP,
|
|
37
37
|
operationFront3Pass: WebglEnumStencilOperation.REPLACE,
|
|
38
|
-
},
|
|
39
|
-
/** Paint only if the stencil is equal to
|
|
40
|
-
|
|
38
|
+
}),
|
|
39
|
+
/** Paint only if the stencil is equal to `value` */
|
|
40
|
+
paintIfEqual: (value) => ({
|
|
41
41
|
enabled: true,
|
|
42
42
|
maskBack: 0x00,
|
|
43
43
|
maskFront: 0x00,
|
|
44
|
-
functionBack: WebglEnumStencilFunction.
|
|
45
|
-
functionBackRef:
|
|
46
|
-
functionBackMask:
|
|
47
|
-
functionFront: WebglEnumStencilFunction.EQUAL,
|
|
48
|
-
functionFrontRef: 0,
|
|
49
|
-
functionFrontMask: 0x01,
|
|
50
|
-
operationBack1FailStencil: WebglEnumStencilOperation.KEEP,
|
|
51
|
-
operationBack2FailDepth: WebglEnumStencilOperation.KEEP,
|
|
52
|
-
operationBack3Pass: WebglEnumStencilOperation.KEEP,
|
|
53
|
-
operationFront1FailStencil: WebglEnumStencilOperation.KEEP,
|
|
54
|
-
operationFront2FailDepth: WebglEnumStencilOperation.KEEP,
|
|
55
|
-
operationFront3Pass: WebglEnumStencilOperation.KEEP,
|
|
56
|
-
},
|
|
57
|
-
/** Paint only if the stencil is equal to 1 */
|
|
58
|
-
paintIf1: {
|
|
59
|
-
maskBack: 0x00,
|
|
60
|
-
maskFront: 0x00,
|
|
61
|
-
enabled: true,
|
|
62
|
-
functionBack: WebglEnumStencilFunction.ALWAYS,
|
|
63
|
-
functionBackRef: 1,
|
|
64
|
-
functionBackMask: 0x01,
|
|
44
|
+
functionBack: WebglEnumStencilFunction.EQUAL,
|
|
45
|
+
functionBackRef: value,
|
|
46
|
+
functionBackMask: 0xff,
|
|
65
47
|
functionFront: WebglEnumStencilFunction.EQUAL,
|
|
66
|
-
functionFrontRef:
|
|
67
|
-
functionFrontMask:
|
|
48
|
+
functionFrontRef: value,
|
|
49
|
+
functionFrontMask: 0xff,
|
|
68
50
|
operationBack1FailStencil: WebglEnumStencilOperation.KEEP,
|
|
69
51
|
operationBack2FailDepth: WebglEnumStencilOperation.KEEP,
|
|
70
52
|
operationBack3Pass: WebglEnumStencilOperation.KEEP,
|
|
71
53
|
operationFront1FailStencil: WebglEnumStencilOperation.KEEP,
|
|
72
54
|
operationFront2FailDepth: WebglEnumStencilOperation.KEEP,
|
|
73
55
|
operationFront3Pass: WebglEnumStencilOperation.KEEP,
|
|
74
|
-
},
|
|
56
|
+
}),
|
|
75
57
|
};
|
|
76
58
|
export function webglStencilSet(gl, stencil) {
|
|
77
59
|
if (!stencil.enabled) {
|
|
@@ -90,7 +72,7 @@ export function webglStencilSet(gl, stencil) {
|
|
|
90
72
|
export function webglStencilGet(gl) {
|
|
91
73
|
const enabled = Boolean(gl.getParameter(gl.STENCIL_TEST));
|
|
92
74
|
if (!enabled)
|
|
93
|
-
return {
|
|
75
|
+
return Object.assign({}, webglPresetStencil.off);
|
|
94
76
|
return {
|
|
95
77
|
enabled,
|
|
96
78
|
maskBack: gl.getParameter(gl.STENCIL_BACK_WRITEMASK),
|
|
@@ -179,4 +161,4 @@ export function webglDebugStencil(gl, caption = "Stencil test:") {
|
|
|
179
161
|
]);
|
|
180
162
|
}
|
|
181
163
|
}
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlbmNpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9zdGF0ZS9zdGVuY2lsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ2pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQW9CaEYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDOUIsR0FBRyxFQUFFO1FBQ0QsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsQ0FBQztRQUNYLFNBQVMsRUFBRSxDQUFDO1FBQ1osWUFBWSxFQUFFLHdCQUF3QixDQUFDLE1BQU07UUFDN0MsZ0JBQWdCLEVBQUUsQ0FBQztRQUNuQixlQUFlLEVBQUUsQ0FBQztRQUNsQixhQUFhLEVBQUUsd0JBQXdCLENBQUMsTUFBTTtRQUM5QyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3BCLGdCQUFnQixFQUFFLENBQUM7UUFDbkIseUJBQXlCLEVBQUUseUJBQXlCLENBQUMsSUFBSTtRQUN6RCx1QkFBdUIsRUFBRSx5QkFBeUIsQ0FBQyxJQUFJO1FBQ3ZELGtCQUFrQixFQUFFLHlCQUF5QixDQUFDLElBQUk7UUFDbEQsMEJBQTBCLEVBQUUseUJBQXlCLENBQUMsSUFBSTtRQUMxRCx3QkFBd0IsRUFBRSx5QkFBeUIsQ0FBQyxJQUFJO1FBQ3hELG1CQUFtQixFQUFFLHlCQUF5QixDQUFDLElBQUk7S0FDdEQ7SUFDRCxvREFBb0Q7SUFDcEQsS0FBSyxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsUUFBUSxFQUFFLElBQUk7UUFDZCxTQUFTLEVBQUUsSUFBSTtRQUNmLFlBQVksRUFBRSx3QkFBd0IsQ0FBQyxNQUFNO1FBQzdDLGVBQWUsRUFBRSxLQUFLO1FBQ3RCLGdCQUFnQixFQUFFLElB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
|
|
@@ -8,6 +8,6 @@ import { TgdTypeArrayForElements } from "../types";
|
|
|
8
8
|
* This helper function gives you the type of the array passed as argument.
|
|
9
9
|
*/
|
|
10
10
|
export declare function webglElementTypeFromTypedArray(typedArray: TgdTypeArrayForElements): 5121 | 5123 | 5125;
|
|
11
|
-
export declare function webglTypedArrayFromBufferSource(bufferSource: BufferSource, type: number): Int8Array | Uint8Array | Int16Array | Uint16Array | Uint32Array | Float32Array
|
|
11
|
+
export declare function webglTypedArrayFromBufferSource(bufferSource: BufferSource, type: number): Int8Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike> | Float32Array<ArrayBufferLike>;
|
|
12
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,
|
|
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,wLAwBf;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,sBAAsB,CAQtE"}
|
package/lib/dist/vao/vao.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { TgdBuffer } from "../buffer";
|
|
2
2
|
import { TgdDataset } from "../dataset";
|
|
3
|
-
import { TgdProgram
|
|
3
|
+
import { TgdProgram } from "../program";
|
|
4
|
+
import { TgdTypeArrayForElements } from "../types";
|
|
4
5
|
export declare class TgdVertexArray {
|
|
5
6
|
readonly gl: WebGL2RenderingContext;
|
|
6
7
|
private readonly program?;
|
|
@@ -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;
|
|
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;IAuBxD,KAAK,CAAC,OAAO,SAAmB;IAWhC,IAAI;IAIJ,MAAM;IAIN,MAAM;CAMT"}
|