@tolokoban/tgd 2.0.20 → 2.0.22
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.js +2 -2
- package/lib/dist/camera/camera-node.d.ts +2 -2
- package/lib/dist/camera/camera-node.d.ts.map +1 -1
- package/lib/dist/camera/camera-node.js +4 -4
- package/lib/dist/camera/camera-orthographic.d.ts.map +1 -1
- package/lib/dist/camera/camera-orthographic.js +6 -5
- package/lib/dist/camera/camera-perspective.d.ts.map +1 -1
- package/lib/dist/camera/camera-perspective.js +12 -31
- package/lib/dist/camera/camera.d.ts +9 -56
- package/lib/dist/camera/camera.d.ts.map +1 -1
- package/lib/dist/camera/camera.js +28 -257
- package/lib/dist/camera/index.d.ts +0 -1
- package/lib/dist/camera/index.d.ts.map +1 -1
- package/lib/dist/camera/index.js +1 -2
- package/lib/dist/canvas/gizmo/gizmo.d.ts.map +1 -1
- package/lib/dist/canvas/gizmo/gizmo.js +18 -20
- package/lib/dist/canvas/gizmo/painter/tips.js +16 -16
- package/lib/dist/code/color.d.ts +12 -0
- package/lib/dist/code/color.d.ts.map +1 -0
- package/lib/dist/code/color.js +26 -0
- package/lib/dist/code/consts.d.ts +16 -0
- package/lib/dist/code/consts.d.ts.map +1 -0
- package/lib/dist/code/consts.js +20 -0
- package/lib/dist/code/coords.d.ts +46 -0
- package/lib/dist/code/coords.d.ts.map +1 -0
- package/lib/dist/code/coords.js +95 -0
- package/lib/dist/code/index.d.ts +6 -0
- package/lib/dist/code/index.d.ts.map +1 -0
- package/lib/dist/code/index.js +6 -0
- package/lib/dist/code/random.d.ts +8 -0
- package/lib/dist/code/random.d.ts.map +1 -0
- package/lib/dist/code/random.js +13 -0
- package/lib/dist/code/transfo.d.ts +8 -0
- package/lib/dist/code/transfo.d.ts.map +1 -0
- package/lib/dist/code/transfo.js +19 -0
- package/lib/dist/color/color.js +10 -10
- package/lib/dist/context/animation/animation-manager.js +3 -3
- package/lib/dist/context/context.d.ts +6 -0
- package/lib/dist/context/context.d.ts.map +1 -1
- package/lib/dist/context/context.js +33 -22
- package/lib/dist/controller/camera/orbit.d.ts +9 -2
- package/lib/dist/controller/camera/orbit.d.ts.map +1 -1
- package/lib/dist/controller/camera/orbit.js +47 -45
- package/lib/dist/dataset/dataset.d.ts.map +1 -1
- package/lib/dist/dataset/dataset.js +61 -56
- package/lib/dist/debug/debug.d.ts +1 -1
- package/lib/dist/debug/debug.d.ts.map +1 -1
- package/lib/dist/debug/debug.js +3 -3
- package/lib/dist/debug/tools.js +3 -3
- package/lib/dist/event/event.js +3 -2
- package/lib/dist/filter/blur.d.ts.map +1 -1
- package/lib/dist/filter/blur.js +9 -8
- package/lib/dist/filter/filter.d.ts.map +1 -1
- package/lib/dist/filter/hue-rotation.d.ts.map +1 -1
- package/lib/dist/filter/zoom.d.ts.map +1 -1
- package/lib/dist/geometry/box.d.ts +2 -1
- package/lib/dist/geometry/box.d.ts.map +1 -1
- package/lib/dist/geometry/box.js +103 -115
- package/lib/dist/geometry/geometry.d.ts.map +1 -1
- package/lib/dist/geometry/geometry.js +33 -35
- package/lib/dist/index.d.ts +2 -0
- package/lib/dist/index.d.ts.map +1 -1
- package/lib/dist/index.js +3 -1
- package/lib/dist/input/keyboard.js +8 -8
- package/lib/dist/input/pointer.d.ts.map +1 -1
- package/lib/dist/input/pointer.js +30 -33
- package/lib/dist/interface/transformable.d.ts +3 -1
- package/lib/dist/interface/transformable.d.ts.map +1 -1
- package/lib/dist/loader/asset.js +2 -2
- package/lib/dist/loader/binary.js +6 -6
- package/lib/dist/loader/image.js +9 -9
- package/lib/dist/loader/index.d.ts +1 -0
- package/lib/dist/loader/index.d.ts.map +1 -1
- package/lib/dist/loader/index.js +2 -1
- package/lib/dist/loader/video.d.ts +6 -0
- package/lib/dist/loader/video.d.ts.map +1 -0
- package/lib/dist/loader/video.js +23 -0
- package/lib/dist/log.d.ts +1 -1
- package/lib/dist/log.d.ts.map +1 -1
- package/lib/dist/log.js +13 -13
- package/lib/dist/math/common.test.d.ts +2 -0
- package/lib/dist/math/common.test.d.ts.map +1 -0
- package/lib/dist/math/common.test.js +22 -0
- package/lib/dist/math/index.d.ts +0 -1
- package/lib/dist/math/index.d.ts.map +1 -1
- package/lib/dist/math/index.js +1 -2
- package/lib/dist/math/mat3.d.ts +40 -16
- package/lib/dist/math/mat3.d.ts.map +1 -1
- package/lib/dist/math/mat3.js +124 -97
- package/lib/dist/math/mat3.test.d.ts +2 -0
- package/lib/dist/math/mat3.test.d.ts.map +1 -0
- package/lib/dist/math/mat3.test.js +32 -0
- package/lib/dist/math/mat4.d.ts +54 -121
- package/lib/dist/math/mat4.d.ts.map +1 -1
- package/lib/dist/math/mat4.js +167 -288
- package/lib/dist/math/quat.d.ts +5 -3
- package/lib/dist/math/quat.d.ts.map +1 -1
- package/lib/dist/math/quat.js +38 -72
- package/lib/dist/math/quat.test.d.ts +1 -0
- package/lib/dist/math/quat.test.d.ts.map +1 -1
- package/lib/dist/math/quat.test.js +81 -27
- package/lib/dist/math/transfo.d.ts +32 -5
- package/lib/dist/math/transfo.d.ts.map +1 -1
- package/lib/dist/math/transfo.js +126 -39
- package/lib/dist/math/vec2.js +6 -6
- package/lib/dist/math/vec3.d.ts +11 -3
- package/lib/dist/math/vec3.d.ts.map +1 -1
- package/lib/dist/math/vec3.js +30 -17
- package/lib/dist/math/vec3.test.js +20 -1
- package/lib/dist/math/vec4.d.ts +12 -3
- package/lib/dist/math/vec4.d.ts.map +1 -1
- package/lib/dist/math/vec4.js +29 -11
- package/lib/dist/painter/{axis/axis.d.ts → axes/axes.d.ts} +4 -4
- package/lib/dist/painter/{axis/axis.d.ts.map → axes/axes.d.ts.map} +1 -1
- package/lib/dist/painter/{axis/axis.frag → axes/axes.frag} +0 -0
- package/lib/dist/painter/axes/axes.js +82 -0
- package/lib/dist/painter/{axis/axis.vert → axes/axes.vert} +0 -0
- package/lib/dist/painter/axes/index.d.ts +2 -0
- package/lib/dist/painter/axes/index.d.ts.map +1 -0
- package/lib/dist/painter/axes/index.js +2 -0
- package/lib/dist/painter/background/background.d.ts +3 -2
- package/lib/dist/painter/background/background.d.ts.map +1 -1
- package/lib/dist/painter/background/background.js +4 -4
- package/lib/dist/painter/clear.js +3 -4
- package/lib/dist/painter/debug/stencil/stencil.js +2 -2
- package/lib/dist/painter/depth.d.ts +4 -4
- package/lib/dist/painter/depth.d.ts.map +1 -1
- package/lib/dist/painter/depth.js +3 -3
- package/lib/dist/painter/filter/filter.d.ts +2 -2
- package/lib/dist/painter/filter/filter.d.ts.map +1 -1
- package/lib/dist/painter/filter/filter.js +33 -24
- package/lib/dist/painter/framebuffer.js +3 -3
- package/lib/dist/painter/group.js +6 -5
- package/lib/dist/painter/index.d.ts +1 -1
- package/lib/dist/painter/index.js +1 -1
- package/lib/dist/painter/mesh/mesh/mesh.d.ts +2 -2
- package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -1
- package/lib/dist/painter/mesh/mesh/mesh.js +21 -10
- package/lib/dist/painter/mesh/normals/normals.d.ts.map +1 -1
- package/lib/dist/painter/mesh/normals/normals.js +4 -4
- package/lib/dist/painter/node/node.d.ts +12 -12
- package/lib/dist/painter/node/node.d.ts.map +1 -1
- package/lib/dist/painter/node/node.js +31 -42
- package/lib/dist/painter/segments/segments.js +13 -13
- package/lib/dist/painter/skybox/skybox.js +3 -3
- package/lib/dist/painter/state/state.d.ts +4 -6
- package/lib/dist/painter/state/state.d.ts.map +1 -1
- package/lib/dist/painter/state/state.js +83 -61
- package/lib/dist/parser/for-each-line.d.ts.map +1 -1
- package/lib/dist/parser/for-each-line.js +5 -5
- package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
- package/lib/dist/parser/gltf/gltf.js +37 -37
- package/lib/dist/parser/gltf/parser.js +10 -11
- package/lib/dist/parser/mesh/wavefront.d.ts.map +1 -1
- package/lib/dist/parser/mesh/wavefront.js +18 -26
- package/lib/dist/program/program.d.ts +2 -4
- package/lib/dist/program/program.d.ts.map +1 -1
- package/lib/dist/program/program.js +26 -27
- package/lib/dist/{utils/ref-map.d.ts → reference-map.d.ts} +4 -4
- package/lib/dist/reference-map.d.ts.map +1 -0
- package/lib/dist/reference-map.js +52 -0
- 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 +12 -12
- package/lib/dist/shader/fragment.js +6 -6
- package/lib/dist/shader/vertex.js +6 -6
- package/lib/dist/table/table.d.ts.map +1 -1
- package/lib/dist/table/table.js +7 -4
- package/lib/dist/texture/index.d.ts +1 -1
- package/lib/dist/texture/index.d.ts.map +1 -1
- package/lib/dist/texture/index.js +2 -2
- package/lib/dist/texture/{textureCube.d.ts → texture-cube.d.ts} +1 -1
- package/lib/dist/texture/texture-cube.d.ts.map +1 -0
- package/lib/dist/texture/texture-cube.js +69 -0
- package/lib/dist/texture/texture2d.d.ts +6 -3
- package/lib/dist/texture/texture2d.d.ts.map +1 -1
- package/lib/dist/texture/texture2d.js +30 -12
- package/lib/dist/types/elements.js +2 -2
- package/lib/dist/types/guards.d.ts.map +1 -1
- package/lib/dist/types/guards.js +36 -37
- package/lib/dist/types/index.d.ts +1 -1
- package/lib/dist/types/index.d.ts.map +1 -1
- package/lib/dist/types/index.js +2 -2
- package/lib/dist/types/{textureCube.d.ts → texture-cube.d.ts} +1 -1
- package/lib/dist/types/texture-cube.d.ts.map +1 -0
- package/lib/dist/types/texture-cube.js +2 -0
- package/lib/dist/types/webgl.d.ts +5 -4
- package/lib/dist/types/webgl.d.ts.map +1 -1
- package/lib/dist/types/webgl.js +37 -30
- package/lib/dist/utils/action/camera.d.ts.map +1 -1
- package/lib/dist/utils/action/camera.js +15 -26
- package/lib/dist/utils/action/transfo.d.ts +3 -0
- package/lib/dist/utils/action/transfo.d.ts.map +1 -0
- package/lib/dist/utils/action/transfo.js +18 -0
- package/lib/dist/utils/action/vector.d.ts.map +1 -1
- package/lib/dist/utils/action/vector.js +11 -11
- package/lib/dist/utils/assert.d.ts.map +1 -1
- package/lib/dist/utils/assert.js +2 -2
- package/lib/dist/utils/bbox.test.js +18 -19
- package/lib/dist/utils/canvas.d.ts +3 -3
- package/lib/dist/utils/canvas.d.ts.map +1 -1
- package/lib/dist/utils/canvas.js +14 -14
- package/lib/dist/utils/{ease-func/ease-func.d.ts → easing-function/easing-function.d.ts} +1 -1
- package/lib/dist/utils/easing-function/easing-function.d.ts.map +1 -0
- package/lib/dist/utils/easing-function/easing-function.js +142 -0
- package/lib/dist/utils/easing-function/index.d.ts +2 -0
- package/lib/dist/utils/easing-function/index.d.ts.map +1 -0
- package/lib/dist/utils/easing-function/index.js +2 -0
- package/lib/dist/utils/framebuffer.js +2 -2
- package/lib/dist/utils/fullscreen.d.ts +1 -1
- package/lib/dist/utils/fullscreen.d.ts.map +1 -1
- package/lib/dist/utils/fullscreen.js +19 -19
- package/lib/dist/utils/index.d.ts +2 -1
- package/lib/dist/utils/index.d.ts.map +1 -1
- package/lib/dist/utils/index.js +3 -2
- package/lib/dist/utils/math.d.ts +4 -2
- package/lib/dist/utils/math.d.ts.map +1 -1
- package/lib/dist/utils/math.js +12 -4
- package/lib/dist/utils/pbo.d.ts.map +1 -1
- package/lib/dist/utils/pbo.js +3 -3
- package/lib/dist/{ref-map.d.ts → utils/reference-map.d.ts} +4 -4
- package/lib/dist/utils/reference-map.d.ts.map +1 -0
- package/lib/dist/utils/reference-map.js +52 -0
- package/lib/dist/utils/state/blend.d.ts +5 -5
- package/lib/dist/utils/state/blend.d.ts.map +1 -1
- package/lib/dist/utils/state/blend.js +10 -10
- package/lib/dist/utils/state/depth.d.ts +2 -2
- package/lib/dist/utils/state/depth.d.ts.map +1 -1
- package/lib/dist/utils/state/depth.js +5 -5
- package/lib/dist/utils/state/stencil.js +9 -9
- package/lib/dist/utils/template.js +3 -3
- package/lib/dist/utils/webgl.js +5 -5
- package/lib/dist/vao/vao.d.ts.map +1 -1
- package/lib/dist/vao/vao.js +13 -9
- package/lib/dist/webgl/texture/texture2d.js +2 -2
- package/package.json +1 -1
- package/lib/dist/geometry/place.d.ts +0 -12
- package/lib/dist/geometry/place.d.ts.map +0 -1
- package/lib/dist/geometry/place.js +0 -145
- package/lib/dist/math/math.d.ts +0 -9
- package/lib/dist/math/math.d.ts.map +0 -1
- package/lib/dist/math/math.js +0 -13
- package/lib/dist/painter/axis/axis.js +0 -82
- package/lib/dist/painter/axis/index.d.ts +0 -2
- package/lib/dist/painter/axis/index.d.ts.map +0 -1
- package/lib/dist/painter/axis/index.js +0 -2
- package/lib/dist/painter/debug/stencil.d.ts +0 -11
- package/lib/dist/painter/debug/stencil.d.ts.map +0 -1
- package/lib/dist/painter/debug/stencil.js +0 -41
- package/lib/dist/painter/framebuffer-old.d.ts +0 -38
- package/lib/dist/painter/framebuffer-old.d.ts.map +0 -1
- package/lib/dist/painter/framebuffer-old.js +0 -102
- package/lib/dist/painter/framebuffer.backup.d.ts +0 -39
- package/lib/dist/painter/framebuffer.backup.d.ts.map +0 -1
- package/lib/dist/painter/framebuffer.backup.js +0 -122
- package/lib/dist/painter/mesh/hull/hull.d.ts +0 -12
- package/lib/dist/painter/mesh/hull/hull.d.ts.map +0 -1
- package/lib/dist/painter/mesh/hull/hull.js +0 -11
- package/lib/dist/painter/node.d.ts +0 -32
- package/lib/dist/painter/node.d.ts.map +0 -1
- package/lib/dist/painter/node.js +0 -73
- package/lib/dist/ref-map.d.ts.map +0 -1
- package/lib/dist/ref-map.js +0 -52
- package/lib/dist/resource/index.d.ts +0 -5
- package/lib/dist/resource/index.d.ts.map +0 -1
- package/lib/dist/resource/index.js +0 -5
- package/lib/dist/resource/program.d.ts +0 -10
- package/lib/dist/resource/program.d.ts.map +0 -1
- package/lib/dist/resource/program.js +0 -19
- package/lib/dist/resource/resource.d.ts +0 -17
- package/lib/dist/resource/resource.d.ts.map +0 -1
- package/lib/dist/resource/resource.js +0 -52
- package/lib/dist/resource/texture2d.d.ts +0 -10
- package/lib/dist/resource/texture2d.d.ts.map +0 -1
- package/lib/dist/resource/texture2d.js +0 -19
- package/lib/dist/resource/textureCube.d.ts +0 -9
- package/lib/dist/resource/textureCube.d.ts.map +0 -1
- package/lib/dist/resource/textureCube.js +0 -16
- package/lib/dist/scene/scene-node.d.ts +0 -8
- package/lib/dist/scene/scene-node.d.ts.map +0 -1
- package/lib/dist/scene/scene-node.js +0 -13
- package/lib/dist/texture/texture2dArray.d.ts +0 -43
- package/lib/dist/texture/texture2dArray.d.ts.map +0 -1
- package/lib/dist/texture/texture2dArray.js +0 -112
- package/lib/dist/texture/textureCube.d.ts.map +0 -1
- package/lib/dist/texture/textureCube.js +0 -69
- package/lib/dist/types/context.d.ts +0 -27
- package/lib/dist/types/context.d.ts.map +0 -1
- package/lib/dist/types/context.js +0 -2
- package/lib/dist/types/texture2d.d.ts +0 -51
- package/lib/dist/types/texture2d.d.ts.map +0 -1
- package/lib/dist/types/texture2d.js +0 -2
- package/lib/dist/types/textureCube.d.ts.map +0 -1
- package/lib/dist/types/textureCube.js +0 -2
- package/lib/dist/uniform/uniform-buffer-object.d.ts +0 -49
- package/lib/dist/uniform/uniform-buffer-object.d.ts.map +0 -1
- package/lib/dist/uniform/uniform-buffer-object.js +0 -93
- package/lib/dist/utils/ease-func/ease-func.d.ts.map +0 -1
- package/lib/dist/utils/ease-func/ease-func.js +0 -142
- package/lib/dist/utils/ease-func/index.d.ts +0 -2
- package/lib/dist/utils/ease-func/index.d.ts.map +0 -1
- package/lib/dist/utils/ease-func/index.js +0 -2
- package/lib/dist/utils/fetch/fetch.d.ts +0 -2
- package/lib/dist/utils/fetch/fetch.d.ts.map +0 -1
- package/lib/dist/utils/fetch/fetch.js +0 -5
- package/lib/dist/utils/fetch/index.d.ts +0 -2
- package/lib/dist/utils/fetch/index.d.ts.map +0 -1
- package/lib/dist/utils/fetch/index.js +0 -2
- package/lib/dist/utils/ref-map.d.ts.map +0 -1
- package/lib/dist/utils/ref-map.js +0 -52
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { TgdContext } from "../context";
|
|
2
|
-
import { TgdTexture2D, TgdTexture2DOptions } from "../types";
|
|
3
|
-
import { TgdPainterGroup } from "./group";
|
|
4
|
-
export interface TgdPainterFramebufferOldOptions extends TgdTexture2DOptions {
|
|
5
|
-
/**
|
|
6
|
-
* Do we need a depth buffer?
|
|
7
|
-
*/
|
|
8
|
-
depthBuffer: boolean;
|
|
9
|
-
/**
|
|
10
|
-
* If defined, the framebuffer will automatically match the
|
|
11
|
-
* current viewport size multiplied by `viewportMatchingScale`.
|
|
12
|
-
*
|
|
13
|
-
* for instance, if `viewportMatchingScale === 0.5` and the viewport
|
|
14
|
-
* id (640, 480), then the framebuffer will have a size of
|
|
15
|
-
* (320, 240).
|
|
16
|
-
*/
|
|
17
|
-
viewportMatchingScale?: number;
|
|
18
|
-
}
|
|
19
|
-
export declare class TgdPainterFramebufferOld extends TgdPainterGroup {
|
|
20
|
-
private readonly context;
|
|
21
|
-
private readonly options;
|
|
22
|
-
private dirty;
|
|
23
|
-
private _width;
|
|
24
|
-
private _height;
|
|
25
|
-
private _texture;
|
|
26
|
-
private _framebuffer;
|
|
27
|
-
private _depthBuffer;
|
|
28
|
-
constructor(context: TgdContext, options: Partial<TgdPainterFramebufferOldOptions>);
|
|
29
|
-
get texture(): TgdTexture2D;
|
|
30
|
-
get width(): number;
|
|
31
|
-
set width(v: number);
|
|
32
|
-
get height(): number;
|
|
33
|
-
set height(v: number);
|
|
34
|
-
private createFramebufferIfNeeded;
|
|
35
|
-
paint(time: number, delay: number): void;
|
|
36
|
-
delete(): void;
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=framebuffer-old.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"framebuffer-old.d.ts","sourceRoot":"","sources":["../../src/painter/framebuffer-old.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,MAAM,WAAW,+BAAgC,SAAQ,mBAAmB;IACxE;;OAEG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;CACjC;AAED,qBAAa,wBAAyB,SAAQ,eAAe;IASrD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT5B,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,YAAY,CAAiC;gBAGhC,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,OAAO,CAAC,+BAA+B,CAAC;IAOtE,IAAI,OAAO,IAAI,YAAY,CAK1B;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAKlB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM,EAKnB;IAED,OAAO,CAAC,yBAAyB;IA+CjC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAcxC,MAAM;CAgBT"}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { TgdPainterGroup } from "./group.js";
|
|
2
|
-
export class TgdPainterFramebufferOld extends TgdPainterGroup {
|
|
3
|
-
context;
|
|
4
|
-
options;
|
|
5
|
-
dirty = true;
|
|
6
|
-
_width = 0;
|
|
7
|
-
_height = 0;
|
|
8
|
-
_texture = null;
|
|
9
|
-
_framebuffer = null;
|
|
10
|
-
_depthBuffer = null;
|
|
11
|
-
constructor(context, options) {
|
|
12
|
-
super();
|
|
13
|
-
this.context = context;
|
|
14
|
-
this.options = options;
|
|
15
|
-
this._width = options.width ?? 0;
|
|
16
|
-
this._height = options.height ?? 0;
|
|
17
|
-
}
|
|
18
|
-
get texture() {
|
|
19
|
-
if (!this._texture) {
|
|
20
|
-
this._texture = this.context.textures2D.getDefaultEmpty();
|
|
21
|
-
}
|
|
22
|
-
return this._texture;
|
|
23
|
-
}
|
|
24
|
-
get width() {
|
|
25
|
-
return this._width;
|
|
26
|
-
}
|
|
27
|
-
set width(v) {
|
|
28
|
-
if (this._width === v)
|
|
29
|
-
return;
|
|
30
|
-
this._width = v;
|
|
31
|
-
this.dirty = true;
|
|
32
|
-
}
|
|
33
|
-
get height() {
|
|
34
|
-
return this._height;
|
|
35
|
-
}
|
|
36
|
-
set height(v) {
|
|
37
|
-
if (this._height === v)
|
|
38
|
-
return;
|
|
39
|
-
this._height = v;
|
|
40
|
-
this.dirty = true;
|
|
41
|
-
}
|
|
42
|
-
createFramebufferIfNeeded() {
|
|
43
|
-
if (!this.dirty)
|
|
44
|
-
return;
|
|
45
|
-
const { context, width, height } = this;
|
|
46
|
-
const { gl } = context;
|
|
47
|
-
this.delete();
|
|
48
|
-
this._texture = context.textures2D.create({
|
|
49
|
-
width: Math.max(width, 1),
|
|
50
|
-
height: Math.max(height, 1),
|
|
51
|
-
internalFormat: "RGB",
|
|
52
|
-
generateMipMap: true,
|
|
53
|
-
});
|
|
54
|
-
this._framebuffer = context.createFramebuffer();
|
|
55
|
-
gl.bindFramebuffer(gl.FRAMEBUFFER, this._framebuffer);
|
|
56
|
-
gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, this._texture.glTexture, 0);
|
|
57
|
-
if (this.options.depthBuffer === true) {
|
|
58
|
-
// Create a Depth Buffer, because the default
|
|
59
|
-
// framebuffer has none.
|
|
60
|
-
const depthBuffer = gl.createRenderbuffer();
|
|
61
|
-
if (!depthBuffer)
|
|
62
|
-
throw Error("Unable to create WebGLRenderBuffer!");
|
|
63
|
-
this._depthBuffer = depthBuffer;
|
|
64
|
-
gl.bindRenderbuffer(gl.RENDERBUFFER, depthBuffer);
|
|
65
|
-
gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_COMPONENT16, width, height);
|
|
66
|
-
gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.RENDERBUFFER, depthBuffer);
|
|
67
|
-
}
|
|
68
|
-
// const status = gl.checkFramebufferStatus(gl.FRAMEBUFFER)
|
|
69
|
-
// console.log("Framebuffer status:", context.lookupWebglConstant(status))
|
|
70
|
-
this.dirty = false;
|
|
71
|
-
}
|
|
72
|
-
paint(time, delay) {
|
|
73
|
-
const { context, options } = this;
|
|
74
|
-
const { gl } = context;
|
|
75
|
-
const { viewportMatchingScale } = options;
|
|
76
|
-
if (typeof viewportMatchingScale === "number") {
|
|
77
|
-
this.width = Math.round(context.width * viewportMatchingScale);
|
|
78
|
-
this.height = Math.round(context.height * viewportMatchingScale);
|
|
79
|
-
}
|
|
80
|
-
this.createFramebufferIfNeeded();
|
|
81
|
-
gl.bindFramebuffer(gl.FRAMEBUFFER, this._framebuffer);
|
|
82
|
-
super.paint(time, delay);
|
|
83
|
-
gl.bindFramebuffer(gl.FRAMEBUFFER, null);
|
|
84
|
-
}
|
|
85
|
-
delete() {
|
|
86
|
-
const { context, _texture, _framebuffer, _depthBuffer } = this;
|
|
87
|
-
const { gl } = context;
|
|
88
|
-
if (_texture) {
|
|
89
|
-
gl.deleteTexture(_texture.glTexture);
|
|
90
|
-
this._texture = null;
|
|
91
|
-
}
|
|
92
|
-
if (_framebuffer) {
|
|
93
|
-
gl.deleteFramebuffer(_framebuffer);
|
|
94
|
-
this._framebuffer = null;
|
|
95
|
-
}
|
|
96
|
-
if (_depthBuffer) {
|
|
97
|
-
gl.deleteRenderbuffer(_depthBuffer);
|
|
98
|
-
this._depthBuffer = null;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWVidWZmZXItb2xkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhaW50ZXIvZnJhbWVidWZmZXItb2xkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFrQnpDLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxlQUFlO0lBU3BDO0lBQ0E7SUFUYixLQUFLLEdBQUcsSUFBSSxDQUFBO0lBQ1osTUFBTSxHQUFHLENBQUMsQ0FBQTtJQUNWLE9BQU8sR0FBRyxDQUFDLENBQUE7SUFDWCxRQUFRLEdBQXdCLElBQUksQ0FBQTtJQUNwQyxZQUFZLEdBQTRCLElBQUksQ0FBQTtJQUM1QyxZQUFZLEdBQTZCLElBQUksQ0FBQTtJQUVyRCxZQUNxQixPQUFtQixFQUNuQixPQUFpRDtRQUVsRSxLQUFLLEVBQUUsQ0FBQTtRQUhVLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBMEM7UUFHbEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQTtRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFBO0lBQ3RDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDN0QsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQTtJQUN4QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFBO0lBQ3RCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxDQUFTO1FBQ2YsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFN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
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { TgdContext } from "../context";
|
|
2
|
-
import { TgdTexture2D, TgdTexture2DOptions } from "../types";
|
|
3
|
-
import { TgdPainterGroup } from "./group";
|
|
4
|
-
export interface TgdPainterFramebufferOptions extends TgdTexture2DOptions {
|
|
5
|
-
/**
|
|
6
|
-
* Do we need a depth buffer?
|
|
7
|
-
*/
|
|
8
|
-
depthBuffer: boolean;
|
|
9
|
-
/**
|
|
10
|
-
* If defined, the framebuffer will automatically match the
|
|
11
|
-
* current viewport size multiplied by `viewportMatchingScale`.
|
|
12
|
-
*
|
|
13
|
-
* for instance, if `viewportMatchingScale === 0.5` and the viewport
|
|
14
|
-
* id (640, 480), then the framebuffer will have a size of
|
|
15
|
-
* (320, 240).
|
|
16
|
-
*/
|
|
17
|
-
viewportMatchingScale?: number;
|
|
18
|
-
name: string;
|
|
19
|
-
}
|
|
20
|
-
export declare class TgdPainterFramebuffer extends TgdPainterGroup {
|
|
21
|
-
private readonly context;
|
|
22
|
-
private readonly options;
|
|
23
|
-
readonly texture: TgdTexture2D;
|
|
24
|
-
readonly textureDepth: TgdTexture2D;
|
|
25
|
-
private framebuffer;
|
|
26
|
-
private depthbuffer;
|
|
27
|
-
private dirty;
|
|
28
|
-
private _width;
|
|
29
|
-
private _height;
|
|
30
|
-
constructor(context: TgdContext, options: Partial<TgdPainterFramebufferOptions>);
|
|
31
|
-
get width(): number;
|
|
32
|
-
set width(v: number);
|
|
33
|
-
get height(): number;
|
|
34
|
-
set height(v: number);
|
|
35
|
-
paint(time: number, delay: number): void;
|
|
36
|
-
delete(): void;
|
|
37
|
-
private createFramebufferIfNeeded;
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=framebuffer.backup.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"framebuffer.backup.d.ts","sourceRoot":"","sources":["../../src/painter/framebuffer.backup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,MAAM,WAAW,4BAA6B,SAAQ,mBAAmB;IACrE;;OAEG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,IAAI,EAAE,MAAM,CAAA;CACf;AAID,qBAAa,qBAAsB,SAAQ,eAAe;IAUlD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV5B,SAAgB,OAAO,EAAE,YAAY,CAAA;IACrC,SAAgB,YAAY,EAAE,YAAY,CAAA;IAC1C,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAI;gBAGE,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC;IAuBnE,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAKlB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM,EAKnB;IAED,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAuCxC,MAAM;IAUN,OAAO,CAAC,yBAAyB;CAqBpC"}
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { TgdPainterGroup } from "./group.js";
|
|
2
|
-
const DEFAULT_TEXTURE_SIZE = 256;
|
|
3
|
-
export class TgdPainterFramebuffer extends TgdPainterGroup {
|
|
4
|
-
constructor(context, options) {
|
|
5
|
-
var _a, _b, _c;
|
|
6
|
-
super();
|
|
7
|
-
this.context = context;
|
|
8
|
-
this.options = options;
|
|
9
|
-
this.framebuffer = null;
|
|
10
|
-
this.depthbuffer = null;
|
|
11
|
-
this.dirty = false;
|
|
12
|
-
this._width = 0;
|
|
13
|
-
this._height = 0;
|
|
14
|
-
this._width = (_a = options.width) !== null && _a !== void 0 ? _a : DEFAULT_TEXTURE_SIZE;
|
|
15
|
-
this._height = (_b = options.height) !== null && _b !== void 0 ? _b : DEFAULT_TEXTURE_SIZE;
|
|
16
|
-
this.name = (_c = options.name) !== null && _c !== void 0 ? _c : `Framebuffer/${this.name}`;
|
|
17
|
-
this.texture = context.textures2D.create({
|
|
18
|
-
width: Math.max(this.width, 1),
|
|
19
|
-
height: Math.max(this.height, 1),
|
|
20
|
-
internalFormat: "RGB",
|
|
21
|
-
generateMipMap: true,
|
|
22
|
-
});
|
|
23
|
-
this.textureDepth = context.textures2D.create({
|
|
24
|
-
width: options.depthBuffer ? this._width : 1,
|
|
25
|
-
height: options.depthBuffer ? this._height : 1,
|
|
26
|
-
generateMipMap: false,
|
|
27
|
-
internalFormat: "DEPTH_COMPONENT24",
|
|
28
|
-
format: "DEPTH_COMPONENT",
|
|
29
|
-
type: "UNSIGNED_INT",
|
|
30
|
-
});
|
|
31
|
-
this.dirty = true;
|
|
32
|
-
}
|
|
33
|
-
get width() {
|
|
34
|
-
return this._width;
|
|
35
|
-
}
|
|
36
|
-
set width(v) {
|
|
37
|
-
if (this._width === v)
|
|
38
|
-
return;
|
|
39
|
-
this._width = v;
|
|
40
|
-
this.dirty = true;
|
|
41
|
-
}
|
|
42
|
-
get height() {
|
|
43
|
-
return this._height;
|
|
44
|
-
}
|
|
45
|
-
set height(v) {
|
|
46
|
-
if (this._height === v)
|
|
47
|
-
return;
|
|
48
|
-
this._height = v;
|
|
49
|
-
this.dirty = true;
|
|
50
|
-
}
|
|
51
|
-
paint(time, delay) {
|
|
52
|
-
const { context, texture, options } = this;
|
|
53
|
-
const { gl } = context;
|
|
54
|
-
const { viewportMatchingScale } = options;
|
|
55
|
-
if (typeof viewportMatchingScale === "number") {
|
|
56
|
-
this.width = Math.max(1, Math.round(context.width * viewportMatchingScale));
|
|
57
|
-
this.height = Math.max(1, Math.round(context.height * viewportMatchingScale));
|
|
58
|
-
}
|
|
59
|
-
const currentFramebuffer = gl.getParameter(gl.FRAMEBUFFER_BINDING);
|
|
60
|
-
const [x, y, w, h] = gl.getParameter(gl.VIEWPORT);
|
|
61
|
-
this.createFramebufferIfNeeded();
|
|
62
|
-
gl.bindFramebuffer(gl.FRAMEBUFFER, this.framebuffer);
|
|
63
|
-
gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture.glTexture, 0);
|
|
64
|
-
gl.viewport(0, 0, this.width, this.height);
|
|
65
|
-
console.log("🚀 [framebuffer] w, h = ", w, h); // @FIXME: Remove this line written on 2024-08-20 at 16:42
|
|
66
|
-
console.log("🚀 [framebuffer] this.width, this.height = ", this.width, this.height); // @FIXME: Remove this line written on 2024-08-20 at 16:42
|
|
67
|
-
super.paint(time, delay);
|
|
68
|
-
gl.bindFramebuffer(gl.FRAMEBUFFER, currentFramebuffer);
|
|
69
|
-
gl.viewport(x, y, w, h);
|
|
70
|
-
}
|
|
71
|
-
delete() {
|
|
72
|
-
const { context, texture, textureDepth, framebuffer, depthbuffer } = this;
|
|
73
|
-
const { gl } = context;
|
|
74
|
-
context.textures2D.delete(texture);
|
|
75
|
-
context.textures2D.delete(textureDepth);
|
|
76
|
-
if (framebuffer)
|
|
77
|
-
gl.deleteFramebuffer(framebuffer);
|
|
78
|
-
if (depthbuffer)
|
|
79
|
-
gl.deleteRenderbuffer(depthbuffer);
|
|
80
|
-
}
|
|
81
|
-
createFramebufferIfNeeded() {
|
|
82
|
-
if (!this.dirty)
|
|
83
|
-
return;
|
|
84
|
-
const { context, width, height } = this;
|
|
85
|
-
if (this.framebuffer) {
|
|
86
|
-
console.log("Delete framebuffer!");
|
|
87
|
-
context.gl.deleteFramebuffer(this.framebuffer);
|
|
88
|
-
}
|
|
89
|
-
console.log("Create framebuffer!");
|
|
90
|
-
this.framebuffer = context.createFramebuffer();
|
|
91
|
-
this.texture.resize(width, height);
|
|
92
|
-
// @TODO: Generate depth buffer.
|
|
93
|
-
// if (this.options.depthBuffer === true) {
|
|
94
|
-
// // Create a Depth Buffer, because the default
|
|
95
|
-
// // framebuffer has none.
|
|
96
|
-
// const { gl } = context
|
|
97
|
-
// this.depthbuffer = createDepthTexture(gl, this.width, this.height)
|
|
98
|
-
// this.textureDepth.resize(width, height)
|
|
99
|
-
// }
|
|
100
|
-
this.dirty = false;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
function createDepthTexture(gl, width, height) {
|
|
104
|
-
const depthTexture = gl.createTexture();
|
|
105
|
-
gl.bindTexture(gl.TEXTURE_2D, depthTexture);
|
|
106
|
-
const level = 0;
|
|
107
|
-
const internalFormat = gl.DEPTH_COMPONENT24;
|
|
108
|
-
const border = 0;
|
|
109
|
-
const format = gl.DEPTH_COMPONENT;
|
|
110
|
-
const type = gl.UNSIGNED_INT;
|
|
111
|
-
const data = null;
|
|
112
|
-
gl.texImage2D(gl.TEXTURE_2D, level, internalFormat, width, height, border, format, type, data);
|
|
113
|
-
// set the filtering so we don't need mips
|
|
114
|
-
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
|
|
115
|
-
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
|
|
116
|
-
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
|
|
117
|
-
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
|
|
118
|
-
// attach the depth texture to the framebuffer
|
|
119
|
-
gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.TEXTURE_2D, depthTexture, level);
|
|
120
|
-
return depthTexture;
|
|
121
|
-
}
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWVidWZmZXIuYmFja3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhaW50ZXIvZnJhbWVidWZmZXIuYmFja3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFtQnpDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFBO0FBRWhDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxlQUFlO0lBU3RELFlBQ3FCLE9BQW1CLEVBQ25CLE9BQThDOztRQUUvRCxLQUFLLEVBQUUsQ0FBQTtRQUhVLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBdUM7UUFSM0QsZ0JBQVcsR0FBNEIsSUFBSSxDQUFBO1FBQzNDLGdCQUFXLEdBQTZCLElBQUksQ0FBQTtRQUM1QyxVQUFLLEdBQUcsS0FBSyxDQUFBO1FBQ2IsV0FBTSxHQUFHLENBQUMsQ0FBQTtRQUNWLFlBQU8sR0FBRyxDQUFDLENBQUE7UUFPZixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQUEsT0FBTyxDQUFDLEtBQUssbUNBQUksb0JBQW9CLENBQUE7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFBLE9BQU8sQ0FBQyxNQUFNLG1DQUFJLG9CQUFvQixDQUFBO1FBQ3JELElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBQSxPQUFPLENBQUMsSUFBSSxtQ0FBSSxlQUFlLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUN0RCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1lBQ3JDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzlCLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ2hDLGNBQWMsRUFBRSxLQUFLO1lB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
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { TgdGeometry } from "./../../../geometry/geometry";
|
|
2
|
-
import { TgdContext } from "../../../context";
|
|
3
|
-
import { TgdPainterMesh } from "../mesh";
|
|
4
|
-
import { ArrayNumber4 } from "../../../types";
|
|
5
|
-
export interface TgdPainterMeshHullOptions {
|
|
6
|
-
geometry: TgdGeometry;
|
|
7
|
-
color?: ArrayNumber4;
|
|
8
|
-
}
|
|
9
|
-
export declare class TgdPainterMeshHull extends TgdPainterMesh {
|
|
10
|
-
constructor(context: TgdContext, options: TgdPainterMeshHullOptions);
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=hull.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hull.d.ts","sourceRoot":"","sources":["../../../../src/painter/mesh/hull/hull.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGzC,MAAM,WAAW,yBAAyB;IACtC,QAAQ,EAAE,WAAW,CAAA;IACrB,KAAK,CAAC,EAAE,YAAY,CAAA;CACvB;AAED,qBAAa,kBAAmB,SAAQ,cAAc;gBACtC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,yBAAyB;CAMtE"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { TgdPainterMesh } from "../mesh/index.js";
|
|
2
|
-
import { TgdMaterialSolid } from "./../../../material/index.js";
|
|
3
|
-
export class TgdPainterMeshHull extends TgdPainterMesh {
|
|
4
|
-
constructor(context, options) {
|
|
5
|
-
super(context, {
|
|
6
|
-
geometry: options.geometry,
|
|
7
|
-
material: new TgdMaterialSolid({ color: options.color }),
|
|
8
|
-
});
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWludGVyL21lc2gvaHVsbC9odWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFFeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBT2hELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxjQUFjO0lBQ2xELFlBQVksT0FBbUIsRUFBRSxPQUFrQztRQUMvRCxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ1gsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO1lBQzFCLFFBQVEsRUFBRSxJQUFJLGdCQUFnQixDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUMzRCxDQUFDLENBQUE7SUFDTixDQUFDO0NBQ0oifQ==
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { TgdMat4 } from "../math";
|
|
2
|
-
import { TgdPainter } from "./painter";
|
|
3
|
-
import { TgdTransfo } from "../math/transfo";
|
|
4
|
-
export interface TgdPainterNodeChild {
|
|
5
|
-
paint(time: number, delay: number): void;
|
|
6
|
-
delete(): void;
|
|
7
|
-
matrixTransfo: TgdMat4;
|
|
8
|
-
}
|
|
9
|
-
export interface TgdPainterNodeOptions {
|
|
10
|
-
children: Array<TgdPainterNode | TgdPainterNodeChild>;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* A Node can hold others Nodes or any object providing the
|
|
14
|
-
* TgdPainterNodeChild interface.
|
|
15
|
-
*
|
|
16
|
-
* Each Node is a local space for its children.
|
|
17
|
-
*/
|
|
18
|
-
export declare class TgdPainterNode extends TgdPainter {
|
|
19
|
-
parentTransfo: TgdTransfo;
|
|
20
|
-
readonly transfo: TgdTransfo;
|
|
21
|
-
private readonly matrixTransfo;
|
|
22
|
-
private parentUpdateCount;
|
|
23
|
-
private updateCount;
|
|
24
|
-
private readonly childrenNodes;
|
|
25
|
-
private readonly children;
|
|
26
|
-
constructor(options?: Partial<TgdPainterNodeOptions>);
|
|
27
|
-
delete(): void;
|
|
28
|
-
add(...children: Array<TgdPainterNode | TgdPainterNodeChild>): void;
|
|
29
|
-
remove(...children: Array<TgdPainterNode | TgdPainterNodeChild>): void;
|
|
30
|
-
paint(time: number, delay: number): void;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=node.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/painter/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,WAAW,mBAAmB;IAChC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC,MAAM,IAAI,IAAI,CAAA;IACd,aAAa,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,KAAK,CAAC,cAAc,GAAG,mBAAmB,CAAC,CAAA;CACxD;AAED;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,UAAU;IACnC,aAAa,EAAE,UAAU,CAAmB;IACnD,SAAgB,OAAO,aAAmB;IAE1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,iBAAiB,CAAI;IAC7B,OAAO,CAAC,WAAW,CAAI;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;gBAEzC,OAAO,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAMxD,MAAM,IAAI,IAAI;IASd,GAAG,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,cAAc,GAAG,mBAAmB,CAAC;IAU5D,MAAM,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,cAAc,GAAG,mBAAmB,CAAC;IAY/D,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CA2B3C"}
|
package/lib/dist/painter/node.js
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { TgdMat4 } from "./../math/index.js";
|
|
2
|
-
import { TgdPainter } from "./painter.js";
|
|
3
|
-
import { TgdTransfo } from "../math/transfo.js";
|
|
4
|
-
/**
|
|
5
|
-
* A Node can hold others Nodes or any object providing the
|
|
6
|
-
* TgdPainterNodeChild interface.
|
|
7
|
-
*
|
|
8
|
-
* Each Node is a local space for its children.
|
|
9
|
-
*/
|
|
10
|
-
export class TgdPainterNode extends TgdPainter {
|
|
11
|
-
parentTransfo = new TgdTransfo();
|
|
12
|
-
transfo = new TgdTransfo();
|
|
13
|
-
matrixTransfo = new TgdMat4();
|
|
14
|
-
parentUpdateCount = 0;
|
|
15
|
-
updateCount = 0;
|
|
16
|
-
childrenNodes = [];
|
|
17
|
-
children = [];
|
|
18
|
-
constructor(options = {}) {
|
|
19
|
-
super();
|
|
20
|
-
const { children = [] } = options;
|
|
21
|
-
children.forEach(child => this.add(child));
|
|
22
|
-
}
|
|
23
|
-
delete() {
|
|
24
|
-
for (const child of this.children) {
|
|
25
|
-
child.delete();
|
|
26
|
-
}
|
|
27
|
-
for (const child of this.childrenNodes) {
|
|
28
|
-
child.delete();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
add(...children) {
|
|
32
|
-
for (const child of children) {
|
|
33
|
-
if (child instanceof TgdPainterNode) {
|
|
34
|
-
this.childrenNodes.push(child);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
this.children.push(child);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
remove(...children) {
|
|
42
|
-
for (const child of children) {
|
|
43
|
-
if (child instanceof TgdPainterNode) {
|
|
44
|
-
const idxNode = this.childrenNodes.indexOf(child);
|
|
45
|
-
if (idxNode > -1)
|
|
46
|
-
this.childrenNodes.splice(idxNode, 1);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
const idx = this.children.indexOf(child);
|
|
50
|
-
if (idx > -1)
|
|
51
|
-
this.children.splice(idx, 1);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
paint(time, delay) {
|
|
56
|
-
const { transfo, parentTransfo, matrixTransfo, parentUpdateCount, updateCount, children, childrenNodes, } = this;
|
|
57
|
-
if (transfo.updateCount > updateCount ||
|
|
58
|
-
parentTransfo.updateCount > parentUpdateCount) {
|
|
59
|
-
this.updateCount = transfo.updateCount;
|
|
60
|
-
this.parentUpdateCount = parentTransfo.updateCount;
|
|
61
|
-
matrixTransfo.from(parentTransfo.matrix).multiply(transfo.matrix);
|
|
62
|
-
}
|
|
63
|
-
for (const child of children) {
|
|
64
|
-
child.matrixTransfo = matrixTransfo;
|
|
65
|
-
child.paint(time, delay);
|
|
66
|
-
}
|
|
67
|
-
for (const child of childrenNodes) {
|
|
68
|
-
child.parentTransfo.matrix = matrixTransfo;
|
|
69
|
-
child.paint(time, delay);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYWludGVyL25vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNuQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQVk1Qzs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsVUFBVTtJQUNuQyxhQUFhLEdBQWUsSUFBSSxVQUFVLEVBQUUsQ0FBQTtJQUNuQyxPQUFPLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQTtJQUV6QixhQUFhLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtJQUN0QyxpQkFBaUIsR0FBRyxDQUFDLENBQUE7SUFDckIsV0FBVyxHQUFHLENBQUMsQ0FBQTtJQUNOLGFBQWEsR0FBcUIsRUFBRSxDQUFBO0lBQ3BDLFFBQVEsR0FBMEIsRUFBRSxDQUFBO0lBRXJELFlBQVksVUFBMEMsRUFBRTtRQUNwRCxLQUFLLEVBQUUsQ0FBQTtRQUNQLE1BQU0sRUFBRSxRQUFRLEdBQUcsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFBO1FBQ2pDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFDOUMsQ0FBQztJQUVELE1BQU07UUFDRixLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDbEIsQ0FBQztRQUNELEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUNsQixDQUFDO0lBQ0wsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFHLFFBQXFEO1FBQ3hELEtBQUssTUFBTSxLQUFLLElBQUksUUFBUSxFQUFFLENBQUM7WUFDM0IsSUFBSSxLQUFLLFlBQVksY0FBYyxFQUFFLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ2xDLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUM3QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBRyxRQUFxRDtRQUMzRCxLQUFLLE1BQU0sS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzNCLElBQUksS0FBSyxZQUFZLGNBQWMsRUFBRSxDQUFDO2dCQUNsQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFDakQsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO29CQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUMzRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBQ3hDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztvQkFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFDOUMsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQVksRUFBRSxLQUFhO1FBQzdCLE1BQU0sRUFDRixPQUFPLEVBQ1AsYUFBYSxFQUNiLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsV0FBVyxFQUNYLFFBQVEsRUFDUixhQUFhLEdBQ2hCLEdBQUcsSUFBSSxDQUFBO1FBQ1IsSUFDSSxPQUFPLENBQUMsV0FBVyxHQUFHLFdBQVc7WUFDakMsYUFBYSxDQUFDLFdBQVcsR0FBRyxpQkFBaUIsRUFDL0MsQ0FBQztZQUNDLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQTtZQUN0QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQTtZQUNsRCxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3JFLENBQUM7UUFDRCxLQUFLLE1BQU0sS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzNCLEtBQUssQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFBO1lBQ25DLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQzVCLENBQUM7UUFDRCxLQUFLLE1BQU0sS0FBSyxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2hDLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQTtZQUMxQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUM1QixDQUFDO0lBQ0wsQ0FBQztDQUNKIn0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ref-map.d.ts","sourceRoot":"","sources":["../src/ref-map.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM,CAAC,OAAO,EAAE,OAAO;IACxC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA8B;IAClD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IAEnD;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,GAAG,OAAO;IAelD;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS;CAe5C"}
|
package/lib/dist/ref-map.js
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A Reference Map counts how many time you want to insert the same key.
|
|
3
|
-
* And it tells you when you delete it as many times.
|
|
4
|
-
*/
|
|
5
|
-
export default class RefMap {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.map = new Map();
|
|
8
|
-
this.count = new Map();
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* If `key` is already stored in the map,
|
|
12
|
-
* we add a reference to the mapped value and return it.
|
|
13
|
-
* If not, we create the mapped value by calling `factory()`.
|
|
14
|
-
*/
|
|
15
|
-
add(key, factory) {
|
|
16
|
-
var _a;
|
|
17
|
-
const { map, count } = this;
|
|
18
|
-
if (count.has(key)) {
|
|
19
|
-
count.set(key, 1 + ((_a = count.get(key)) !== null && _a !== void 0 ? _a : 0));
|
|
20
|
-
const curVal = map.get(key);
|
|
21
|
-
if (!curVal)
|
|
22
|
-
throw Error("[CountMap] Map should not be empty!");
|
|
23
|
-
return curVal;
|
|
24
|
-
}
|
|
25
|
-
const newVal = factory();
|
|
26
|
-
map.set(key, newVal);
|
|
27
|
-
count.set(key, 1);
|
|
28
|
-
return newVal;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Delete a reference to `key`.
|
|
32
|
-
* If the last reference has been removed,
|
|
33
|
-
* then return the mapped value, otherwise
|
|
34
|
-
* return `undefined`.
|
|
35
|
-
*/
|
|
36
|
-
delete(key) {
|
|
37
|
-
var _a;
|
|
38
|
-
const { map, count } = this;
|
|
39
|
-
if (!map.has(key))
|
|
40
|
-
return;
|
|
41
|
-
const newCount = ((_a = count.get(key)) !== null && _a !== void 0 ? _a : 0) - 1;
|
|
42
|
-
if (newCount > 0) {
|
|
43
|
-
count.set(key, newCount);
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
const value = map.get(key);
|
|
47
|
-
map.delete(key);
|
|
48
|
-
count.delete(key);
|
|
49
|
-
return value;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmLW1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yZWYtbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sTUFBTTtJQUEzQjtRQUNxQixRQUFHLEdBQUcsSUFBSSxHQUFHLEVBQW9CLENBQUE7UUFDakMsVUFBSyxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFBO0lBMkN2RCxDQUFDO0lBekNHOzs7O09BSUc7SUFDSCxHQUFHLENBQUMsR0FBWSxFQUFFLE9BQXNCOztRQUNwQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQTtRQUMzQixJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNqQixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFBLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG1DQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDekMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUMzQixJQUFJLENBQUMsTUFBTTtnQkFBRSxNQUFNLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFBO1lBQy9ELE9BQU8sTUFBTSxDQUFBO1FBQ2pCLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxPQUFPLEVBQUUsQ0FBQTtRQUN4QixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUNwQixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUNqQixPQUFPLE1BQU0sQ0FBQTtJQUNqQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsR0FBWTs7UUFDZixNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQTtRQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFBRSxPQUFNO1FBRXpCLE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBQSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQ0FBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDMUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDZixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQTtZQUN4QixPQUFNO1FBQ1YsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDMUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNmLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDakIsT0FBTyxLQUFLLENBQUE7SUFDaEIsQ0FBQztDQUNKIn0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resource/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * from "./program.js";
|
|
2
|
-
export * from "./resource.js";
|
|
3
|
-
export * from "./texture2d.js";
|
|
4
|
-
export * from "./textureCube.js";
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVzb3VyY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUE7QUFDekIsY0FBYyxZQUFZLENBQUE7QUFDMUIsY0FBYyxhQUFhLENBQUE7QUFDM0IsY0FBYyxlQUFlLENBQUEifQ==
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { TgdProgram, TgdProgramOptions } from "../types";
|
|
2
|
-
import { TgdResource } from "./resource";
|
|
3
|
-
export declare class TgdResourceProgram extends TgdResource<TgdProgramOptions, TgdProgram> {
|
|
4
|
-
readonly gl: WebGL2RenderingContext;
|
|
5
|
-
constructor(gl: WebGL2RenderingContext);
|
|
6
|
-
protected actualCreate(input: TgdProgramOptions): TgdProgram;
|
|
7
|
-
protected actualDelete(program: TgdProgram): void;
|
|
8
|
-
protected makeKeyFromInput(input: TgdProgramOptions): string;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=program.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/resource/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAGxC,qBAAa,kBAAmB,SAAQ,WAAW,CAC/C,iBAAiB,EACjB,UAAU,CACb;aAC+B,EAAE,EAAE,sBAAsB;gBAA1B,EAAE,EAAE,sBAAsB;IAItD,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,UAAU;IAI5D,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAIjD,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM;CAG/D"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { TgdResource } from "./resource.js";
|
|
2
|
-
import { TgdProgramImpl } from "./../program/index.js";
|
|
3
|
-
export class TgdResourceProgram extends TgdResource {
|
|
4
|
-
constructor(gl) {
|
|
5
|
-
super();
|
|
6
|
-
this.gl = gl;
|
|
7
|
-
}
|
|
8
|
-
actualCreate(input) {
|
|
9
|
-
return new TgdProgramImpl(this.gl, input);
|
|
10
|
-
}
|
|
11
|
-
actualDelete(program) {
|
|
12
|
-
if (program instanceof TgdProgramImpl)
|
|
13
|
-
program.delete();
|
|
14
|
-
}
|
|
15
|
-
makeKeyFromInput(input) {
|
|
16
|
-
return JSON.stringify(input);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXNvdXJjZS9wcm9ncmFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUU3QyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsV0FHdkM7SUFDRyxZQUE0QixFQUEwQjtRQUNsRCxLQUFLLEVBQUUsQ0FBQTtRQURpQixPQUFFLEdBQUYsRUFBRSxDQUF3QjtJQUV0RCxDQUFDO0lBRVMsWUFBWSxDQUFDLEtBQXdCO1FBQzNDLE9BQU8sSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0lBRVMsWUFBWSxDQUFDLE9BQW1CO1FBQ3RDLElBQUksT0FBTyxZQUFZLGNBQWM7WUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUE7SUFDM0QsQ0FBQztJQUVTLGdCQUFnQixDQUFDLEtBQXdCO1FBQy9DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoQyxDQUFDO0NBQ0oifQ==
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This class deals with WebGL resources.
|
|
3
|
-
*
|
|
4
|
-
* It prevents you from creatng multiple times the
|
|
5
|
-
* same resource by holding an internal ref counter.
|
|
6
|
-
*/
|
|
7
|
-
export declare abstract class TgdResource<InputType, OutputType> {
|
|
8
|
-
private readonly keys;
|
|
9
|
-
private readonly objects;
|
|
10
|
-
private readonly references;
|
|
11
|
-
create(input: InputType, id?: string): OutputType;
|
|
12
|
-
delete(object: OutputType): void;
|
|
13
|
-
protected abstract actualCreate(input: InputType, id: string): OutputType;
|
|
14
|
-
protected abstract actualDelete(object: OutputType): void;
|
|
15
|
-
protected makeKeyFromInput(_input: InputType): string | null;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=resource.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/resource/resource.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,8BAAsB,WAAW,CAAC,SAAS,EAAE,UAAU;IACnD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgC;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IAEvD,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU;IAkBjD,MAAM,CAAC,MAAM,EAAE,UAAU;IAkBzB,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU;IAEzE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAEzD,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI;CAG/D"}
|