@tolokoban/tgd 2.0.0 → 2.0.3
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 +0 -0
- package/lib/dist/buffer/buffer.d.ts.map +0 -0
- package/lib/dist/buffer/buffer.js +37 -0
- package/lib/dist/buffer/index.d.ts +0 -0
- package/lib/dist/buffer/index.d.ts.map +0 -0
- package/lib/dist/buffer/index.js +2 -0
- package/lib/dist/camera/camera-orthographic.d.ts +14 -12
- package/lib/dist/camera/camera-orthographic.d.ts.map +1 -1
- package/lib/dist/camera/camera-orthographic.js +97 -0
- package/lib/dist/camera/camera-perspective.d.ts +20 -16
- package/lib/dist/camera/camera-perspective.d.ts.map +1 -1
- package/lib/dist/camera/camera-perspective.js +94 -0
- package/lib/dist/camera/camera.d.ts +95 -18
- package/lib/dist/camera/camera.d.ts.map +1 -1
- package/lib/dist/camera/camera.js +368 -0
- package/lib/dist/camera/index.d.ts +3 -3
- package/lib/dist/camera/index.d.ts.map +1 -1
- package/lib/dist/camera/index.js +4 -0
- package/lib/dist/canvas/gizmo/gizmo.d.ts +42 -0
- package/lib/dist/canvas/gizmo/gizmo.d.ts.map +1 -0
- package/lib/dist/canvas/gizmo/gizmo.js +183 -0
- package/lib/dist/canvas/gizmo/index.d.ts +2 -0
- package/lib/dist/canvas/gizmo/index.d.ts.map +1 -0
- package/lib/dist/canvas/gizmo/index.js +2 -0
- package/lib/dist/canvas/gizmo/painter/shader.frag +17 -0
- package/lib/dist/canvas/gizmo/painter/shader.vert +24 -0
- package/lib/dist/canvas/gizmo/painter/tips.d.ts +13 -0
- package/lib/dist/canvas/gizmo/painter/tips.d.ts.map +1 -0
- package/lib/dist/canvas/gizmo/painter/tips.js +96 -0
- package/lib/dist/canvas/index.d.ts +3 -0
- package/lib/dist/canvas/index.d.ts.map +1 -0
- package/lib/dist/canvas/index.js +3 -0
- package/lib/dist/canvas/landscape/index.d.ts +2 -0
- package/lib/dist/canvas/landscape/index.d.ts.map +1 -0
- package/lib/dist/canvas/landscape/index.js +2 -0
- package/lib/dist/canvas/landscape/landscape.d.ts +18 -0
- package/lib/dist/canvas/landscape/landscape.d.ts.map +1 -0
- package/lib/dist/canvas/landscape/landscape.js +40 -0
- package/lib/dist/color/color.d.ts +22 -0
- package/lib/dist/color/color.d.ts.map +1 -0
- package/lib/dist/color/color.js +160 -0
- package/lib/dist/color/index.d.ts +2 -0
- package/lib/dist/color/index.d.ts.map +1 -0
- package/lib/dist/color/index.js +2 -0
- package/lib/dist/context/animation/animation-manager.d.ts +8 -0
- package/lib/dist/context/animation/animation-manager.d.ts.map +1 -0
- package/lib/dist/context/animation/animation-manager.js +41 -0
- package/lib/dist/context/context.d.ts +111 -12
- package/lib/dist/context/context.d.ts.map +1 -1
- package/lib/dist/context/context.js +297 -0
- package/lib/dist/context/index.d.ts +0 -0
- package/lib/dist/context/index.d.ts.map +0 -0
- package/lib/dist/context/index.js +2 -0
- package/lib/dist/controller/camera/index.d.ts +0 -0
- package/lib/dist/controller/camera/index.d.ts.map +0 -0
- package/lib/dist/controller/camera/index.js +2 -0
- package/lib/dist/controller/camera/orbit.d.ts +88 -8
- package/lib/dist/controller/camera/orbit.d.ts.map +1 -1
- package/lib/dist/controller/camera/orbit.js +186 -0
- package/lib/dist/controller/index.d.ts +0 -0
- package/lib/dist/controller/index.d.ts.map +0 -0
- package/lib/dist/controller/index.js +2 -0
- package/lib/dist/dataset/dataset.d.ts +80 -11
- package/lib/dist/dataset/dataset.d.ts.map +1 -1
- package/lib/dist/dataset/dataset.js +217 -0
- package/lib/dist/dataset/index.d.ts +0 -0
- package/lib/dist/dataset/index.d.ts.map +0 -0
- package/lib/dist/dataset/index.js +2 -0
- package/lib/dist/debug.d.ts +0 -0
- package/lib/dist/debug.d.ts.map +0 -0
- package/lib/dist/debug.js +13 -0
- package/lib/dist/event/event.d.ts +0 -0
- package/lib/dist/event/event.d.ts.map +0 -0
- package/lib/dist/event/event.js +13 -0
- package/lib/dist/event/index.d.ts +2 -0
- package/lib/dist/event/index.d.ts.map +1 -0
- package/lib/dist/event/index.js +2 -0
- package/lib/dist/filter/blur.d.ts +10 -0
- package/lib/dist/filter/blur.d.ts.map +1 -0
- package/lib/dist/filter/blur.js +42 -0
- package/lib/dist/filter/filter.d.ts +39 -0
- package/lib/dist/filter/filter.d.ts.map +1 -0
- package/lib/dist/filter/filter.js +43 -0
- package/lib/dist/filter/hue-rotation.d.ts +12 -0
- package/lib/dist/filter/hue-rotation.d.ts.map +1 -0
- package/lib/dist/filter/hue-rotation.js +41 -0
- package/lib/dist/filter/index.d.ts +4 -0
- package/lib/dist/filter/index.d.ts.map +1 -0
- package/lib/dist/filter/index.js +4 -0
- package/lib/dist/geometry/box.d.ts +10 -0
- package/lib/dist/geometry/box.d.ts.map +1 -0
- package/lib/dist/geometry/box.js +136 -0
- package/lib/dist/geometry/geometry.d.ts +47 -0
- package/lib/dist/geometry/geometry.d.ts.map +1 -0
- package/lib/dist/geometry/geometry.js +190 -0
- package/lib/dist/geometry/index.d.ts +3 -0
- package/lib/dist/geometry/index.d.ts.map +1 -0
- package/lib/dist/geometry/index.js +3 -0
- package/lib/dist/index.d.ts +9 -0
- package/lib/dist/index.d.ts.map +1 -1
- package/lib/dist/index.js +21 -1
- package/lib/dist/input/index.d.ts +2 -0
- package/lib/dist/input/index.d.ts.map +1 -1
- package/lib/dist/input/index.js +4 -0
- package/lib/dist/input/inputs.d.ts +11 -0
- package/lib/dist/input/inputs.d.ts.map +1 -0
- package/lib/dist/input/inputs.js +23 -0
- package/lib/dist/input/keyboard.d.ts +6 -2
- package/lib/dist/input/keyboard.d.ts.map +1 -1
- package/lib/dist/input/keyboard.js +46 -0
- package/lib/dist/input/pointer.d.ts +24 -40
- package/lib/dist/input/pointer.d.ts.map +1 -1
- package/lib/dist/input/pointer.js +138 -0
- package/lib/dist/light/index.d.ts +2 -0
- package/lib/dist/light/index.d.ts.map +1 -0
- package/lib/dist/light/index.js +2 -0
- package/lib/dist/light/light.d.ts +16 -0
- package/lib/dist/light/light.d.ts.map +1 -0
- package/lib/dist/light/light.js +19 -0
- package/lib/dist/loader/image.d.ts +4 -0
- package/lib/dist/loader/image.d.ts.map +1 -1
- package/lib/dist/loader/image.js +31 -0
- package/lib/dist/loader/index.d.ts +0 -0
- package/lib/dist/loader/index.d.ts.map +0 -0
- package/lib/dist/loader/index.js +2 -0
- package/lib/dist/material/diffuse.d.ts +28 -0
- package/lib/dist/material/diffuse.d.ts.map +1 -0
- package/lib/dist/material/diffuse.js +68 -0
- package/lib/dist/material/ghost.d.ts +19 -0
- package/lib/dist/material/ghost.d.ts.map +1 -0
- package/lib/dist/material/ghost.js +25 -0
- package/lib/dist/material/index.d.ts +5 -0
- package/lib/dist/material/index.d.ts.map +1 -0
- package/lib/dist/material/index.js +5 -0
- package/lib/dist/material/material.d.ts +29 -0
- package/lib/dist/material/material.d.ts.map +1 -0
- package/lib/dist/material/material.js +14 -0
- package/lib/dist/material/normals.d.ts +13 -0
- package/lib/dist/material/normals.d.ts.map +1 -0
- package/lib/dist/material/normals.js +20 -0
- package/lib/dist/math/index.d.ts +3 -0
- package/lib/dist/math/index.d.ts.map +1 -1
- package/lib/dist/math/index.js +8 -0
- package/lib/dist/math/mat3.d.ts +8 -0
- package/lib/dist/math/mat3.d.ts.map +1 -1
- package/lib/dist/math/mat3.js +154 -0
- package/lib/dist/math/mat4.d.ts +111 -2
- package/lib/dist/math/mat4.d.ts.map +1 -1
- package/lib/dist/math/mat4.js +402 -0
- package/lib/dist/math/mat4.test.d.ts +0 -0
- package/lib/dist/math/mat4.test.d.ts.map +0 -0
- package/lib/dist/math/mat4.test.js +57 -0
- package/lib/dist/math/quat.d.ts +1 -0
- package/lib/dist/math/quat.d.ts.map +1 -1
- package/lib/dist/math/quat.js +184 -0
- package/lib/dist/math/quat.test.d.ts +0 -0
- package/lib/dist/math/quat.test.d.ts.map +0 -0
- package/lib/dist/math/quat.test.js +45 -0
- package/lib/dist/math/transfo.d.ts +27 -0
- package/lib/dist/math/transfo.d.ts.map +1 -0
- package/lib/dist/math/transfo.js +86 -0
- package/lib/dist/math/vec2.d.ts +34 -0
- package/lib/dist/math/vec2.d.ts.map +1 -0
- package/lib/dist/math/vec2.js +119 -0
- package/lib/dist/math/vec3.d.ts +26 -12
- package/lib/dist/math/vec3.d.ts.map +1 -1
- package/lib/dist/math/vec3.js +187 -0
- package/lib/dist/math/vec3.test.d.ts +2 -0
- package/lib/dist/math/vec3.test.d.ts.map +1 -0
- package/lib/dist/math/vec3.test.js +22 -0
- package/lib/dist/math/vec4.d.ts +8 -4
- package/lib/dist/math/vec4.d.ts.map +1 -1
- package/lib/dist/math/vec4.js +152 -0
- package/lib/dist/math/vec4.test.d.ts +0 -0
- package/lib/dist/math/vec4.test.d.ts.map +0 -0
- package/lib/dist/math/vec4.test.js +15 -0
- package/lib/dist/painter/axis/axis.d.ts +26 -0
- package/lib/dist/painter/axis/axis.d.ts.map +1 -0
- package/lib/dist/painter/axis/axis.frag +11 -0
- package/lib/dist/painter/axis/axis.js +84 -0
- package/lib/dist/painter/axis/axis.vert +21 -0
- package/lib/dist/painter/axis/index.d.ts +2 -0
- package/lib/dist/painter/axis/index.d.ts.map +1 -0
- package/lib/dist/painter/axis/index.js +2 -0
- package/lib/dist/painter/background/background.d.ts +11 -8
- package/lib/dist/painter/background/background.d.ts.map +1 -1
- package/lib/dist/painter/background/background.frag +11 -0
- package/lib/dist/painter/background/background.js +63 -0
- package/lib/dist/painter/background/background.vert +16 -0
- package/lib/dist/painter/background/index.d.ts +0 -0
- package/lib/dist/painter/background/index.d.ts.map +0 -0
- package/lib/dist/painter/background/index.js +2 -0
- package/lib/dist/painter/clear.d.ts +15 -10
- package/lib/dist/painter/clear.d.ts.map +1 -1
- package/lib/dist/painter/clear.js +51 -0
- package/lib/dist/painter/depth.d.ts +22 -0
- package/lib/dist/painter/depth.d.ts.map +1 -0
- package/lib/dist/painter/depth.js +34 -0
- package/lib/dist/painter/filter/filter.d.ts +23 -0
- package/lib/dist/painter/filter/filter.d.ts.map +1 -0
- package/lib/dist/painter/filter/filter.frag +15 -0
- package/lib/dist/painter/filter/filter.js +76 -0
- package/lib/dist/painter/filter/filter.vert +11 -0
- package/lib/dist/painter/filter/index.d.ts +2 -0
- package/lib/dist/painter/filter/index.d.ts.map +1 -0
- package/lib/dist/painter/filter/index.js +2 -0
- package/lib/dist/painter/framebuffer.d.ts +38 -0
- package/lib/dist/painter/framebuffer.d.ts.map +1 -0
- package/lib/dist/painter/framebuffer.js +102 -0
- package/lib/dist/painter/group.d.ts +16 -4
- package/lib/dist/painter/group.d.ts.map +1 -1
- package/lib/dist/painter/group.js +59 -0
- package/lib/dist/painter/index.d.ts +10 -5
- package/lib/dist/painter/index.d.ts.map +1 -1
- package/lib/dist/painter/index.js +12 -0
- package/lib/dist/painter/logic.d.ts +4 -2
- package/lib/dist/painter/logic.d.ts.map +1 -1
- package/lib/dist/painter/logic.js +16 -0
- package/lib/dist/painter/mesh/gltf/gltf.d.ts +14 -0
- package/lib/dist/painter/mesh/gltf/gltf.d.ts.map +1 -0
- package/lib/dist/painter/mesh/gltf/gltf.js +93 -0
- package/lib/dist/painter/mesh/gltf/index.d.ts +2 -0
- package/lib/dist/painter/mesh/gltf/index.d.ts.map +1 -0
- package/lib/dist/painter/mesh/gltf/index.js +2 -0
- package/lib/dist/painter/mesh/index.d.ts +4 -0
- package/lib/dist/painter/mesh/index.d.ts.map +1 -0
- package/lib/dist/painter/mesh/index.js +4 -0
- package/lib/dist/painter/mesh/mesh/index.d.ts +2 -0
- package/lib/dist/painter/mesh/mesh/index.d.ts.map +1 -0
- package/lib/dist/painter/mesh/mesh/index.js +2 -0
- package/lib/dist/painter/mesh/mesh/mesh.d.ts +32 -0
- package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -0
- package/lib/dist/painter/mesh/mesh/mesh.js +128 -0
- package/lib/dist/painter/mesh/normals/index.d.ts +2 -0
- package/lib/dist/painter/mesh/normals/index.d.ts.map +1 -0
- package/lib/dist/painter/mesh/normals/index.js +2 -0
- package/lib/dist/painter/mesh/normals/normals.d.ts +18 -0
- package/lib/dist/painter/mesh/normals/normals.d.ts.map +1 -0
- package/lib/dist/painter/mesh/normals/normals.js +53 -0
- package/lib/dist/painter/mesh/normals/shader.frag +14 -0
- package/lib/dist/painter/mesh/normals/shader.vert +18 -0
- package/lib/dist/painter/node.d.ts +26 -0
- package/lib/dist/painter/node.d.ts.map +1 -0
- package/lib/dist/painter/node.js +67 -0
- package/lib/dist/painter/painter.d.ts +1 -1
- package/lib/dist/painter/painter.d.ts.map +1 -1
- package/lib/dist/painter/painter.js +4 -0
- package/lib/dist/painter/segments/index.d.ts +2 -0
- package/lib/dist/painter/segments/index.d.ts.map +1 -0
- package/lib/dist/painter/segments/index.js +2 -0
- package/lib/dist/painter/segments/segments.d.ts +85 -0
- package/lib/dist/painter/segments/segments.d.ts.map +1 -0
- package/lib/dist/painter/segments/segments.frag +12 -0
- package/lib/dist/painter/segments/segments.js +196 -0
- package/lib/dist/painter/segments/segments.vert +114 -0
- package/lib/dist/painter/skybox/index.d.ts +0 -0
- package/lib/dist/painter/skybox/index.d.ts.map +0 -0
- package/lib/dist/painter/skybox/index.js +2 -0
- package/lib/dist/painter/skybox/skybox.d.ts +11 -17
- package/lib/dist/painter/skybox/skybox.d.ts.map +1 -1
- package/lib/dist/painter/skybox/skybox.frag +15 -0
- package/lib/dist/painter/skybox/skybox.js +59 -0
- package/lib/dist/painter/skybox/skybox.vert +10 -0
- package/lib/dist/parser/for-each-line.d.ts +3 -0
- package/lib/dist/parser/for-each-line.d.ts.map +1 -1
- package/lib/dist/parser/for-each-line.js +17 -0
- package/lib/dist/parser/gltf/gltf.d.ts +34 -0
- package/lib/dist/parser/gltf/gltf.d.ts.map +1 -0
- package/lib/dist/parser/gltf/gltf.js +164 -0
- package/lib/dist/parser/gltf/index.d.ts +2 -0
- package/lib/dist/parser/gltf/index.d.ts.map +1 -0
- package/lib/dist/parser/gltf/index.js +2 -0
- package/lib/dist/parser/gltf/parser.d.ts +9 -0
- package/lib/dist/parser/gltf/parser.d.ts.map +1 -0
- package/lib/dist/parser/gltf/parser.js +53 -0
- package/lib/dist/parser/index.d.ts +1 -0
- package/lib/dist/parser/index.d.ts.map +1 -1
- package/lib/dist/parser/index.js +3 -0
- package/lib/dist/parser/mesh/wavefront.d.ts +70 -12
- package/lib/dist/parser/mesh/wavefront.d.ts.map +1 -1
- package/lib/dist/parser/mesh/wavefront.js +246 -0
- package/lib/dist/program/index.d.ts +0 -0
- package/lib/dist/program/index.d.ts.map +0 -0
- package/lib/dist/program/index.js +2 -0
- package/lib/dist/program/program.d.ts +17 -2
- package/lib/dist/program/program.d.ts.map +1 -1
- package/lib/dist/program/program.js +220 -0
- package/lib/dist/ref-map.d.ts +15 -0
- package/lib/dist/ref-map.d.ts.map +1 -1
- package/lib/dist/ref-map.js +48 -0
- package/lib/dist/resource/index.d.ts +0 -0
- package/lib/dist/resource/index.d.ts.map +0 -0
- package/lib/dist/resource/index.js +5 -0
- package/lib/dist/resource/program.d.ts +2 -2
- package/lib/dist/resource/program.d.ts.map +1 -1
- package/lib/dist/resource/program.js +20 -0
- package/lib/dist/resource/resource.d.ts +10 -4
- package/lib/dist/resource/resource.d.ts.map +1 -1
- package/lib/dist/resource/resource.js +48 -0
- package/lib/dist/resource/texture2d.d.ts +8 -9
- package/lib/dist/resource/texture2d.d.ts.map +1 -1
- package/lib/dist/resource/texture2d.js +20 -0
- package/lib/dist/resource/textureCube.d.ts +7 -9
- package/lib/dist/resource/textureCube.d.ts.map +1 -1
- package/lib/dist/resource/textureCube.js +17 -0
- package/lib/dist/shader/code.d.ts +12 -0
- package/lib/dist/shader/code.d.ts.map +1 -0
- package/lib/dist/shader/code.js +32 -0
- package/lib/dist/shader/fragment.d.ts +23 -0
- package/lib/dist/shader/fragment.d.ts.map +1 -0
- package/lib/dist/shader/fragment.js +37 -0
- package/lib/dist/shader/vertex.d.ts +23 -0
- package/lib/dist/shader/vertex.d.ts.map +1 -0
- package/lib/dist/shader/vertex.js +35 -0
- package/lib/dist/texture/index.d.ts +0 -0
- package/lib/dist/texture/index.d.ts.map +0 -0
- package/lib/dist/texture/index.js +3 -0
- package/lib/dist/texture/texture2d.d.ts +14 -9
- package/lib/dist/texture/texture2d.d.ts.map +1 -1
- package/lib/dist/texture/texture2d.js +132 -0
- package/lib/dist/texture/textureCube.d.ts +4 -5
- package/lib/dist/texture/textureCube.d.ts.map +1 -1
- package/lib/dist/texture/textureCube.js +87 -0
- package/lib/dist/types/animation.d.ts +20 -0
- package/lib/dist/types/animation.d.ts.map +1 -0
- package/lib/dist/types/animation.js +2 -0
- package/lib/dist/types/arrays.d.ts +33 -0
- package/lib/dist/types/arrays.d.ts.map +1 -0
- package/lib/dist/types/arrays.js +2 -0
- package/lib/dist/types/context.d.ts +25 -0
- package/lib/dist/types/context.d.ts.map +1 -0
- package/lib/dist/types/context.js +2 -0
- package/lib/dist/types/gltf.d.ts +200 -0
- package/lib/dist/types/gltf.d.ts.map +1 -0
- package/lib/dist/types/gltf.js +117 -0
- package/lib/dist/types/guards.d.ts +25 -0
- package/lib/dist/types/guards.d.ts.map +1 -0
- package/lib/dist/types/guards.js +218 -0
- package/lib/dist/types/index.d.ts +5 -0
- package/lib/dist/types/index.d.ts.map +1 -1
- package/lib/dist/types/index.js +10 -0
- package/lib/dist/types/input-keyboard.d.ts +8 -0
- package/lib/dist/types/input-keyboard.d.ts.map +1 -0
- package/lib/dist/types/input-keyboard.js +2 -0
- package/lib/dist/types/input-pointer.d.ts +42 -0
- package/lib/dist/types/input-pointer.d.ts.map +1 -0
- package/lib/dist/types/input-pointer.js +2 -0
- package/lib/dist/types/mesh.d.ts +10 -0
- package/lib/dist/types/mesh.d.ts.map +1 -0
- package/lib/dist/types/mesh.js +2 -0
- package/lib/dist/types/painter.d.ts +2 -0
- package/lib/dist/types/painter.d.ts.map +1 -0
- package/lib/dist/types/painter.js +2 -0
- package/lib/dist/types/program.d.ts +15 -0
- package/lib/dist/types/program.d.ts.map +1 -1
- package/lib/dist/types/program.js +2 -0
- package/lib/dist/types/texture2d.d.ts +20 -8
- package/lib/dist/types/texture2d.d.ts.map +1 -1
- package/lib/dist/types/texture2d.js +2 -0
- package/lib/dist/types/textureCube.d.ts +42 -3
- package/lib/dist/types/textureCube.d.ts.map +1 -1
- package/lib/dist/types/textureCube.js +2 -0
- package/lib/dist/types/webgl.d.ts +28 -0
- package/lib/dist/types/webgl.d.ts.map +1 -1
- package/lib/dist/types/webgl.js +2 -0
- package/lib/dist/utils/action/camera.d.ts +13 -0
- package/lib/dist/utils/action/camera.d.ts.map +1 -0
- package/lib/dist/utils/action/camera.js +30 -0
- package/lib/dist/utils/action/index.d.ts +2 -0
- package/lib/dist/utils/action/index.d.ts.map +1 -0
- package/lib/dist/utils/action/index.js +2 -0
- package/lib/dist/utils/canvas.d.ts +13 -0
- package/lib/dist/utils/canvas.d.ts.map +1 -0
- package/lib/dist/utils/canvas.js +23 -0
- package/lib/dist/utils/ease-func/ease-func.d.ts +32 -0
- package/lib/dist/utils/ease-func/ease-func.d.ts.map +1 -0
- package/lib/dist/utils/ease-func/ease-func.js +142 -0
- package/lib/dist/utils/ease-func/index.d.ts +2 -0
- package/lib/dist/utils/ease-func/index.d.ts.map +1 -0
- package/lib/dist/utils/ease-func/index.js +2 -0
- package/lib/dist/utils/fetch/fetch.d.ts +2 -0
- package/lib/dist/utils/fetch/fetch.d.ts.map +1 -0
- package/lib/dist/utils/fetch/fetch.js +5 -0
- package/lib/dist/utils/fetch/index.d.ts +2 -0
- package/lib/dist/utils/fetch/index.d.ts.map +1 -0
- package/lib/dist/utils/fetch/index.js +2 -0
- package/lib/dist/utils/fullscreen.d.ts +21 -0
- package/lib/dist/utils/fullscreen.d.ts.map +1 -0
- package/lib/dist/utils/fullscreen.js +64 -0
- package/lib/dist/utils/index.d.ts +6 -0
- package/lib/dist/utils/index.d.ts.map +1 -0
- package/lib/dist/utils/index.js +6 -0
- package/lib/dist/utils/math.d.ts +3 -0
- package/lib/dist/utils/math.d.ts.map +1 -0
- package/lib/dist/utils/math.js +11 -0
- package/lib/dist/utils/ref-map.d.ts +22 -0
- package/lib/dist/utils/ref-map.d.ts.map +1 -0
- package/lib/dist/utils/ref-map.js +48 -0
- package/lib/dist/vao/index.d.ts +0 -0
- package/lib/dist/vao/index.d.ts.map +0 -0
- package/lib/dist/vao/index.js +2 -0
- package/lib/dist/vao/vao.d.ts +7 -3
- package/lib/dist/vao/vao.d.ts.map +1 -1
- package/lib/dist/vao/vao.js +67 -0
- package/package.json +6 -5
- package/lib/dist/mesh/mesh.d.ts +0 -11
- package/lib/dist/mesh/mesh.d.ts.map +0 -1
- package/lib/dist/painter/isometric/isometric.frag.d.ts +0 -3
- package/lib/dist/painter/isometric/isometric.frag.d.ts.map +0 -1
- package/lib/dist/painter/isometric/isometric.vert.d.ts +0 -3
- package/lib/dist/painter/isometric/isometric.vert.d.ts.map +0 -1
- package/lib/dist/painter/primitive/primitive.frag.d.ts +0 -3
- package/lib/dist/painter/primitive/primitive.frag.d.ts.map +0 -1
- package/lib/dist/painter/primitive/primitive.vert.d.ts +0 -3
- package/lib/dist/painter/primitive/primitive.vert.d.ts.map +0 -1
- package/lib/dist/painter/sprites/sprites-painter.frag.d.ts +0 -3
- package/lib/dist/painter/sprites/sprites-painter.frag.d.ts.map +0 -1
- package/lib/dist/painter/sprites/sprites-painter.vert.d.ts +0 -3
- package/lib/dist/painter/sprites/sprites-painter.vert.d.ts.map +0 -1
|
@@ -1,24 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { TgdContext } from "
|
|
3
|
-
import { TgdPainter } from "
|
|
1
|
+
import { TgdTexture2D } from "../../types";
|
|
2
|
+
import { TgdContext } from "../../context";
|
|
3
|
+
import { TgdPainter } from "../painter";
|
|
4
4
|
export interface TgdPainterBackgroundOptions {
|
|
5
5
|
zoom: number;
|
|
6
6
|
x: number;
|
|
7
7
|
y: number;
|
|
8
8
|
z: number;
|
|
9
9
|
}
|
|
10
|
-
export declare class TgdPainterBackground
|
|
10
|
+
export declare class TgdPainterBackground extends TgdPainter {
|
|
11
11
|
private readonly context;
|
|
12
|
-
texture:
|
|
12
|
+
texture: TgdTexture2D;
|
|
13
13
|
private readonly program;
|
|
14
14
|
private readonly vao;
|
|
15
|
+
/**
|
|
16
|
+
* With a zoom of **1**, the image will have the smaller size to cover
|
|
17
|
+
* the whole scene.
|
|
18
|
+
*/
|
|
15
19
|
zoom: number;
|
|
16
20
|
x: number;
|
|
17
21
|
y: number;
|
|
18
22
|
z: number;
|
|
19
|
-
constructor(context: TgdContext, texture:
|
|
23
|
+
constructor(context: TgdContext, texture: TgdTexture2D, { x, y, z, zoom, }?: Partial<TgdPainterBackgroundOptions>);
|
|
20
24
|
delete(): void;
|
|
21
|
-
paint(
|
|
22
|
-
update(time: number, delay: number): void;
|
|
25
|
+
paint(): void;
|
|
23
26
|
}
|
|
24
27
|
//# sourceMappingURL=background.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background.d.ts","sourceRoot":"","sources":["../../../src/painter/background/background.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"background.d.ts","sourceRoot":"","sources":["../../../src/painter/background/background.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAOvC,MAAM,WAAW,2BAA2B;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,qBAAa,oBAAqB,SAAQ,UAAU;IAgB5C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAfrB,OAAO,EAAE,YAAY,CAAA;IAE5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IAEpC;;;OAGG;IACI,IAAI,SAAI;IACR,CAAC,SAAI;IACL,CAAC,SAAI;IACL,CAAC,SAAI;gBAGS,OAAO,EAAE,UAAU,EACpC,OAAO,EAAE,YAAY,EACrB,EACI,CAAK,EACL,CAAK,EACL,CAAK,EACL,IAAQ,GACX,GAAE,OAAO,CAAC,2BAA2B,CAAM;IAwBhD,MAAM,IAAI,IAAI;IAKd,KAAK,IAAI,IAAI;CAoBhB"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { TgdPainter } from "../painter.js";
|
|
2
|
+
import { TgdDataset } from "./../../dataset/dataset.js";
|
|
3
|
+
import VERT from "./background.vert";
|
|
4
|
+
import FRAG from "./background.frag";
|
|
5
|
+
export class TgdPainterBackground extends TgdPainter {
|
|
6
|
+
context;
|
|
7
|
+
texture;
|
|
8
|
+
program;
|
|
9
|
+
vao;
|
|
10
|
+
/**
|
|
11
|
+
* With a zoom of **1**, the image will have the smaller size to cover
|
|
12
|
+
* the whole scene.
|
|
13
|
+
*/
|
|
14
|
+
zoom = 1;
|
|
15
|
+
x = 0;
|
|
16
|
+
y = 0;
|
|
17
|
+
z = 1;
|
|
18
|
+
constructor(context, texture, { x = 0, y = 0, z = 1, zoom = 1, } = {}) {
|
|
19
|
+
super();
|
|
20
|
+
this.context = context;
|
|
21
|
+
this.x = x;
|
|
22
|
+
this.y = y;
|
|
23
|
+
this.z = z;
|
|
24
|
+
this.zoom = zoom;
|
|
25
|
+
this.texture = texture;
|
|
26
|
+
this.program = context.programs.create({
|
|
27
|
+
vert: VERT,
|
|
28
|
+
frag: FRAG,
|
|
29
|
+
});
|
|
30
|
+
const dataset = new TgdDataset({
|
|
31
|
+
attPoint: "vec2",
|
|
32
|
+
attUV: "vec2",
|
|
33
|
+
});
|
|
34
|
+
dataset.set("attPoint", new Float32Array([-1, -1, +1, -1, -1, +1, +1, +1]));
|
|
35
|
+
dataset.set("attUV", new Float32Array([0, 0, 1, 0, 0, 1, 1, 1]));
|
|
36
|
+
this.vao = context.createVAO(this.program, [dataset]);
|
|
37
|
+
}
|
|
38
|
+
delete() {
|
|
39
|
+
const { vao } = this;
|
|
40
|
+
vao.delete();
|
|
41
|
+
}
|
|
42
|
+
paint() {
|
|
43
|
+
const { gl } = this.context;
|
|
44
|
+
const { vao, program, texture, zoom, x, y, z } = this;
|
|
45
|
+
program.use();
|
|
46
|
+
const { width, height } = this.context;
|
|
47
|
+
const horizontal = texture.width * height > texture.height * width;
|
|
48
|
+
const scaleX = horizontal
|
|
49
|
+
? (texture.width * height) / (width * texture.height)
|
|
50
|
+
: 1;
|
|
51
|
+
const scaleY = horizontal
|
|
52
|
+
? 1
|
|
53
|
+
: (texture.height * width) / (height * texture.width);
|
|
54
|
+
program.uniform2f("uniScale", scaleX, scaleY);
|
|
55
|
+
program.uniform2f("uniScroll", x, y);
|
|
56
|
+
program.uniform1f("uniZoom", 1 / zoom);
|
|
57
|
+
program.uniform1f("uniZ", z);
|
|
58
|
+
texture.activate(program, "uniTexture");
|
|
59
|
+
vao.bind();
|
|
60
|
+
gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2dyb3VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWludGVyL2JhY2tncm91bmQvYmFja2dyb3VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUdqRCxPQUFPLElBQUksTUFBTSxtQkFBbUIsQ0FBQTtBQUNwQyxPQUFPLElBQUksTUFBTSxtQkFBbUIsQ0FBQTtBQVNwQyxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsVUFBVTtJQWdCM0I7SUFmZCxPQUFPLENBQWM7SUFFWCxPQUFPLENBQVk7SUFDbkIsR0FBRyxDQUFnQjtJQUVwQzs7O09BR0c7SUFDSSxJQUFJLEdBQUcsQ0FBQyxDQUFBO0lBQ1IsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNMLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDTCxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRVosWUFDcUIsT0FBbUIsRUFDcEMsT0FBcUIsRUFDckIsRUFDSSxDQUFDLEdBQUcsQ0FBQyxFQUNMLENBQUMsR0FBRyxDQUFDLEVBQ0wsQ0FBQyxHQUFHLENBQUMsRUFDTCxJQUFJLEdBQUcsQ0FBQyxNQUM4QixFQUFFO1FBRTVDLEtBQUssRUFBRSxDQUFBO1FBVFUsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQVVwQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNWLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ1YsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDVixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtRQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQ25DLElBQUks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
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#version 300 es
|
|
2
|
+
|
|
3
|
+
uniform float uniZoom;
|
|
4
|
+
uniform vec2 uniScale;
|
|
5
|
+
uniform vec2 uniScroll;
|
|
6
|
+
uniform float uniZ;
|
|
7
|
+
in vec2 attPoint;
|
|
8
|
+
in vec2 attUV;
|
|
9
|
+
out vec2 varUV;
|
|
10
|
+
|
|
11
|
+
void main() {
|
|
12
|
+
varUV = (attUV + uniScroll) * uniZoom;
|
|
13
|
+
float x = uniScale.x * attPoint.x;
|
|
14
|
+
float y = uniScale.y * attPoint.y;
|
|
15
|
+
gl_Position = vec4(x, y, uniZ, 1.0);
|
|
16
|
+
}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from "./background.js";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFpbnRlci9iYWNrZ3JvdW5kL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFBIn0=
|
|
@@ -1,20 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { TgdVec4 } from "../math";
|
|
2
|
+
import { TgdPainter } from "./painter";
|
|
3
|
+
import { TgdContextInterface } from "../types";
|
|
4
|
+
export interface TgdPainterClearOptions {
|
|
5
|
+
color: [red: number, green: number, blue: number, alpha: number] | TgdVec4;
|
|
5
6
|
depth: number;
|
|
6
7
|
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
/**
|
|
9
|
+
* @see {@link TgdPainterClearOptions}
|
|
10
|
+
*/
|
|
11
|
+
export declare class TgdPainterClear extends TgdPainter {
|
|
12
|
+
readonly context: TgdContextInterface;
|
|
13
|
+
private readonly options;
|
|
14
|
+
private readonly clearMask;
|
|
10
15
|
red: number;
|
|
11
16
|
green: number;
|
|
12
17
|
blue: number;
|
|
13
18
|
alpha: number;
|
|
14
19
|
depth: number;
|
|
15
|
-
constructor(context:
|
|
20
|
+
constructor(context: TgdContextInterface, options?: Partial<TgdPainterClearOptions>);
|
|
21
|
+
/** Nothing to destroy. */
|
|
16
22
|
delete(): void;
|
|
17
|
-
paint(
|
|
18
|
-
update(_time: number, _delay: number): void;
|
|
23
|
+
paint(): void;
|
|
19
24
|
}
|
|
20
25
|
//# sourceMappingURL=clear.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clear.d.ts","sourceRoot":"","sources":["../../src/painter/clear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"clear.d.ts","sourceRoot":"","sources":["../../src/painter/clear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAEhD,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,OAAO,CAAA;IAC1E,KAAK,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,UAAU;aAUvB,OAAO,EAAE,mBAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAA;IAEnB,GAAG,SAAI;IACP,KAAK,SAAM;IACX,IAAI,SAAI;IACR,KAAK,SAAI;IACT,KAAK,SAAI;gBAGI,OAAO,EAAE,mBAAmB,EAC3B,OAAO,GAAE,OAAO,CAAC,sBAAsB,CAAM;IA0BlE,0BAA0B;IAC1B,MAAM,IAAI,IAAI;IAEd,KAAK,IAAI,IAAI;CAQhB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { TgdPainter } from "./painter.js";
|
|
2
|
+
/**
|
|
3
|
+
* @see {@link TgdPainterClearOptions}
|
|
4
|
+
*/
|
|
5
|
+
export class TgdPainterClear extends TgdPainter {
|
|
6
|
+
context;
|
|
7
|
+
options;
|
|
8
|
+
clearMask;
|
|
9
|
+
red = 1;
|
|
10
|
+
green = 0.7;
|
|
11
|
+
blue = 0;
|
|
12
|
+
alpha = 1;
|
|
13
|
+
depth = 1;
|
|
14
|
+
constructor(context, options = {}) {
|
|
15
|
+
super();
|
|
16
|
+
this.context = context;
|
|
17
|
+
this.options = options;
|
|
18
|
+
const { gl } = context;
|
|
19
|
+
const color = options.color ?? [0, 0, 0, 1];
|
|
20
|
+
const depth = options.depth ?? 1;
|
|
21
|
+
this.clearMask = 0;
|
|
22
|
+
let hasAnyOption = false;
|
|
23
|
+
if (options.color) {
|
|
24
|
+
this.clearMask |= gl.COLOR_BUFFER_BIT;
|
|
25
|
+
hasAnyOption = true;
|
|
26
|
+
}
|
|
27
|
+
if (typeof options.depth === "number") {
|
|
28
|
+
this.clearMask |= gl.DEPTH_BUFFER_BIT;
|
|
29
|
+
hasAnyOption = true;
|
|
30
|
+
}
|
|
31
|
+
if (!hasAnyOption) {
|
|
32
|
+
throw Error("[TgdPainterClear] You must give at least a color or a depth in the constructor!");
|
|
33
|
+
}
|
|
34
|
+
// eslint-disable-next-line no-extra-semi
|
|
35
|
+
;
|
|
36
|
+
[this.red, this.green, this.blue, this.alpha] = color;
|
|
37
|
+
this.depth = depth;
|
|
38
|
+
}
|
|
39
|
+
/** Nothing to destroy. */
|
|
40
|
+
delete() { }
|
|
41
|
+
paint() {
|
|
42
|
+
const { clearMask, context, red, green, blue, alpha, depth, options } = this;
|
|
43
|
+
const { gl } = context;
|
|
44
|
+
if (options.color)
|
|
45
|
+
gl.clearColor(red, green, blue, alpha);
|
|
46
|
+
if (typeof options.depth === "number")
|
|
47
|
+
gl.clearDepth(depth);
|
|
48
|
+
gl.clear(clearMask);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFpbnRlci9jbGVhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBUXRDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsVUFBVTtJQVV2QjtJQUNDO0lBVkosU0FBUyxDQUFBO0lBRW5CLEdBQUcsR0FBRyxDQUFDLENBQUE7SUFDUCxLQUFLLEdBQUcsR0FBRyxDQUFBO0lBQ1gsSUFBSSxHQUFHLENBQUMsQ0FBQTtJQUNSLEtBQUssR0FBRyxDQUFDLENBQUE7SUFDVCxLQUFLLEdBQUcsQ0FBQyxDQUFBO0lBRWhCLFlBQ29CLE9BQTRCLEVBQzNCLFVBQTJDLEVBQUU7UUFFOUQsS0FBSyxFQUFFLENBQUE7UUFIUyxZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFzQztRQUc5RCxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUMzQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQTtRQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQTtRQUNsQixJQUFJLFlBQVksR0FBRyxLQUFLLENBQUE7UUFDeEIsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLENBQUE7WUFDckMsWUFBWSxHQUFHLElBQUksQ0FBQTtRQUN2QixDQUFDO1FBQ0QsSUFBSSxPQUFPLE9BQU8sQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLENBQUE7WUFDckMsWUFBWSxHQUFHLElBQUksQ0FBQTtRQUN2QixDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2hCLE1BQU0sS0FBSyxDQUNQLGlGQUFpRixDQUNwRixDQUFBO1FBQ0wsQ0FBQztRQUNELHlDQUF5QztRQUN6QyxDQUFDO1FBQUEsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFBO1FBQ3RELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFBO0lBQ3RCLENBQUM7SUFFRCwwQkFBMEI7SUFDMUIsTUFBTSxLQUFVLENBQUM7SUFFakIsS0FBSztRQUNELE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQ2pFLElBQUksQ0FBQTtRQUNSLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUE7UUFDdEIsSUFBSSxPQUFPLENBQUMsS0FBSztZQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDekQsSUFBSSxPQUFPLE9BQU8sQ0FBQyxLQUFLLEtBQUssUUFBUTtZQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDM0QsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUN2QixDQUFDO0NBQ0oifQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { TgdContextInterface, WebglDepthFunc } from "..";
|
|
2
|
+
import { TgdPainter } from "./painter";
|
|
3
|
+
export type TgdPainterDepthOptions = {
|
|
4
|
+
enabled: boolean;
|
|
5
|
+
func: WebglDepthFunc;
|
|
6
|
+
mask: boolean;
|
|
7
|
+
rangeMin: number;
|
|
8
|
+
rangeMax: number;
|
|
9
|
+
};
|
|
10
|
+
export declare class TgdPainterDepth extends TgdPainter {
|
|
11
|
+
private readonly context;
|
|
12
|
+
enabled: boolean;
|
|
13
|
+
func: WebglDepthFunc;
|
|
14
|
+
mask: boolean;
|
|
15
|
+
rangeMin: number;
|
|
16
|
+
rangeMax: number;
|
|
17
|
+
constructor(context: TgdContextInterface, { enabled, func, mask, rangeMin, rangeMax, }?: Partial<TgdPainterDepthOptions>);
|
|
18
|
+
delete(): void;
|
|
19
|
+
paint(): void;
|
|
20
|
+
update(): void;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=depth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"depth.d.ts","sourceRoot":"","sources":["../../src/painter/depth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,MAAM,MAAM,sBAAsB,GAAG;IACjC,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,cAAc,CAAA;IACpB,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,qBAAa,eAAgB,SAAQ,UAAU;IAQvC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAPrB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,cAAc,CAAA;IACpB,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;gBAGF,OAAO,EAAE,mBAAmB,EAC7C,EACI,OAAc,EACd,IAAa,EACb,IAAW,EACX,QAAY,EACZ,QAAY,GACf,GAAE,OAAO,CAAC,sBAAsB,CAAM;IAU3C,MAAM,IAAI,IAAI;IAEd,KAAK,IAAI,IAAI;IAeb,MAAM,IAAI,IAAI;CACjB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { TgdPainter } from "./painter.js";
|
|
2
|
+
export class TgdPainterDepth extends TgdPainter {
|
|
3
|
+
context;
|
|
4
|
+
enabled;
|
|
5
|
+
func;
|
|
6
|
+
mask;
|
|
7
|
+
rangeMin;
|
|
8
|
+
rangeMax;
|
|
9
|
+
constructor(context, { enabled = true, func = "LESS", mask = true, rangeMin = 0, rangeMax = 1, } = {}) {
|
|
10
|
+
super();
|
|
11
|
+
this.context = context;
|
|
12
|
+
this.enabled = enabled;
|
|
13
|
+
this.func = func;
|
|
14
|
+
this.mask = mask;
|
|
15
|
+
this.rangeMin = rangeMin;
|
|
16
|
+
this.rangeMax = rangeMax;
|
|
17
|
+
}
|
|
18
|
+
delete() { }
|
|
19
|
+
paint() {
|
|
20
|
+
const { gl } = this.context;
|
|
21
|
+
const { enabled } = this;
|
|
22
|
+
if (!enabled) {
|
|
23
|
+
gl.disable(gl.DEPTH_TEST);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const { func, mask, rangeMin, rangeMax } = this;
|
|
27
|
+
gl.enable(gl.DEPTH_TEST);
|
|
28
|
+
gl.depthFunc(gl[func]);
|
|
29
|
+
gl.depthMask(mask);
|
|
30
|
+
gl.depthRange(rangeMin, rangeMax);
|
|
31
|
+
}
|
|
32
|
+
update() { }
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwdGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFpbnRlci9kZXB0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBVXRDLE1BQU0sT0FBTyxlQUFnQixTQUFRLFVBQVU7SUFRdEI7SUFQZCxPQUFPLENBQVM7SUFDaEIsSUFBSSxDQUFnQjtJQUNwQixJQUFJLENBQVM7SUFDYixRQUFRLENBQVE7SUFDaEIsUUFBUSxDQUFRO0lBRXZCLFlBQ3FCLE9BQTRCLEVBQzdDLEVBQ0ksT0FBTyxHQUFHLElBQUksRUFDZCxJQUFJLEdBQUcsTUFBTSxFQUNiLElBQUksR0FBRyxJQUFJLEVBQ1gsUUFBUSxHQUFHLENBQUMsRUFDWixRQUFRLEdBQUcsQ0FBQyxNQUNxQixFQUFFO1FBRXZDLEtBQUssRUFBRSxDQUFBO1FBVFUsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFVN0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUE7UUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7UUFDaEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7UUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUE7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUE7SUFDNUIsQ0FBQztJQUVELE1BQU0sS0FBVSxDQUFDO0lBRWpCLEtBQUs7UUFDRCxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQTtRQUMzQixNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNYLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1lBQ3pCLE9BQU07UUFDVixDQUFDO1FBRUQsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUMvQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUN4QixFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ3RCLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDbEIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDckMsQ0FBQztJQUVELE1BQU0sS0FBVSxDQUFDO0NBQ3BCIn0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { TgdTexture2D } from "../../types";
|
|
2
|
+
import { TgdContext } from "../../context";
|
|
3
|
+
import { TgdPainter } from "../painter";
|
|
4
|
+
import { TgdFilter } from "../../filter";
|
|
5
|
+
export interface TgdPainterFilterOptions {
|
|
6
|
+
filters: TgdFilter[];
|
|
7
|
+
texture: TgdTexture2D;
|
|
8
|
+
z?: number;
|
|
9
|
+
}
|
|
10
|
+
export declare class TgdPainterFilter extends TgdPainter {
|
|
11
|
+
private readonly context;
|
|
12
|
+
texture: TgdTexture2D;
|
|
13
|
+
z: number;
|
|
14
|
+
private readonly programs;
|
|
15
|
+
private readonly filters;
|
|
16
|
+
private readonly program;
|
|
17
|
+
private readonly filter;
|
|
18
|
+
private readonly vao;
|
|
19
|
+
constructor(context: TgdContext, options: TgdPainterFilterOptions);
|
|
20
|
+
delete(): void;
|
|
21
|
+
paint(time: number): void;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/painter/filter/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIjD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAIvC,MAAM,WAAW,uBAAuB;IACpC,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,OAAO,EAAE,YAAY,CAAA;IACrB,CAAC,CAAC,EAAE,MAAM,CAAA;CACb;AAED,qBAAa,gBAAiB,SAAQ,UAAU;IAWxC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAVrB,OAAO,EAAE,YAAY,CAAA;IACrB,CAAC,SAAI;IAEZ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;gBAGf,OAAO,EAAE,UAAU,EACpC,OAAO,EAAE,uBAAuB;IAsDpC,MAAM,IAAI,IAAI;IAKd,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAU5B"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { TgdPainter } from "./../painter.js";
|
|
2
|
+
import { TgdDataset } from "./../../dataset/dataset.js";
|
|
3
|
+
import { TgdShaderVertex } from "./../../shader/vertex.js";
|
|
4
|
+
import { TgdShaderFragment } from "./../../shader/fragment.js";
|
|
5
|
+
export class TgdPainterFilter extends TgdPainter {
|
|
6
|
+
context;
|
|
7
|
+
texture;
|
|
8
|
+
z = 0;
|
|
9
|
+
programs;
|
|
10
|
+
filters;
|
|
11
|
+
program;
|
|
12
|
+
filter;
|
|
13
|
+
vao;
|
|
14
|
+
constructor(context, options) {
|
|
15
|
+
super();
|
|
16
|
+
this.context = context;
|
|
17
|
+
this.z = options.z ?? 0.9999;
|
|
18
|
+
this.texture = options.texture;
|
|
19
|
+
this.filters = options.filters;
|
|
20
|
+
if (this.filters.length < 1) {
|
|
21
|
+
throw Error(`[TgdPainterFilter] filters is expected to have at least one element!`);
|
|
22
|
+
}
|
|
23
|
+
this.programs = options.filters.map(filter => {
|
|
24
|
+
const vert = new TgdShaderVertex({
|
|
25
|
+
attributes: {
|
|
26
|
+
attPoint: "vec2",
|
|
27
|
+
attUV: "vec2",
|
|
28
|
+
},
|
|
29
|
+
varying: {
|
|
30
|
+
varUV: "vec2",
|
|
31
|
+
},
|
|
32
|
+
uniforms: {
|
|
33
|
+
uniZ: "float",
|
|
34
|
+
},
|
|
35
|
+
mainCode: [
|
|
36
|
+
"varUV = attUV;",
|
|
37
|
+
"gl_Position = vec4(",
|
|
38
|
+
["attPoint,", "uniZ,", "1.0"],
|
|
39
|
+
")",
|
|
40
|
+
],
|
|
41
|
+
}).code;
|
|
42
|
+
const frag = new TgdShaderFragment({
|
|
43
|
+
uniforms: {
|
|
44
|
+
uniWidth: "float",
|
|
45
|
+
uniHeight: "float",
|
|
46
|
+
...filter.uniforms,
|
|
47
|
+
},
|
|
48
|
+
}).code;
|
|
49
|
+
return context.programs.create({ vert, frag });
|
|
50
|
+
});
|
|
51
|
+
this.filter = this.filters.pop();
|
|
52
|
+
this.program = this.programs.pop();
|
|
53
|
+
const dataset = new TgdDataset({
|
|
54
|
+
attPoint: "vec2",
|
|
55
|
+
attUV: "vec2",
|
|
56
|
+
});
|
|
57
|
+
dataset.set("attPoint", new Float32Array([-1, +1, +1, +1, -1, -1, +1, -1]));
|
|
58
|
+
dataset.set("attUV", new Float32Array([0, 0, 1, 0, 0, 1, 1, 1]));
|
|
59
|
+
this.vao = context.createVAO(this.program, [dataset]);
|
|
60
|
+
}
|
|
61
|
+
delete() {
|
|
62
|
+
const { vao } = this;
|
|
63
|
+
vao.delete();
|
|
64
|
+
}
|
|
65
|
+
paint(time) {
|
|
66
|
+
const { context, vao, program, filter, texture, z } = this;
|
|
67
|
+
const { gl } = context;
|
|
68
|
+
program.use();
|
|
69
|
+
program.uniform1f("uniZ", z);
|
|
70
|
+
filter.setUniforms(program, time);
|
|
71
|
+
texture.activate(program, "uniTexture");
|
|
72
|
+
vao.bind();
|
|
73
|
+
gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhaW50ZXIvZmlsdGVyL2ZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBSWpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQVF4RCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsVUFBVTtJQVd2QjtJQVZkLE9BQU8sQ0FBYztJQUNyQixDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRUssUUFBUSxDQUFjO0lBQ3RCLE9BQU8sQ0FBYTtJQUNwQixPQUFPLENBQVk7SUFDbkIsTUFBTSxDQUFXO0lBQ2pCLEdBQUcsQ0FBZ0I7SUFFcEMsWUFDcUIsT0FBbUIsRUFDcEMsT0FBZ0M7UUFFaEMsS0FBSyxFQUFFLENBQUE7UUFIVSxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBSXBDLElBQUksQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUE7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFBO1FBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQTtRQUM5QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzFCLE1BQU0sS0FBSyxDQUNQLHNFQUFzRSxDQUN6RSxDQUFBO1FBQ0wsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDekMsTUFBTSxJQUFJLEdBQUcsSUFBSSxlQUFlLENBQUM7Z0JBQzdCLFVB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/painter/filter/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
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
|
+
}
|
|
19
|
+
export declare class TgdPainterFramebuffer 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<TgdPainterFramebufferOptions>);
|
|
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.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"framebuffer.d.ts","sourceRoot":"","sources":["../../src/painter/framebuffer.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;CACjC;AAED,qBAAa,qBAAsB,SAAQ,eAAe;IASlD,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,4BAA4B,CAAC;IAOnE,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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { TgdPainterGroup } from "./group.js";
|
|
2
|
+
export class TgdPainterFramebuffer 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWVidWZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFpbnRlci9mcmFtZWJ1ZmZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBa0J6QyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZUFBZTtJQVNqQztJQUNBO0lBVGIsS0FBSyxHQUFHLElBQUksQ0FBQTtJQUNaLE1BQU0sR0FBRyxDQUFDLENBQUE7SUFDVixPQUFPLEdBQUcsQ0FBQyxDQUFBO0lBQ1gsUUFBUSxHQUF3QixJQUFJLENBQUE7SUFDcEMsWUFBWSxHQUE0QixJQUFJLENBQUE7SUFDNUMsWUFBWSxHQUE2QixJQUFJLENBQUE7SUFFckQsWUFDcUIsT0FBbUIsRUFDbkIsT0FBOEM7UUFFL0QsS0FBSyxFQUFFLENBQUE7UUFIVSxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQXVDO1FBRy9ELElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUE7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQzdELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDeEIsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUN0QixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsQ0FBUztRQUNmLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQUUsT0FBTTtRQUU3QixJ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
|
|
@@ -1,12 +1,24 @@
|
|
|
1
|
+
import { TgdPainterFunction } from "../types/painter";
|
|
1
2
|
import { TgdPainter } from "./painter";
|
|
2
|
-
export
|
|
3
|
-
|
|
3
|
+
export type TgdPainterGroupOptions = {
|
|
4
|
+
onEnter?(time: number, delay: number): void;
|
|
5
|
+
onExit?(time: number, delay: number): void;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Group several painters together.
|
|
9
|
+
*/
|
|
10
|
+
export declare class TgdPainterGroup extends TgdPainter {
|
|
11
|
+
active: boolean;
|
|
12
|
+
onEnter: TgdPainterFunction | undefined;
|
|
13
|
+
onExit: TgdPainterFunction | undefined;
|
|
4
14
|
private readonly painters;
|
|
5
|
-
constructor(painters?: TgdPainter[]);
|
|
15
|
+
constructor(painters?: TgdPainter[], { onEnter, onExit }?: TgdPainterGroupOptions);
|
|
16
|
+
forEachChild(callback: (child: TgdPainter, index: number) => void): void;
|
|
17
|
+
has(painter: TgdPainter): boolean;
|
|
6
18
|
add(...painters: TgdPainter[]): void;
|
|
7
19
|
remove(...painters: TgdPainter[]): void;
|
|
20
|
+
removeAll(): void;
|
|
8
21
|
delete(): void;
|
|
9
22
|
paint(time: number, delay: number): void;
|
|
10
|
-
update(time: number, delay: number): void;
|
|
11
23
|
}
|
|
12
24
|
//# sourceMappingURL=group.d.ts.map
|