@luma.gl/webgl 8.5.7 → 8.6.0-alpha.1
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/dist/bundle.d.ts +2 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +5 -0
- package/dist/bundle.js.map +1 -0
- package/dist/classes/accessor.d.ts +28 -0
- package/dist/classes/accessor.d.ts.map +1 -0
- package/dist/classes/accessor.js +112 -0
- package/dist/classes/accessor.js.map +1 -0
- package/dist/classes/accessor.ts.disabled +159 -0
- package/dist/classes/clear.d.ts +16 -0
- package/dist/classes/clear.d.ts.map +1 -0
- package/dist/classes/clear.js +102 -0
- package/dist/classes/clear.js.map +1 -0
- package/dist/classes/copy-and-blit.d.ts +69 -0
- package/dist/classes/copy-and-blit.d.ts.map +1 -0
- package/dist/classes/copy-and-blit.js +333 -0
- package/dist/classes/copy-and-blit.js.map +1 -0
- package/dist/classes/framebuffer.d.ts +130 -0
- package/dist/classes/framebuffer.d.ts.map +1 -0
- package/dist/classes/framebuffer.js +656 -0
- package/dist/classes/framebuffer.js.map +1 -0
- package/dist/classes/program-configuration.d.ts +27 -0
- package/dist/classes/program-configuration.d.ts.map +1 -0
- package/dist/classes/program-configuration.js +160 -0
- package/dist/classes/program-configuration.js.map +1 -0
- package/dist/classes/program.d.ts +61 -0
- package/dist/classes/program.d.ts.map +1 -0
- package/dist/classes/program.js +368 -0
- package/dist/classes/program.js.map +1 -0
- package/dist/classes/query.d.ts +27 -0
- package/dist/classes/query.d.ts.map +1 -0
- package/dist/classes/query.js +144 -0
- package/dist/classes/query.js.map +1 -0
- package/dist/classes/renderbuffer-formats.d.ts +16 -0
- package/dist/classes/renderbuffer-formats.d.ts.map +1 -0
- package/dist/classes/renderbuffer-formats.js +185 -0
- package/dist/classes/renderbuffer-formats.js.map +1 -0
- package/dist/classes/renderbuffer.d.ts +60 -0
- package/dist/classes/renderbuffer.d.ts.map +1 -0
- package/dist/classes/renderbuffer.js +127 -0
- package/dist/classes/renderbuffer.js.map +1 -0
- package/dist/classes/texture-2d.d.ts +8 -0
- package/dist/classes/texture-2d.d.ts.map +1 -0
- package/dist/classes/texture-2d.js +39 -0
- package/dist/classes/texture-2d.js.map +1 -0
- package/dist/classes/texture-3d.d.ts +28 -0
- package/dist/classes/texture-3d.d.ts.map +1 -0
- package/dist/classes/texture-3d.js +67 -0
- package/dist/classes/texture-3d.js.map +1 -0
- package/dist/classes/texture-cube.d.ts +27 -0
- package/dist/classes/texture-cube.d.ts.map +1 -0
- package/dist/classes/texture-cube.js +131 -0
- package/dist/classes/texture-cube.js.map +1 -0
- package/dist/classes/texture-formats.d.ts +37 -0
- package/dist/classes/texture-formats.d.ts.map +1 -0
- package/dist/classes/texture-formats.js +98 -0
- package/dist/classes/texture-formats.js.map +1 -0
- package/dist/classes/texture.d.ts +118 -0
- package/dist/classes/texture.d.ts.map +1 -0
- package/dist/classes/texture.js +785 -0
- package/dist/classes/texture.js.map +1 -0
- package/dist/classes/transform-feedback.d.ts +33 -0
- package/dist/classes/transform-feedback.d.ts.map +1 -0
- package/dist/classes/transform-feedback.js +197 -0
- package/dist/classes/transform-feedback.js.map +1 -0
- package/dist/classes/uniform-buffer-layout.d.ts +17 -0
- package/dist/classes/uniform-buffer-layout.d.ts.map +1 -0
- package/dist/classes/uniform-buffer-layout.js +104 -0
- package/dist/classes/uniform-buffer-layout.js.map +1 -0
- package/dist/classes/uniforms.d.ts +38 -0
- package/dist/classes/uniforms.d.ts.map +1 -0
- package/dist/classes/uniforms.js +251 -0
- package/dist/classes/uniforms.js.map +1 -0
- package/dist/classes/vertex-array-object.d.ts +75 -0
- package/dist/classes/vertex-array-object.d.ts.map +1 -0
- package/dist/classes/vertex-array-object.js +262 -0
- package/dist/classes/vertex-array-object.js.map +1 -0
- package/dist/classes/vertex-array.d.ts +75 -0
- package/dist/classes/vertex-array.d.ts.map +1 -0
- package/dist/classes/vertex-array.js +409 -0
- package/dist/classes/vertex-array.js.map +1 -0
- package/dist/classes/webgl-buffer.d.ts +98 -0
- package/dist/classes/webgl-buffer.d.ts.map +1 -0
- package/dist/{esm/classes/buffer.js → classes/webgl-buffer.js} +97 -73
- package/dist/classes/webgl-buffer.js.map +1 -0
- package/dist/classes/webgl-resource.d.ts +54 -0
- package/dist/classes/webgl-resource.d.ts.map +1 -0
- package/dist/{esm/classes/resource.js → classes/webgl-resource.js} +31 -52
- package/dist/classes/webgl-resource.js.map +1 -0
- package/dist/classes/webgl-shader.d.ts +51 -0
- package/dist/classes/webgl-shader.d.ts.map +1 -0
- package/dist/classes/webgl-shader.js +190 -0
- package/dist/classes/webgl-shader.js.map +1 -0
- package/dist/context/gl-context.d.ts +15 -0
- package/dist/context/gl-context.d.ts.map +1 -0
- package/dist/context/gl-context.js +32 -0
- package/dist/context/gl-context.js.map +1 -0
- package/dist/context/luma-context-data.d.ts +31 -0
- package/dist/context/luma-context-data.d.ts.map +1 -0
- package/dist/context/luma-context-data.js +5 -0
- package/dist/context/luma-context-data.js.map +1 -0
- package/dist/debug/debug-program-configuration.d.ts +2 -0
- package/dist/debug/debug-program-configuration.d.ts.map +1 -0
- package/dist/debug/debug-program-configuration.js +40 -0
- package/dist/debug/debug-program-configuration.js.map +1 -0
- package/dist/debug/debug-uniforms.d.ts +12 -0
- package/dist/debug/debug-uniforms.d.ts.map +1 -0
- package/dist/debug/debug-uniforms.js +108 -0
- package/dist/debug/debug-uniforms.js.map +1 -0
- package/dist/debug/debug-vertex-array.d.ts +5 -0
- package/dist/debug/debug-vertex-array.d.ts.map +1 -0
- package/dist/debug/debug-vertex-array.js +118 -0
- package/dist/debug/debug-vertex-array.js.map +1 -0
- package/dist/es5/bundle.js +3 -5
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/classes/accessor.js +76 -108
- package/dist/es5/classes/accessor.js.map +1 -1
- package/dist/es5/classes/accessor.ts.disabled +159 -0
- package/dist/es5/classes/clear.js +33 -48
- package/dist/es5/classes/clear.js.map +1 -1
- package/dist/es5/classes/copy-and-blit.js +177 -192
- package/dist/es5/classes/copy-and-blit.js.map +1 -1
- package/dist/es5/classes/framebuffer.js +538 -655
- package/dist/es5/classes/framebuffer.js.map +1 -1
- package/dist/es5/classes/program-configuration.js +127 -141
- package/dist/es5/classes/program-configuration.js.map +1 -1
- package/dist/es5/classes/program.js +294 -358
- package/dist/es5/classes/program.js.map +1 -1
- package/dist/es5/classes/query.js +115 -181
- package/dist/es5/classes/query.js.map +1 -1
- package/dist/es5/classes/renderbuffer-formats.js +186 -121
- package/dist/es5/classes/renderbuffer-formats.js.map +1 -1
- package/dist/es5/classes/renderbuffer.js +104 -128
- package/dist/es5/classes/renderbuffer.js.map +1 -1
- package/dist/es5/classes/texture-2d.js +16 -39
- package/dist/es5/classes/texture-2d.js.map +1 -1
- package/dist/es5/classes/texture-3d.js +50 -89
- package/dist/es5/classes/texture-3d.js.map +1 -1
- package/dist/es5/classes/texture-cube.js +112 -162
- package/dist/es5/classes/texture-cube.js.map +1 -1
- package/dist/es5/classes/texture-formats.js +73 -42
- package/dist/es5/classes/texture-formats.js.map +1 -1
- package/dist/es5/classes/texture.js +670 -673
- package/dist/es5/classes/texture.js.map +1 -1
- package/dist/es5/classes/transform-feedback.js +150 -203
- package/dist/es5/classes/transform-feedback.js.map +1 -1
- package/dist/es5/classes/uniform-buffer-layout.js +89 -103
- package/dist/es5/classes/uniform-buffer-layout.js.map +1 -1
- package/dist/es5/classes/uniforms.js +134 -93
- package/dist/es5/classes/uniforms.js.map +1 -1
- package/dist/es5/classes/vertex-array-object.js +204 -306
- package/dist/es5/classes/vertex-array-object.js.map +1 -1
- package/dist/es5/classes/vertex-array.js +317 -353
- package/dist/es5/classes/vertex-array.js.map +1 -1
- package/dist/es5/classes/webgl-buffer.js +391 -0
- package/dist/es5/classes/webgl-buffer.js.map +1 -0
- package/dist/es5/classes/webgl-resource.js +217 -0
- package/dist/es5/classes/webgl-resource.js.map +1 -0
- package/dist/es5/classes/webgl-shader.js +213 -0
- package/dist/es5/classes/webgl-shader.js.map +1 -0
- package/dist/es5/context/gl-context.js +46 -0
- package/dist/es5/context/gl-context.js.map +1 -0
- package/dist/es5/context/luma-context-data.js +12 -0
- package/dist/es5/context/luma-context-data.js.map +1 -0
- package/dist/es5/debug/debug-program-configuration.js +20 -48
- package/dist/es5/debug/debug-program-configuration.js.map +1 -1
- package/dist/es5/debug/debug-uniforms.js +72 -114
- package/dist/es5/debug/debug-uniforms.js.map +1 -1
- package/dist/es5/debug/debug-vertex-array.js +56 -51
- package/dist/es5/debug/debug-vertex-array.js.map +1 -1
- package/dist/es5/features/check-glsl-extension.js +9 -10
- package/dist/es5/features/check-glsl-extension.js.map +1 -1
- package/dist/es5/features/check-old-ie.js +5 -6
- package/dist/es5/features/check-old-ie.js.map +1 -1
- package/dist/es5/features/features.js +23 -37
- package/dist/es5/features/features.js.map +1 -1
- package/dist/es5/features/index.js +8 -8
- package/dist/es5/features/index.js.map +1 -1
- package/dist/es5/features/limits.js +36 -28
- package/dist/es5/features/limits.js.map +1 -1
- package/dist/es5/features/webgl-features-table.js +35 -15
- package/dist/es5/features/webgl-features-table.js.map +1 -1
- package/dist/es5/features/webgl-limits-table.js +160 -120
- package/dist/es5/features/webgl-limits-table.js.map +1 -1
- package/dist/es5/index.js +144 -90
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/init.js +12 -36
- package/dist/es5/init.js.map +1 -1
- package/dist/es5/types.js +2 -0
- package/dist/es5/types.js.map +1 -0
- package/dist/es5/utils/array-utils-flat.js +13 -14
- package/dist/es5/utils/array-utils-flat.js.map +1 -1
- package/dist/es5/utils/assert.js +1 -1
- package/dist/es5/utils/assert.js.map +1 -1
- package/dist/es5/utils/check-props.js +20 -21
- package/dist/es5/utils/check-props.js.map +1 -1
- package/dist/es5/utils/format-value.js +14 -14
- package/dist/es5/utils/format-value.js.map +1 -1
- package/dist/es5/utils/index.js +68 -0
- package/dist/es5/utils/index.js.map +1 -0
- package/dist/es5/utils/is-old-ie.js +2 -3
- package/dist/es5/utils/is-old-ie.js.map +1 -1
- package/dist/es5/utils/load-file.js +11 -18
- package/dist/es5/utils/load-file.js.map +1 -1
- package/dist/es5/utils/stub-methods.js +4 -4
- package/dist/es5/utils/stub-methods.js.map +1 -1
- package/dist/es5/utils/utils.js +5 -10
- package/dist/es5/utils/utils.js.map +1 -1
- package/dist/es5/webgl-utils/attribute-utils.js +87 -74
- package/dist/es5/webgl-utils/attribute-utils.js.map +1 -1
- package/dist/es5/webgl-utils/constants-to-keys.js +7 -7
- package/dist/es5/webgl-utils/constants-to-keys.js.map +1 -1
- package/dist/es5/webgl-utils/format-utils.js +21 -17
- package/dist/es5/webgl-utils/format-utils.js.map +1 -1
- package/dist/es5/webgl-utils/get-error.js +18 -18
- package/dist/es5/webgl-utils/get-error.js.map +1 -1
- package/dist/es5/webgl-utils/index.js +74 -0
- package/dist/es5/webgl-utils/index.js.map +1 -0
- package/dist/es5/webgl-utils/parse-shader-compiler-log.js +44 -0
- package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +1 -0
- package/dist/es5/webgl-utils/request-animation-frame.js.map +1 -1
- package/dist/es5/webgl-utils/texture-utils.js +35 -29
- package/dist/es5/webgl-utils/texture-utils.js.map +1 -1
- package/dist/es5/webgl-utils/typed-array-utils.js +51 -47
- package/dist/es5/webgl-utils/typed-array-utils.js.map +1 -1
- package/dist/esm/bundle.js +2 -4
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/classes/accessor.js +7 -7
- package/dist/esm/classes/accessor.js.map +1 -1
- package/dist/esm/classes/accessor.ts.disabled +159 -0
- package/dist/esm/classes/clear.js +15 -13
- package/dist/esm/classes/clear.js.map +1 -1
- package/dist/esm/classes/copy-and-blit.js +41 -43
- package/dist/esm/classes/copy-and-blit.js.map +1 -1
- package/dist/esm/classes/framebuffer.js +336 -308
- package/dist/esm/classes/framebuffer.js.map +1 -1
- package/dist/esm/classes/program-configuration.js +17 -9
- package/dist/esm/classes/program-configuration.js.map +1 -1
- package/dist/esm/classes/program.js +69 -44
- package/dist/esm/classes/program.js.map +1 -1
- package/dist/esm/classes/query.js +17 -14
- package/dist/esm/classes/query.js.map +1 -1
- package/dist/esm/classes/renderbuffer-formats.js +72 -49
- package/dist/esm/classes/renderbuffer-formats.js.map +1 -1
- package/dist/esm/classes/renderbuffer.js +84 -72
- package/dist/esm/classes/renderbuffer.js.map +1 -1
- package/dist/esm/classes/texture-2d.js +10 -3
- package/dist/esm/classes/texture-2d.js.map +1 -1
- package/dist/esm/classes/texture-3d.js +14 -11
- package/dist/esm/classes/texture-3d.js.map +1 -1
- package/dist/esm/classes/texture-cube.js +43 -28
- package/dist/esm/classes/texture-cube.js.map +1 -1
- package/dist/esm/classes/texture-formats.js +51 -50
- package/dist/esm/classes/texture-formats.js.map +1 -1
- package/dist/esm/classes/texture.js +164 -49
- package/dist/esm/classes/texture.js.map +1 -1
- package/dist/esm/classes/transform-feedback.js +24 -13
- package/dist/esm/classes/transform-feedback.js.map +1 -1
- package/dist/esm/classes/uniform-buffer-layout.js +1 -1
- package/dist/esm/classes/uniform-buffer-layout.js.map +1 -1
- package/dist/esm/classes/uniforms.js +111 -112
- package/dist/esm/classes/uniforms.js.map +1 -1
- package/dist/esm/classes/vertex-array-object.js +52 -88
- package/dist/esm/classes/vertex-array-object.js.map +1 -1
- package/dist/esm/classes/vertex-array.js +50 -28
- package/dist/esm/classes/vertex-array.js.map +1 -1
- package/dist/esm/classes/webgl-buffer.js +379 -0
- package/dist/esm/classes/webgl-buffer.js.map +1 -0
- package/dist/esm/classes/webgl-resource.js +208 -0
- package/dist/esm/classes/webgl-resource.js.map +1 -0
- package/dist/esm/classes/webgl-shader.js +190 -0
- package/dist/esm/classes/webgl-shader.js.map +1 -0
- package/dist/esm/context/gl-context.js +32 -0
- package/dist/esm/context/gl-context.js.map +1 -0
- package/dist/esm/context/luma-context-data.js +5 -0
- package/dist/esm/context/luma-context-data.js.map +1 -0
- package/dist/esm/debug/debug-program-configuration.js +4 -4
- package/dist/esm/debug/debug-program-configuration.js.map +1 -1
- package/dist/esm/debug/debug-uniforms.js +9 -9
- package/dist/esm/debug/debug-uniforms.js.map +1 -1
- package/dist/esm/debug/debug-vertex-array.js +19 -17
- package/dist/esm/debug/debug-vertex-array.js.map +1 -1
- package/dist/esm/features/check-glsl-extension.js +4 -4
- package/dist/esm/features/check-glsl-extension.js.map +1 -1
- package/dist/esm/features/check-old-ie.js.map +1 -1
- package/dist/esm/features/features.js +14 -13
- package/dist/esm/features/features.js.map +1 -1
- package/dist/esm/features/index.js.map +1 -1
- package/dist/esm/features/limits.js +25 -22
- package/dist/esm/features/limits.js.map +1 -1
- package/dist/esm/features/webgl-features-table.js +6 -6
- package/dist/esm/features/webgl-features-table.js.map +1 -1
- package/dist/esm/features/webgl-limits-table.js +43 -42
- package/dist/esm/features/webgl-limits-table.js.map +1 -1
- package/dist/esm/index.js +13 -15
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/init.js +4 -23
- package/dist/esm/init.js.map +1 -1
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils/array-utils-flat.js.map +1 -1
- package/dist/esm/utils/assert.js +1 -1
- package/dist/esm/utils/assert.js.map +1 -1
- package/dist/esm/utils/check-props.js +4 -4
- package/dist/esm/utils/check-props.js.map +1 -1
- package/dist/esm/utils/format-value.js +4 -4
- package/dist/esm/utils/format-value.js.map +1 -1
- package/dist/esm/utils/index.js +7 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/is-old-ie.js +1 -1
- package/dist/esm/utils/is-old-ie.js.map +1 -1
- package/dist/esm/utils/load-file.js +2 -2
- package/dist/esm/utils/load-file.js.map +1 -1
- package/dist/esm/utils/stub-methods.js +2 -3
- package/dist/esm/utils/stub-methods.js.map +1 -1
- package/dist/esm/utils/utils.js +1 -3
- package/dist/esm/utils/utils.js.map +1 -1
- package/dist/esm/webgl-utils/attribute-utils.js +1 -1
- package/dist/esm/webgl-utils/attribute-utils.js.map +1 -1
- package/dist/esm/webgl-utils/constants-to-keys.js +4 -4
- package/dist/esm/webgl-utils/constants-to-keys.js.map +1 -1
- package/dist/esm/webgl-utils/format-utils.js +16 -15
- package/dist/esm/webgl-utils/format-utils.js.map +1 -1
- package/dist/esm/webgl-utils/get-error.js +1 -1
- package/dist/esm/webgl-utils/get-error.js.map +1 -1
- package/dist/esm/webgl-utils/index.js +5 -0
- package/dist/esm/webgl-utils/index.js.map +1 -0
- package/dist/esm/webgl-utils/parse-shader-compiler-log.js +37 -0
- package/dist/esm/webgl-utils/parse-shader-compiler-log.js.map +1 -0
- package/dist/esm/webgl-utils/request-animation-frame.js.map +1 -1
- package/dist/esm/webgl-utils/texture-utils.js +4 -3
- package/dist/esm/webgl-utils/texture-utils.js.map +1 -1
- package/dist/esm/webgl-utils/typed-array-utils.js +19 -18
- package/dist/esm/webgl-utils/typed-array-utils.js.map +1 -1
- package/dist/features/check-glsl-extension.d.ts +2 -0
- package/dist/features/check-glsl-extension.d.ts.map +1 -0
- package/dist/features/check-glsl-extension.js +27 -0
- package/dist/features/check-glsl-extension.js.map +1 -0
- package/dist/features/check-old-ie.d.ts +2 -0
- package/dist/features/check-old-ie.d.ts.map +1 -0
- package/dist/features/check-old-ie.js +8 -0
- package/dist/features/check-old-ie.js.map +1 -0
- package/dist/features/features.d.ts +6 -0
- package/dist/features/features.d.ts.map +1 -0
- package/dist/features/features.js +67 -0
- package/dist/features/features.js.map +1 -0
- package/dist/features/index.d.ts +5 -0
- package/dist/features/index.d.ts.map +1 -0
- package/dist/features/index.js +5 -0
- package/dist/features/index.js.map +1 -0
- package/dist/features/limits.d.ts +28 -0
- package/dist/features/limits.d.ts.map +1 -0
- package/dist/features/limits.js +55 -0
- package/dist/features/limits.js.map +1 -0
- package/dist/features/webgl-features-table.d.ts +30 -0
- package/dist/features/webgl-features-table.d.ts.map +1 -0
- package/dist/features/webgl-features-table.js +71 -0
- package/dist/features/webgl-features-table.js.map +1 -0
- package/dist/features/webgl-limits-table.d.ts +161 -0
- package/dist/features/webgl-limits-table.d.ts.map +1 -0
- package/dist/features/webgl-limits-table.js +161 -0
- package/dist/features/webgl-limits-table.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -0
- package/dist/init.d.ts +5 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.js +30 -0
- package/dist/init.js.map +1 -0
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/array-utils-flat.d.ts +9 -0
- package/dist/utils/array-utils-flat.d.ts.map +1 -0
- package/dist/utils/array-utils-flat.js +39 -0
- package/dist/utils/array-utils-flat.js.map +1 -0
- package/dist/utils/assert.d.ts +2 -0
- package/dist/utils/assert.d.ts.map +1 -0
- package/dist/utils/assert.js +6 -0
- package/dist/utils/assert.js.map +1 -0
- package/dist/utils/check-props.d.ts +2 -0
- package/dist/utils/check-props.d.ts.map +1 -0
- package/dist/utils/check-props.js +38 -0
- package/dist/utils/check-props.js.map +1 -0
- package/dist/utils/format-value.d.ts +5 -0
- package/dist/utils/format-value.d.ts.map +1 -0
- package/dist/utils/format-value.js +50 -0
- package/dist/utils/format-value.js.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +7 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/is-old-ie.d.ts +4 -0
- package/dist/utils/is-old-ie.d.ts.map +1 -0
- package/dist/utils/is-old-ie.js +5 -0
- package/dist/utils/is-old-ie.js.map +1 -0
- package/dist/utils/load-file.d.ts +4 -0
- package/dist/utils/load-file.d.ts.map +1 -0
- package/dist/utils/load-file.js +30 -0
- package/dist/utils/load-file.js.map +1 -0
- package/dist/utils/stub-methods.d.ts +2 -0
- package/dist/utils/stub-methods.d.ts.map +1 -0
- package/dist/utils/stub-methods.js +16 -0
- package/dist/utils/stub-methods.js.map +1 -0
- package/dist/utils/utils.d.ts +15 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +20 -0
- package/dist/utils/utils.js.map +1 -0
- package/dist/webgl-utils/attribute-utils.d.ts +18 -0
- package/dist/webgl-utils/attribute-utils.d.ts.map +1 -0
- package/dist/webgl-utils/attribute-utils.js +182 -0
- package/dist/webgl-utils/attribute-utils.js.map +1 -0
- package/dist/webgl-utils/constants-to-keys.d.ts +4 -0
- package/dist/webgl-utils/constants-to-keys.d.ts.map +1 -0
- package/dist/webgl-utils/constants-to-keys.js +41 -0
- package/dist/webgl-utils/constants-to-keys.js.map +1 -0
- package/dist/webgl-utils/format-utils.d.ts +3 -0
- package/dist/webgl-utils/format-utils.d.ts.map +1 -0
- package/dist/webgl-utils/format-utils.js +45 -0
- package/dist/webgl-utils/format-utils.js.map +1 -0
- package/dist/webgl-utils/get-error.d.ts +3 -0
- package/dist/webgl-utils/get-error.d.ts.map +1 -0
- package/dist/webgl-utils/get-error.js +41 -0
- package/dist/webgl-utils/get-error.js.map +1 -0
- package/dist/webgl-utils/index.d.ts +5 -0
- package/dist/webgl-utils/index.d.ts.map +1 -0
- package/dist/webgl-utils/index.js +5 -0
- package/dist/webgl-utils/index.js.map +1 -0
- package/dist/webgl-utils/parse-shader-compiler-log.d.ts +8 -0
- package/dist/webgl-utils/parse-shader-compiler-log.d.ts.map +1 -0
- package/dist/webgl-utils/parse-shader-compiler-log.js +37 -0
- package/dist/webgl-utils/parse-shader-compiler-log.js.map +1 -0
- package/dist/webgl-utils/request-animation-frame.d.ts +4 -0
- package/dist/webgl-utils/request-animation-frame.d.ts.map +1 -0
- package/dist/webgl-utils/request-animation-frame.js +7 -0
- package/dist/webgl-utils/request-animation-frame.js.map +1 -0
- package/dist/webgl-utils/texture-utils.d.ts +11 -0
- package/dist/webgl-utils/texture-utils.d.ts.map +1 -0
- package/dist/webgl-utils/texture-utils.js +48 -0
- package/dist/webgl-utils/texture-utils.js.map +1 -0
- package/dist/webgl-utils/typed-array-utils.d.ts +36 -0
- package/dist/webgl-utils/typed-array-utils.d.ts.map +1 -0
- package/dist/webgl-utils/typed-array-utils.js +108 -0
- package/dist/webgl-utils/typed-array-utils.js.map +1 -0
- package/package.json +9 -8
- package/src/bundle.ts +4 -0
- package/src/classes/accessor.js +3 -4
- package/src/classes/accessor.ts.disabled +159 -0
- package/src/classes/{clear.js → clear.ts} +13 -9
- package/src/classes/{copy-and-blit.js → copy-and-blit.ts} +113 -22
- package/src/classes/{framebuffer.js → framebuffer.ts} +355 -298
- package/src/classes/{program-configuration.js → program-configuration.ts} +18 -11
- package/src/classes/{program.js → program.ts} +56 -36
- package/src/classes/{query.js → query.ts} +28 -22
- package/src/classes/{renderbuffer-formats.js → renderbuffer-formats.ts} +42 -14
- package/src/classes/renderbuffer.ts +153 -0
- package/src/classes/{texture-2d.js → texture-2d.ts} +15 -5
- package/src/classes/{texture-3d.js → texture-3d.ts} +35 -10
- package/src/classes/{texture-cube.js → texture-cube.ts} +46 -28
- package/src/classes/{texture-formats.js → texture-formats.ts} +9 -1
- package/src/classes/{texture.js → texture.ts} +204 -37
- package/src/classes/{transform-feedback.js → transform-feedback.ts} +22 -14
- package/src/classes/{uniform-buffer-layout.js → uniform-buffer-layout.ts} +10 -6
- package/src/classes/{uniforms.js → uniforms.ts} +122 -70
- package/src/classes/{vertex-array-object.js → vertex-array-object.ts} +132 -107
- package/src/classes/{vertex-array.js → vertex-array.ts} +74 -54
- package/src/classes/{buffer.js → webgl-buffer.ts} +125 -51
- package/src/classes/{resource.js → webgl-resource.ts} +43 -36
- package/src/classes/webgl-shader.ts +200 -0
- package/src/context/gl-context.ts +31 -0
- package/src/context/luma-context-data.ts +27 -0
- package/src/debug/{debug-program-configuration.js → debug-program-configuration.ts} +0 -0
- package/src/debug/{debug-uniforms.js → debug-uniforms.ts} +18 -8
- package/src/debug/{debug-vertex-array.js → debug-vertex-array.ts} +7 -4
- package/src/features/{check-glsl-extension.js → check-glsl-extension.ts} +1 -1
- package/src/features/{check-old-ie.js → check-old-ie.ts} +0 -0
- package/src/features/{features.js → features.ts} +14 -13
- package/src/features/{index.js → index.ts} +0 -0
- package/src/features/{limits.js → limits.ts} +18 -17
- package/src/features/{webgl-features-table.js → webgl-features-table.ts} +0 -0
- package/src/features/{webgl-limits-table.js → webgl-limits-table.ts} +0 -0
- package/{dist/es5/index.d.ts → src/index.ts} +18 -16
- package/src/{init.js → init.ts} +1 -18
- package/{dist/es5/types.d.ts → src/types.ts} +0 -0
- package/src/utils/{array-utils-flat.js → array-utils-flat.ts} +0 -0
- package/src/utils/{assert.js → assert.ts} +1 -1
- package/src/utils/{check-props.js → check-props.ts} +0 -0
- package/src/utils/{format-value.js → format-value.ts} +2 -2
- package/src/utils/index.ts +6 -0
- package/src/utils/{is-old-ie.js → is-old-ie.ts} +1 -1
- package/src/utils/{load-file.js → load-file.ts} +3 -2
- package/src/utils/{stub-methods.js → stub-methods.ts} +1 -1
- package/src/utils/utils.ts +35 -0
- package/src/webgl-utils/{attribute-utils.js → attribute-utils.ts} +1 -2
- package/src/webgl-utils/{constants-to-keys.js → constants-to-keys.ts} +1 -1
- package/src/webgl-utils/{format-utils.js → format-utils.ts} +1 -1
- package/src/webgl-utils/{get-error.js → get-error.ts} +0 -0
- package/src/webgl-utils/index.ts +12 -0
- package/src/webgl-utils/parse-shader-compiler-log.ts +48 -0
- package/src/webgl-utils/{request-animation-frame.js → request-animation-frame.ts} +3 -2
- package/src/webgl-utils/texture-utils.js +2 -1
- package/dist/dist.js +0 -13555
- package/dist/dist.min.js +0 -1
- package/dist/es5/classes/buffer.d.ts +0 -84
- package/dist/es5/classes/buffer.js +0 -453
- package/dist/es5/classes/buffer.js.map +0 -1
- package/dist/es5/classes/clear.d.ts +0 -11
- package/dist/es5/classes/copy-and-blit.d.ts +0 -101
- package/dist/es5/classes/framebuffer.d.ts +0 -96
- package/dist/es5/classes/program-configuration.d.ts +0 -15
- package/dist/es5/classes/program.d.ts +0 -44
- package/dist/es5/classes/query.d.ts +0 -21
- package/dist/es5/classes/renderbuffer.d.ts +0 -34
- package/dist/es5/classes/resource.d.ts +0 -47
- package/dist/es5/classes/resource.js +0 -308
- package/dist/es5/classes/resource.js.map +0 -1
- package/dist/es5/classes/shader.d.ts +0 -29
- package/dist/es5/classes/shader.js +0 -221
- package/dist/es5/classes/shader.js.map +0 -1
- package/dist/es5/classes/texture-2d.d.ts +0 -11
- package/dist/es5/classes/texture-3d.d.ts +0 -29
- package/dist/es5/classes/texture-cube.d.ts +0 -23
- package/dist/es5/classes/texture.d.ts +0 -80
- package/dist/es5/classes/transform-feedback.d.ts +0 -16
- package/dist/es5/classes/uniform-buffer-layout.d.ts +0 -18
- package/dist/es5/classes/uniforms.d.ts +0 -63
- package/dist/es5/classes/vertex-array-object.d.ts +0 -25
- package/dist/es5/classes/vertex-array.d.ts +0 -37
- package/dist/es5/debug/debug-program-configuration.d.ts +0 -1
- package/dist/es5/debug/debug-uniforms.d.ts +0 -11
- package/dist/es5/debug/debug-vertex-array.d.ts +0 -1
- package/dist/es5/glsl-utils/format-glsl-error.d.ts +0 -16
- package/dist/es5/glsl-utils/format-glsl-error.js +0 -108
- package/dist/es5/glsl-utils/format-glsl-error.js.map +0 -1
- package/dist/es5/glsl-utils/get-shader-name.js +0 -14
- package/dist/es5/glsl-utils/get-shader-name.js.map +0 -1
- package/dist/es5/glsl-utils/get-shader-type-name.js +0 -22
- package/dist/es5/glsl-utils/get-shader-type-name.js.map +0 -1
- package/dist/es5/glsl-utils/get-shader-version.js +0 -22
- package/dist/es5/glsl-utils/get-shader-version.js.map +0 -1
- package/dist/es5/glsl-utils/index.js +0 -48
- package/dist/es5/glsl-utils/index.js.map +0 -1
- package/dist/es5/init.d.ts +0 -12
- package/dist/es5/utils/assert.d.ts +0 -1
- package/dist/es5/utils/is-old-ie.d.ts +0 -1
- package/dist/es5/utils/utils.d.ts +0 -13
- package/dist/es5/webgl-utils/request-animation-frame.d.ts +0 -3
- package/dist/esm/classes/buffer.d.ts +0 -84
- package/dist/esm/classes/buffer.js.map +0 -1
- package/dist/esm/classes/clear.d.ts +0 -11
- package/dist/esm/classes/copy-and-blit.d.ts +0 -101
- package/dist/esm/classes/framebuffer.d.ts +0 -96
- package/dist/esm/classes/program-configuration.d.ts +0 -15
- package/dist/esm/classes/program.d.ts +0 -44
- package/dist/esm/classes/query.d.ts +0 -21
- package/dist/esm/classes/renderbuffer.d.ts +0 -34
- package/dist/esm/classes/resource.d.ts +0 -47
- package/dist/esm/classes/resource.js.map +0 -1
- package/dist/esm/classes/shader.d.ts +0 -29
- package/dist/esm/classes/shader.js +0 -138
- package/dist/esm/classes/shader.js.map +0 -1
- package/dist/esm/classes/texture-2d.d.ts +0 -11
- package/dist/esm/classes/texture-3d.d.ts +0 -29
- package/dist/esm/classes/texture-cube.d.ts +0 -23
- package/dist/esm/classes/texture.d.ts +0 -80
- package/dist/esm/classes/transform-feedback.d.ts +0 -16
- package/dist/esm/classes/uniform-buffer-layout.d.ts +0 -18
- package/dist/esm/classes/uniforms.d.ts +0 -63
- package/dist/esm/classes/vertex-array-object.d.ts +0 -25
- package/dist/esm/classes/vertex-array.d.ts +0 -37
- package/dist/esm/debug/debug-program-configuration.d.ts +0 -1
- package/dist/esm/debug/debug-uniforms.d.ts +0 -11
- package/dist/esm/debug/debug-vertex-array.d.ts +0 -1
- package/dist/esm/glsl-utils/format-glsl-error.d.ts +0 -16
- package/dist/esm/glsl-utils/format-glsl-error.js +0 -93
- package/dist/esm/glsl-utils/format-glsl-error.js.map +0 -1
- package/dist/esm/glsl-utils/get-shader-name.js +0 -6
- package/dist/esm/glsl-utils/get-shader-name.js.map +0 -1
- package/dist/esm/glsl-utils/get-shader-type-name.js +0 -15
- package/dist/esm/glsl-utils/get-shader-type-name.js.map +0 -1
- package/dist/esm/glsl-utils/get-shader-version.js +0 -15
- package/dist/esm/glsl-utils/get-shader-version.js.map +0 -1
- package/dist/esm/glsl-utils/index.js +0 -5
- package/dist/esm/glsl-utils/index.js.map +0 -1
- package/dist/esm/index.d.ts +0 -71
- package/dist/esm/init.d.ts +0 -12
- package/dist/esm/types.d.ts +0 -8
- package/dist/esm/utils/assert.d.ts +0 -1
- package/dist/esm/utils/is-old-ie.d.ts +0 -1
- package/dist/esm/utils/utils.d.ts +0 -13
- package/dist/esm/webgl-utils/request-animation-frame.d.ts +0 -3
- package/src/bundle.js +0 -8
- package/src/classes/buffer.d.ts +0 -84
- package/src/classes/clear.d.ts +0 -11
- package/src/classes/copy-and-blit.d.ts +0 -101
- package/src/classes/framebuffer.d.ts +0 -96
- package/src/classes/program-configuration.d.ts +0 -15
- package/src/classes/program.d.ts +0 -44
- package/src/classes/query.d.ts +0 -21
- package/src/classes/renderbuffer.d.ts +0 -34
- package/src/classes/renderbuffer.js +0 -105
- package/src/classes/resource.d.ts +0 -47
- package/src/classes/shader.d.ts +0 -29
- package/src/classes/shader.js +0 -147
- package/src/classes/texture-2d.d.ts +0 -11
- package/src/classes/texture-3d.d.ts +0 -29
- package/src/classes/texture-cube.d.ts +0 -23
- package/src/classes/texture.d.ts +0 -80
- package/src/classes/transform-feedback.d.ts +0 -16
- package/src/classes/uniform-buffer-layout.d.ts +0 -18
- package/src/classes/uniforms.d.ts +0 -63
- package/src/classes/vertex-array-object.d.ts +0 -25
- package/src/classes/vertex-array.d.ts +0 -37
- package/src/debug/debug-program-configuration.d.ts +0 -1
- package/src/debug/debug-uniforms.d.ts +0 -11
- package/src/debug/debug-vertex-array.d.ts +0 -1
- package/src/glsl-utils/format-glsl-error.d.ts +0 -16
- package/src/glsl-utils/format-glsl-error.js +0 -107
- package/src/glsl-utils/get-shader-name.js +0 -7
- package/src/glsl-utils/get-shader-type-name.js +0 -13
- package/src/glsl-utils/get-shader-version.js +0 -12
- package/src/glsl-utils/index.js +0 -8
- package/src/index.d.ts +0 -71
- package/src/index.js +0 -70
- package/src/init.d.ts +0 -12
- package/src/types.d.ts +0 -8
- package/src/utils/assert.d.ts +0 -1
- package/src/utils/is-old-ie.d.ts +0 -1
- package/src/utils/utils.d.ts +0 -13
- package/src/utils/utils.js +0 -36
- package/src/webgl-utils/request-animation-frame.d.ts +0 -3
|
@@ -1,453 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
-
|
|
16
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
22
|
-
var _resource = _interopRequireDefault(require("./resource"));
|
|
23
|
-
|
|
24
|
-
var _accessor = _interopRequireDefault(require("./accessor"));
|
|
25
|
-
|
|
26
|
-
var _typedArrayUtils = require("../webgl-utils/typed-array-utils");
|
|
27
|
-
|
|
28
|
-
var _gltools = require("@luma.gl/gltools");
|
|
29
|
-
|
|
30
|
-
var _assert = require("../utils/assert");
|
|
31
|
-
|
|
32
|
-
var _checkProps = require("../utils/check-props");
|
|
33
|
-
|
|
34
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
35
|
-
|
|
36
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
|
|
37
|
-
|
|
38
|
-
var DEBUG_DATA_LENGTH = 10;
|
|
39
|
-
var DEPRECATED_PROPS = {
|
|
40
|
-
offset: 'accessor.offset',
|
|
41
|
-
stride: 'accessor.stride',
|
|
42
|
-
type: 'accessor.type',
|
|
43
|
-
size: 'accessor.size',
|
|
44
|
-
divisor: 'accessor.divisor',
|
|
45
|
-
normalized: 'accessor.normalized',
|
|
46
|
-
integer: 'accessor.integer',
|
|
47
|
-
instanced: 'accessor.divisor',
|
|
48
|
-
isInstanced: 'accessor.divisor'
|
|
49
|
-
};
|
|
50
|
-
var PROP_CHECKS_INITIALIZE = {
|
|
51
|
-
removedProps: {},
|
|
52
|
-
replacedProps: {
|
|
53
|
-
bytes: 'byteLength'
|
|
54
|
-
},
|
|
55
|
-
deprecatedProps: DEPRECATED_PROPS
|
|
56
|
-
};
|
|
57
|
-
var PROP_CHECKS_SET_PROPS = {
|
|
58
|
-
removedProps: DEPRECATED_PROPS
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
var Buffer = function (_Resource) {
|
|
62
|
-
(0, _inherits2.default)(Buffer, _Resource);
|
|
63
|
-
|
|
64
|
-
var _super = _createSuper(Buffer);
|
|
65
|
-
|
|
66
|
-
function Buffer(gl) {
|
|
67
|
-
var _this;
|
|
68
|
-
|
|
69
|
-
var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
70
|
-
(0, _classCallCheck2.default)(this, Buffer);
|
|
71
|
-
_this = _super.call(this, gl, props);
|
|
72
|
-
|
|
73
|
-
_this.stubRemovedMethods('Buffer', 'v6.0', ['layout', 'setLayout', 'getIndexedParameter']);
|
|
74
|
-
|
|
75
|
-
_this.target = props.target || (_this.gl.webgl2 ? 36662 : 34962);
|
|
76
|
-
|
|
77
|
-
_this.initialize(props);
|
|
78
|
-
|
|
79
|
-
Object.seal((0, _assertThisInitialized2.default)(_this));
|
|
80
|
-
return _this;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
(0, _createClass2.default)(Buffer, [{
|
|
84
|
-
key: "getElementCount",
|
|
85
|
-
value: function getElementCount() {
|
|
86
|
-
var accessor = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.accessor;
|
|
87
|
-
return Math.round(this.byteLength / _accessor.default.getBytesPerElement(accessor));
|
|
88
|
-
}
|
|
89
|
-
}, {
|
|
90
|
-
key: "getVertexCount",
|
|
91
|
-
value: function getVertexCount() {
|
|
92
|
-
var accessor = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.accessor;
|
|
93
|
-
return Math.round(this.byteLength / _accessor.default.getBytesPerVertex(accessor));
|
|
94
|
-
}
|
|
95
|
-
}, {
|
|
96
|
-
key: "initialize",
|
|
97
|
-
value: function initialize() {
|
|
98
|
-
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
99
|
-
|
|
100
|
-
if (ArrayBuffer.isView(props)) {
|
|
101
|
-
props = {
|
|
102
|
-
data: props
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
if (Number.isFinite(props)) {
|
|
107
|
-
props = {
|
|
108
|
-
byteLength: props
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
props = (0, _checkProps.checkProps)('Buffer', props, PROP_CHECKS_INITIALIZE);
|
|
113
|
-
this.usage = props.usage || 35044;
|
|
114
|
-
this.debugData = null;
|
|
115
|
-
this.setAccessor(Object.assign({}, props, props.accessor));
|
|
116
|
-
|
|
117
|
-
if (props.data) {
|
|
118
|
-
this._setData(props.data, props.offset, props.byteLength);
|
|
119
|
-
} else {
|
|
120
|
-
this._setByteLength(props.byteLength || 0);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
return this;
|
|
124
|
-
}
|
|
125
|
-
}, {
|
|
126
|
-
key: "setProps",
|
|
127
|
-
value: function setProps(props) {
|
|
128
|
-
props = (0, _checkProps.checkProps)('Buffer', props, PROP_CHECKS_SET_PROPS);
|
|
129
|
-
|
|
130
|
-
if ('accessor' in props) {
|
|
131
|
-
this.setAccessor(props.accessor);
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
return this;
|
|
135
|
-
}
|
|
136
|
-
}, {
|
|
137
|
-
key: "setAccessor",
|
|
138
|
-
value: function setAccessor(accessor) {
|
|
139
|
-
accessor = Object.assign({}, accessor);
|
|
140
|
-
delete accessor.buffer;
|
|
141
|
-
this.accessor = new _accessor.default(accessor);
|
|
142
|
-
return this;
|
|
143
|
-
}
|
|
144
|
-
}, {
|
|
145
|
-
key: "reallocate",
|
|
146
|
-
value: function reallocate(byteLength) {
|
|
147
|
-
if (byteLength > this.byteLength) {
|
|
148
|
-
this._setByteLength(byteLength);
|
|
149
|
-
|
|
150
|
-
return true;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
this.bytesUsed = byteLength;
|
|
154
|
-
return false;
|
|
155
|
-
}
|
|
156
|
-
}, {
|
|
157
|
-
key: "setData",
|
|
158
|
-
value: function setData(props) {
|
|
159
|
-
return this.initialize(props);
|
|
160
|
-
}
|
|
161
|
-
}, {
|
|
162
|
-
key: "subData",
|
|
163
|
-
value: function subData(props) {
|
|
164
|
-
if (ArrayBuffer.isView(props)) {
|
|
165
|
-
props = {
|
|
166
|
-
data: props
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
var _props = props,
|
|
171
|
-
data = _props.data,
|
|
172
|
-
_props$offset = _props.offset,
|
|
173
|
-
offset = _props$offset === void 0 ? 0 : _props$offset,
|
|
174
|
-
_props$srcOffset = _props.srcOffset,
|
|
175
|
-
srcOffset = _props$srcOffset === void 0 ? 0 : _props$srcOffset;
|
|
176
|
-
var byteLength = props.byteLength || props.length;
|
|
177
|
-
(0, _assert.assert)(data);
|
|
178
|
-
var target = this.gl.webgl2 ? 36663 : this.target;
|
|
179
|
-
this.gl.bindBuffer(target, this.handle);
|
|
180
|
-
|
|
181
|
-
if (srcOffset !== 0 || byteLength !== undefined) {
|
|
182
|
-
(0, _gltools.assertWebGL2Context)(this.gl);
|
|
183
|
-
this.gl.bufferSubData(this.target, offset, data, srcOffset, byteLength);
|
|
184
|
-
} else {
|
|
185
|
-
this.gl.bufferSubData(target, offset, data);
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
this.gl.bindBuffer(target, null);
|
|
189
|
-
this.debugData = null;
|
|
190
|
-
|
|
191
|
-
this._inferType(data);
|
|
192
|
-
|
|
193
|
-
return this;
|
|
194
|
-
}
|
|
195
|
-
}, {
|
|
196
|
-
key: "copyData",
|
|
197
|
-
value: function copyData(_ref) {
|
|
198
|
-
var sourceBuffer = _ref.sourceBuffer,
|
|
199
|
-
_ref$readOffset = _ref.readOffset,
|
|
200
|
-
readOffset = _ref$readOffset === void 0 ? 0 : _ref$readOffset,
|
|
201
|
-
_ref$writeOffset = _ref.writeOffset,
|
|
202
|
-
writeOffset = _ref$writeOffset === void 0 ? 0 : _ref$writeOffset,
|
|
203
|
-
size = _ref.size;
|
|
204
|
-
var gl = this.gl;
|
|
205
|
-
(0, _gltools.assertWebGL2Context)(gl);
|
|
206
|
-
gl.bindBuffer(36662, sourceBuffer.handle);
|
|
207
|
-
gl.bindBuffer(36663, this.handle);
|
|
208
|
-
gl.copyBufferSubData(36662, 36663, readOffset, writeOffset, size);
|
|
209
|
-
gl.bindBuffer(36662, null);
|
|
210
|
-
gl.bindBuffer(36663, null);
|
|
211
|
-
this.debugData = null;
|
|
212
|
-
return this;
|
|
213
|
-
}
|
|
214
|
-
}, {
|
|
215
|
-
key: "getData",
|
|
216
|
-
value: function getData() {
|
|
217
|
-
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
218
|
-
_ref2$dstData = _ref2.dstData,
|
|
219
|
-
dstData = _ref2$dstData === void 0 ? null : _ref2$dstData,
|
|
220
|
-
_ref2$srcByteOffset = _ref2.srcByteOffset,
|
|
221
|
-
srcByteOffset = _ref2$srcByteOffset === void 0 ? 0 : _ref2$srcByteOffset,
|
|
222
|
-
_ref2$dstOffset = _ref2.dstOffset,
|
|
223
|
-
dstOffset = _ref2$dstOffset === void 0 ? 0 : _ref2$dstOffset,
|
|
224
|
-
_ref2$length = _ref2.length,
|
|
225
|
-
length = _ref2$length === void 0 ? 0 : _ref2$length;
|
|
226
|
-
|
|
227
|
-
(0, _gltools.assertWebGL2Context)(this.gl);
|
|
228
|
-
var ArrayType = (0, _typedArrayUtils.getTypedArrayFromGLType)(this.accessor.type || 5126, {
|
|
229
|
-
clamped: false
|
|
230
|
-
});
|
|
231
|
-
|
|
232
|
-
var sourceAvailableElementCount = this._getAvailableElementCount(srcByteOffset);
|
|
233
|
-
|
|
234
|
-
var dstElementOffset = dstOffset;
|
|
235
|
-
var dstAvailableElementCount;
|
|
236
|
-
var dstElementCount;
|
|
237
|
-
|
|
238
|
-
if (dstData) {
|
|
239
|
-
dstElementCount = dstData.length;
|
|
240
|
-
dstAvailableElementCount = dstElementCount - dstElementOffset;
|
|
241
|
-
} else {
|
|
242
|
-
dstAvailableElementCount = Math.min(sourceAvailableElementCount, length || sourceAvailableElementCount);
|
|
243
|
-
dstElementCount = dstElementOffset + dstAvailableElementCount;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
var copyElementCount = Math.min(sourceAvailableElementCount, dstAvailableElementCount);
|
|
247
|
-
length = length || copyElementCount;
|
|
248
|
-
(0, _assert.assert)(length <= copyElementCount);
|
|
249
|
-
dstData = dstData || new ArrayType(dstElementCount);
|
|
250
|
-
this.gl.bindBuffer(36662, this.handle);
|
|
251
|
-
this.gl.getBufferSubData(36662, srcByteOffset, dstData, dstOffset, length);
|
|
252
|
-
this.gl.bindBuffer(36662, null);
|
|
253
|
-
return dstData;
|
|
254
|
-
}
|
|
255
|
-
}, {
|
|
256
|
-
key: "bind",
|
|
257
|
-
value: function bind() {
|
|
258
|
-
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
259
|
-
_ref3$target = _ref3.target,
|
|
260
|
-
target = _ref3$target === void 0 ? this.target : _ref3$target,
|
|
261
|
-
_ref3$index = _ref3.index,
|
|
262
|
-
index = _ref3$index === void 0 ? this.accessor && this.accessor.index : _ref3$index,
|
|
263
|
-
_ref3$offset = _ref3.offset,
|
|
264
|
-
offset = _ref3$offset === void 0 ? 0 : _ref3$offset,
|
|
265
|
-
size = _ref3.size;
|
|
266
|
-
|
|
267
|
-
if (target === 35345 || target === 35982) {
|
|
268
|
-
if (size !== undefined) {
|
|
269
|
-
this.gl.bindBufferRange(target, index, this.handle, offset, size);
|
|
270
|
-
} else {
|
|
271
|
-
(0, _assert.assert)(offset === 0);
|
|
272
|
-
this.gl.bindBufferBase(target, index, this.handle);
|
|
273
|
-
}
|
|
274
|
-
} else {
|
|
275
|
-
this.gl.bindBuffer(target, this.handle);
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
return this;
|
|
279
|
-
}
|
|
280
|
-
}, {
|
|
281
|
-
key: "unbind",
|
|
282
|
-
value: function unbind() {
|
|
283
|
-
var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
284
|
-
_ref4$target = _ref4.target,
|
|
285
|
-
target = _ref4$target === void 0 ? this.target : _ref4$target,
|
|
286
|
-
_ref4$index = _ref4.index,
|
|
287
|
-
index = _ref4$index === void 0 ? this.accessor && this.accessor.index : _ref4$index;
|
|
288
|
-
|
|
289
|
-
var isIndexedBuffer = target === 35345 || target === 35982;
|
|
290
|
-
|
|
291
|
-
if (isIndexedBuffer) {
|
|
292
|
-
this.gl.bindBufferBase(target, index, null);
|
|
293
|
-
} else {
|
|
294
|
-
this.gl.bindBuffer(target, null);
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
return this;
|
|
298
|
-
}
|
|
299
|
-
}, {
|
|
300
|
-
key: "getDebugData",
|
|
301
|
-
value: function getDebugData() {
|
|
302
|
-
if (!this.debugData) {
|
|
303
|
-
this.debugData = this.getData({
|
|
304
|
-
length: Math.min(DEBUG_DATA_LENGTH, this.byteLength)
|
|
305
|
-
});
|
|
306
|
-
return {
|
|
307
|
-
data: this.debugData,
|
|
308
|
-
changed: true
|
|
309
|
-
};
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
return {
|
|
313
|
-
data: this.debugData,
|
|
314
|
-
changed: false
|
|
315
|
-
};
|
|
316
|
-
}
|
|
317
|
-
}, {
|
|
318
|
-
key: "invalidateDebugData",
|
|
319
|
-
value: function invalidateDebugData() {
|
|
320
|
-
this.debugData = null;
|
|
321
|
-
}
|
|
322
|
-
}, {
|
|
323
|
-
key: "_setData",
|
|
324
|
-
value: function _setData(data) {
|
|
325
|
-
var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
326
|
-
var byteLength = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : data.byteLength + offset;
|
|
327
|
-
(0, _assert.assert)(ArrayBuffer.isView(data));
|
|
328
|
-
|
|
329
|
-
this._trackDeallocatedMemory();
|
|
330
|
-
|
|
331
|
-
var target = this._getTarget();
|
|
332
|
-
|
|
333
|
-
this.gl.bindBuffer(target, this.handle);
|
|
334
|
-
this.gl.bufferData(target, byteLength, this.usage);
|
|
335
|
-
this.gl.bufferSubData(target, offset, data);
|
|
336
|
-
this.gl.bindBuffer(target, null);
|
|
337
|
-
this.debugData = data.slice(0, DEBUG_DATA_LENGTH);
|
|
338
|
-
this.bytesUsed = byteLength;
|
|
339
|
-
|
|
340
|
-
this._trackAllocatedMemory(byteLength);
|
|
341
|
-
|
|
342
|
-
var type = (0, _typedArrayUtils.getGLTypeFromTypedArray)(data);
|
|
343
|
-
(0, _assert.assert)(type);
|
|
344
|
-
this.setAccessor(new _accessor.default(this.accessor, {
|
|
345
|
-
type: type
|
|
346
|
-
}));
|
|
347
|
-
return this;
|
|
348
|
-
}
|
|
349
|
-
}, {
|
|
350
|
-
key: "_setByteLength",
|
|
351
|
-
value: function _setByteLength(byteLength) {
|
|
352
|
-
var usage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.usage;
|
|
353
|
-
(0, _assert.assert)(byteLength >= 0);
|
|
354
|
-
|
|
355
|
-
this._trackDeallocatedMemory();
|
|
356
|
-
|
|
357
|
-
var data = byteLength;
|
|
358
|
-
|
|
359
|
-
if (byteLength === 0) {
|
|
360
|
-
data = new Float32Array(0);
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
var target = this._getTarget();
|
|
364
|
-
|
|
365
|
-
this.gl.bindBuffer(target, this.handle);
|
|
366
|
-
this.gl.bufferData(target, data, usage);
|
|
367
|
-
this.gl.bindBuffer(target, null);
|
|
368
|
-
this.usage = usage;
|
|
369
|
-
this.debugData = null;
|
|
370
|
-
this.bytesUsed = byteLength;
|
|
371
|
-
|
|
372
|
-
this._trackAllocatedMemory(byteLength);
|
|
373
|
-
|
|
374
|
-
return this;
|
|
375
|
-
}
|
|
376
|
-
}, {
|
|
377
|
-
key: "_getTarget",
|
|
378
|
-
value: function _getTarget() {
|
|
379
|
-
return this.gl.webgl2 ? 36663 : this.target;
|
|
380
|
-
}
|
|
381
|
-
}, {
|
|
382
|
-
key: "_getAvailableElementCount",
|
|
383
|
-
value: function _getAvailableElementCount(srcByteOffset) {
|
|
384
|
-
var ArrayType = (0, _typedArrayUtils.getTypedArrayFromGLType)(this.accessor.type || 5126, {
|
|
385
|
-
clamped: false
|
|
386
|
-
});
|
|
387
|
-
var sourceElementOffset = srcByteOffset / ArrayType.BYTES_PER_ELEMENT;
|
|
388
|
-
return this.getElementCount() - sourceElementOffset;
|
|
389
|
-
}
|
|
390
|
-
}, {
|
|
391
|
-
key: "_inferType",
|
|
392
|
-
value: function _inferType(data) {
|
|
393
|
-
if (!this.accessor.type) {
|
|
394
|
-
this.setAccessor(new _accessor.default(this.accessor, {
|
|
395
|
-
type: (0, _typedArrayUtils.getGLTypeFromTypedArray)(data)
|
|
396
|
-
}));
|
|
397
|
-
}
|
|
398
|
-
}
|
|
399
|
-
}, {
|
|
400
|
-
key: "_createHandle",
|
|
401
|
-
value: function _createHandle() {
|
|
402
|
-
return this.gl.createBuffer();
|
|
403
|
-
}
|
|
404
|
-
}, {
|
|
405
|
-
key: "_deleteHandle",
|
|
406
|
-
value: function _deleteHandle() {
|
|
407
|
-
this.gl.deleteBuffer(this.handle);
|
|
408
|
-
|
|
409
|
-
this._trackDeallocatedMemory();
|
|
410
|
-
}
|
|
411
|
-
}, {
|
|
412
|
-
key: "_getParameter",
|
|
413
|
-
value: function _getParameter(pname) {
|
|
414
|
-
this.gl.bindBuffer(this.target, this.handle);
|
|
415
|
-
var value = this.gl.getBufferParameter(this.target, pname);
|
|
416
|
-
this.gl.bindBuffer(this.target, null);
|
|
417
|
-
return value;
|
|
418
|
-
}
|
|
419
|
-
}, {
|
|
420
|
-
key: "setByteLength",
|
|
421
|
-
value: function setByteLength(byteLength) {
|
|
422
|
-
_gltools.log.deprecated('setByteLength', 'reallocate')();
|
|
423
|
-
|
|
424
|
-
return this.reallocate(byteLength);
|
|
425
|
-
}
|
|
426
|
-
}, {
|
|
427
|
-
key: "updateAccessor",
|
|
428
|
-
value: function updateAccessor(opts) {
|
|
429
|
-
_gltools.log.deprecated('updateAccessor(...)', 'setAccessor(new Accessor(buffer.accessor, ...)')();
|
|
430
|
-
|
|
431
|
-
this.accessor = new _accessor.default(this.accessor, opts);
|
|
432
|
-
return this;
|
|
433
|
-
}
|
|
434
|
-
}, {
|
|
435
|
-
key: "type",
|
|
436
|
-
get: function get() {
|
|
437
|
-
_gltools.log.deprecated('Buffer.type', 'Buffer.accessor.type')();
|
|
438
|
-
|
|
439
|
-
return this.accessor.type;
|
|
440
|
-
}
|
|
441
|
-
}, {
|
|
442
|
-
key: "bytes",
|
|
443
|
-
get: function get() {
|
|
444
|
-
_gltools.log.deprecated('Buffer.bytes', 'Buffer.byteLength')();
|
|
445
|
-
|
|
446
|
-
return this.byteLength;
|
|
447
|
-
}
|
|
448
|
-
}]);
|
|
449
|
-
return Buffer;
|
|
450
|
-
}(_resource.default);
|
|
451
|
-
|
|
452
|
-
exports.default = Buffer;
|
|
453
|
-
//# sourceMappingURL=buffer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/classes/buffer.js"],"names":["DEBUG_DATA_LENGTH","DEPRECATED_PROPS","offset","stride","type","size","divisor","normalized","integer","instanced","isInstanced","PROP_CHECKS_INITIALIZE","removedProps","replacedProps","bytes","deprecatedProps","PROP_CHECKS_SET_PROPS","Buffer","gl","props","stubRemovedMethods","target","webgl2","initialize","Object","seal","accessor","Math","round","byteLength","Accessor","getBytesPerElement","getBytesPerVertex","ArrayBuffer","isView","data","Number","isFinite","usage","debugData","setAccessor","assign","_setData","_setByteLength","buffer","bytesUsed","srcOffset","length","bindBuffer","handle","undefined","bufferSubData","_inferType","sourceBuffer","readOffset","writeOffset","copyBufferSubData","dstData","srcByteOffset","dstOffset","ArrayType","clamped","sourceAvailableElementCount","_getAvailableElementCount","dstElementOffset","dstAvailableElementCount","dstElementCount","min","copyElementCount","getBufferSubData","index","bindBufferRange","bindBufferBase","isIndexedBuffer","getData","changed","_trackDeallocatedMemory","_getTarget","bufferData","slice","_trackAllocatedMemory","Float32Array","sourceElementOffset","BYTES_PER_ELEMENT","getElementCount","createBuffer","deleteBuffer","pname","value","getBufferParameter","log","deprecated","reallocate","opts","Resource"],"mappings":"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","sourcesContent":["import GL from '@luma.gl/constants';\nimport Resource from './resource';\nimport Accessor from './accessor';\nimport {getGLTypeFromTypedArray, getTypedArrayFromGLType} from '../webgl-utils/typed-array-utils';\nimport {assertWebGL2Context, log} from '@luma.gl/gltools';\nimport {assert} from '../utils/assert';\nimport {checkProps} from '../utils/check-props';\n\nconst DEBUG_DATA_LENGTH = 10;\n\n// Shared prop checks for constructor and setProps\nconst DEPRECATED_PROPS = {\n offset: 'accessor.offset',\n stride: 'accessor.stride',\n type: 'accessor.type',\n size: 'accessor.size',\n divisor: 'accessor.divisor',\n normalized: 'accessor.normalized',\n integer: 'accessor.integer',\n instanced: 'accessor.divisor',\n isInstanced: 'accessor.divisor'\n};\n\n// Prop checks for constructor\nconst PROP_CHECKS_INITIALIZE = {\n removedProps: {},\n replacedProps: {\n bytes: 'byteLength'\n },\n // new Buffer() with individual accessor props is still used in apps, emit warnings\n deprecatedProps: DEPRECATED_PROPS\n};\n\n// Prop checks for setProps\nconst PROP_CHECKS_SET_PROPS = {\n // Buffer.setProps() with individual accessor props is rare => emit errors\n removedProps: DEPRECATED_PROPS\n};\n\nexport default class Buffer extends Resource {\n constructor(gl, props = {}) {\n super(gl, props);\n\n this.stubRemovedMethods('Buffer', 'v6.0', ['layout', 'setLayout', 'getIndexedParameter']);\n // this.stubRemovedMethods('Buffer', 'v7.0', ['updateAccessor']);\n\n // In WebGL1, need to make sure we use GL.ELEMENT_ARRAY_BUFFER when initializing element buffers\n // otherwise buffer type will lock to generic (non-element) buffer\n // In WebGL2, we can use GL.COPY_READ_BUFFER which avoids locking the type here\n this.target = props.target || (this.gl.webgl2 ? GL.COPY_READ_BUFFER : GL.ARRAY_BUFFER);\n\n this.initialize(props);\n\n Object.seal(this);\n }\n\n // returns number of elements in the buffer (assuming that the full buffer is used)\n getElementCount(accessor = this.accessor) {\n return Math.round(this.byteLength / Accessor.getBytesPerElement(accessor));\n }\n\n // returns number of vertices in the buffer (assuming that the full buffer is used)\n getVertexCount(accessor = this.accessor) {\n return Math.round(this.byteLength / Accessor.getBytesPerVertex(accessor));\n }\n\n // Creates and initializes the buffer object's data store.\n // Signature: `new Buffer(gl, {data: new Float32Array(...)})`\n // Signature: `new Buffer(gl, new Float32Array(...))`\n // Signature: `new Buffer(gl, 100)`\n initialize(props = {}) {\n // Signature `new Buffer(gl, new Float32Array(...)`\n if (ArrayBuffer.isView(props)) {\n props = {data: props};\n }\n\n // Signature: `new Buffer(gl, 100)`\n if (Number.isFinite(props)) {\n props = {byteLength: props};\n }\n\n props = checkProps('Buffer', props, PROP_CHECKS_INITIALIZE);\n\n // Initialize member fields\n this.usage = props.usage || GL.STATIC_DRAW;\n this.debugData = null;\n\n // Deprecated: Merge main props and accessor\n this.setAccessor(Object.assign({}, props, props.accessor));\n\n // Set data: (re)initializes the buffer\n if (props.data) {\n this._setData(props.data, props.offset, props.byteLength);\n } else {\n this._setByteLength(props.byteLength || 0);\n }\n\n return this;\n }\n\n setProps(props) {\n props = checkProps('Buffer', props, PROP_CHECKS_SET_PROPS);\n\n if ('accessor' in props) {\n this.setAccessor(props.accessor);\n }\n\n return this;\n }\n\n // Optionally stores an accessor with the buffer, makes it easier to use it as an attribute later\n // {type, size = 1, offset = 0, stride = 0, normalized = false, integer = false, divisor = 0}\n setAccessor(accessor) {\n // NOTE: From luma.gl v7.0, Accessors have an optional `buffer `field\n // (mainly to support \"interleaving\")\n // To avoid confusion, ensure `buffer.accessor` does not have a `buffer.accessor.buffer` field:\n accessor = Object.assign({}, accessor);\n delete accessor.buffer;\n\n // This new statement ensures that an \"accessor object\" is re-packaged as an Accessor instance\n this.accessor = new Accessor(accessor);\n return this;\n }\n\n // Allocate a bigger GPU buffer (if the current buffer is not big enough).\n // If a reallocation is triggered it clears the buffer\n // Returns:\n // `true`: buffer was reallocated, data was cleared\n // `false`: buffer was big enough, data is intact\n reallocate(byteLength) {\n if (byteLength > this.byteLength) {\n this._setByteLength(byteLength);\n return true;\n }\n this.bytesUsed = byteLength;\n return false;\n }\n\n // Update with new data. Reinitializes the buffer\n setData(props) {\n return this.initialize(props);\n }\n\n // Updates a subset of a buffer object's data store.\n // Data (Typed Array or ArrayBuffer), length is inferred unless provided\n // Offset into buffer\n // WebGL2 only: Offset into srcData\n // WebGL2 only: Number of bytes to be copied\n subData(props) {\n // Signature: buffer.subData(new Float32Array([...]))\n if (ArrayBuffer.isView(props)) {\n props = {data: props};\n }\n\n const {data, offset = 0, srcOffset = 0} = props;\n const byteLength = props.byteLength || props.length;\n\n assert(data);\n\n // Create the buffer - binding it here for the first time locks the type\n // In WebGL2, use GL.COPY_WRITE_BUFFER to avoid locking the type\n const target = this.gl.webgl2 ? GL.COPY_WRITE_BUFFER : this.target;\n this.gl.bindBuffer(target, this.handle);\n // WebGL2: subData supports additional srcOffset and length parameters\n if (srcOffset !== 0 || byteLength !== undefined) {\n assertWebGL2Context(this.gl);\n this.gl.bufferSubData(this.target, offset, data, srcOffset, byteLength);\n } else {\n this.gl.bufferSubData(target, offset, data);\n }\n this.gl.bindBuffer(target, null);\n\n // TODO - update local `data` if offsets are right\n this.debugData = null;\n\n this._inferType(data);\n\n return this;\n }\n\n // WEBGL2 ONLY: Copies part of the data of another buffer into this buffer\n copyData({sourceBuffer, readOffset = 0, writeOffset = 0, size}) {\n const {gl} = this;\n assertWebGL2Context(gl);\n\n // Use GL.COPY_READ_BUFFER+GL.COPY_WRITE_BUFFER avoid disturbing other targets and locking type\n gl.bindBuffer(GL.COPY_READ_BUFFER, sourceBuffer.handle);\n gl.bindBuffer(GL.COPY_WRITE_BUFFER, this.handle);\n gl.copyBufferSubData(GL.COPY_READ_BUFFER, GL.COPY_WRITE_BUFFER, readOffset, writeOffset, size);\n gl.bindBuffer(GL.COPY_READ_BUFFER, null);\n gl.bindBuffer(GL.COPY_WRITE_BUFFER, null);\n\n // TODO - update local `data` if offsets are 0\n this.debugData = null;\n\n return this;\n }\n\n // WEBGL2 ONLY: Reads data from buffer into an ArrayBufferView or SharedArrayBuffer.\n getData({dstData = null, srcByteOffset = 0, dstOffset = 0, length = 0} = {}) {\n assertWebGL2Context(this.gl);\n\n const ArrayType = getTypedArrayFromGLType(this.accessor.type || GL.FLOAT, {clamped: false});\n const sourceAvailableElementCount = this._getAvailableElementCount(srcByteOffset);\n\n const dstElementOffset = dstOffset;\n\n let dstAvailableElementCount;\n let dstElementCount;\n if (dstData) {\n dstElementCount = dstData.length;\n dstAvailableElementCount = dstElementCount - dstElementOffset;\n } else {\n // Allocate ArrayBufferView with enough size to copy all eligible data.\n dstAvailableElementCount = Math.min(\n sourceAvailableElementCount,\n length || sourceAvailableElementCount\n );\n dstElementCount = dstElementOffset + dstAvailableElementCount;\n }\n\n const copyElementCount = Math.min(sourceAvailableElementCount, dstAvailableElementCount);\n length = length || copyElementCount;\n assert(length <= copyElementCount);\n dstData = dstData || new ArrayType(dstElementCount);\n\n // Use GL.COPY_READ_BUFFER to avoid disturbing other targets and locking type\n this.gl.bindBuffer(GL.COPY_READ_BUFFER, this.handle);\n this.gl.getBufferSubData(GL.COPY_READ_BUFFER, srcByteOffset, dstData, dstOffset, length);\n this.gl.bindBuffer(GL.COPY_READ_BUFFER, null);\n\n // TODO - update local `data` if offsets are 0\n return dstData;\n }\n\n /**\n * Binds a buffer to a given binding point (target).\n * GL.TRANSFORM_FEEDBACK_BUFFER and GL.UNIFORM_BUFFER take an index, and optionally a range.\n * - GL.TRANSFORM_FEEDBACK_BUFFER and GL.UNIFORM_BUFFER need an index to affect state\n * - GL.UNIFORM_BUFFER: `offset` must be aligned to GL.UNIFORM_BUFFER_OFFSET_ALIGNMENT.\n * - GL.UNIFORM_BUFFER: `size` must be a minimum of GL.UNIFORM_BLOCK_SIZE_DATA.\n */\n bind({\n target = this.target, // target for the bind operation\n index = this.accessor && this.accessor.index, // index = index of target (indexed bind point)\n offset = 0,\n size\n } = {}) {\n // NOTE: While GL.TRANSFORM_FEEDBACK_BUFFER and GL.UNIFORM_BUFFER could\n // be used as direct binding points, they will not affect transform feedback or\n // uniform buffer state. Instead indexed bindings need to be made.\n if (target === GL.UNIFORM_BUFFER || target === GL.TRANSFORM_FEEDBACK_BUFFER) {\n if (size !== undefined) {\n this.gl.bindBufferRange(target, index, this.handle, offset, size);\n } else {\n assert(offset === 0); // Make sure offset wasn't supplied\n this.gl.bindBufferBase(target, index, this.handle);\n }\n } else {\n this.gl.bindBuffer(target, this.handle);\n }\n\n return this;\n }\n\n unbind({target = this.target, index = this.accessor && this.accessor.index} = {}) {\n const isIndexedBuffer = target === GL.UNIFORM_BUFFER || target === GL.TRANSFORM_FEEDBACK_BUFFER;\n if (isIndexedBuffer) {\n this.gl.bindBufferBase(target, index, null);\n } else {\n this.gl.bindBuffer(target, null);\n }\n return this;\n }\n\n // PROTECTED METHODS (INTENDED FOR USE BY OTHER FRAMEWORK CODE ONLY)\n\n // Returns a short initial data array\n getDebugData() {\n if (!this.debugData) {\n this.debugData = this.getData({length: Math.min(DEBUG_DATA_LENGTH, this.byteLength)});\n return {data: this.debugData, changed: true};\n }\n return {data: this.debugData, changed: false};\n }\n\n invalidateDebugData() {\n this.debugData = null;\n }\n\n // PRIVATE METHODS\n\n // Allocate a new buffer and initialize to contents of typed array\n _setData(data, offset = 0, byteLength = data.byteLength + offset) {\n assert(ArrayBuffer.isView(data));\n\n this._trackDeallocatedMemory();\n\n const target = this._getTarget();\n this.gl.bindBuffer(target, this.handle);\n this.gl.bufferData(target, byteLength, this.usage);\n this.gl.bufferSubData(target, offset, data);\n this.gl.bindBuffer(target, null);\n\n this.debugData = data.slice(0, DEBUG_DATA_LENGTH);\n this.bytesUsed = byteLength;\n\n this._trackAllocatedMemory(byteLength);\n\n // infer GL type from supplied typed array\n const type = getGLTypeFromTypedArray(data);\n assert(type);\n this.setAccessor(new Accessor(this.accessor, {type}));\n return this;\n }\n\n // Allocate a GPU buffer of specified size.\n _setByteLength(byteLength, usage = this.usage) {\n assert(byteLength >= 0);\n\n this._trackDeallocatedMemory();\n\n // Workaround needed for Safari (#291):\n // gl.bufferData with size equal to 0 crashes. Instead create zero sized array.\n let data = byteLength;\n if (byteLength === 0) {\n data = new Float32Array(0);\n }\n\n const target = this._getTarget();\n this.gl.bindBuffer(target, this.handle);\n this.gl.bufferData(target, data, usage);\n this.gl.bindBuffer(target, null);\n\n this.usage = usage;\n this.debugData = null;\n this.bytesUsed = byteLength;\n\n this._trackAllocatedMemory(byteLength);\n\n return this;\n }\n\n // Binding a buffer for the first time locks the type\n // In WebGL2, use GL.COPY_WRITE_BUFFER to avoid locking the type\n _getTarget() {\n return this.gl.webgl2 ? GL.COPY_WRITE_BUFFER : this.target;\n }\n\n _getAvailableElementCount(srcByteOffset) {\n const ArrayType = getTypedArrayFromGLType(this.accessor.type || GL.FLOAT, {clamped: false});\n const sourceElementOffset = srcByteOffset / ArrayType.BYTES_PER_ELEMENT;\n return this.getElementCount() - sourceElementOffset;\n }\n\n // Automatically infers type from typed array passed to setData\n // Note: No longer that useful, since type is now autodeduced from the compiled shaders\n _inferType(data) {\n if (!this.accessor.type) {\n this.setAccessor(new Accessor(this.accessor, {type: getGLTypeFromTypedArray(data)}));\n }\n }\n\n // RESOURCE METHODS\n\n _createHandle() {\n return this.gl.createBuffer();\n }\n\n _deleteHandle() {\n this.gl.deleteBuffer(this.handle);\n this._trackDeallocatedMemory();\n }\n\n _getParameter(pname) {\n this.gl.bindBuffer(this.target, this.handle);\n const value = this.gl.getBufferParameter(this.target, pname);\n this.gl.bindBuffer(this.target, null);\n return value;\n }\n\n // DEPRECATIONS - v7.0\n get type() {\n log.deprecated('Buffer.type', 'Buffer.accessor.type')();\n return this.accessor.type;\n }\n\n get bytes() {\n log.deprecated('Buffer.bytes', 'Buffer.byteLength')();\n return this.byteLength;\n }\n\n // DEPRECATIONS - v6.0\n // Deprecated in v6.x, but not warnings not properly implemented\n setByteLength(byteLength) {\n log.deprecated('setByteLength', 'reallocate')();\n return this.reallocate(byteLength);\n }\n\n // Deprecated in v6.x, but not warnings not properly implemented\n updateAccessor(opts) {\n log.deprecated('updateAccessor(...)', 'setAccessor(new Accessor(buffer.accessor, ...)')();\n this.accessor = new Accessor(this.accessor, opts);\n return this;\n }\n}\n"],"file":"buffer.js"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import Framebuffer from './framebuffer';
|
|
2
|
-
|
|
3
|
-
export function clear(
|
|
4
|
-
gl: WebGLRenderingContext,
|
|
5
|
-
options?: {framebuffer?: Framebuffer; color?: any; depth?: any; stencil?: any}
|
|
6
|
-
): void;
|
|
7
|
-
|
|
8
|
-
export function clearBuffer(
|
|
9
|
-
gl: any,
|
|
10
|
-
options?: {framebuffer?: Framebuffer; buffer?: any; drawBuffer?: any; value?: any}
|
|
11
|
-
);
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import Buffer from './buffer';
|
|
2
|
-
import Framebuffer from './framebuffer';
|
|
3
|
-
import Texture from './texture';
|
|
4
|
-
|
|
5
|
-
// NOTE: Slow requires roundtrip to GPU
|
|
6
|
-
// Copies data from a Framebuffer or a Texture object into ArrayBuffer object.
|
|
7
|
-
// App can provide targetPixelArray or have it auto allocated by this method
|
|
8
|
-
// @returns {Uint8Array|Uint16Array|FloatArray} - pixel array,
|
|
9
|
-
// newly allocated by this method unless provided by app.
|
|
10
|
-
export function readPixelsToArray(
|
|
11
|
-
source: Framebuffer | Texture,
|
|
12
|
-
options?: {
|
|
13
|
-
sourceX?: number;
|
|
14
|
-
sourceY?: number;
|
|
15
|
-
sourceFormat?: number;
|
|
16
|
-
sourceAttachment?: number;
|
|
17
|
-
target?: Uint8Array | Uint16Array | Float32Array;
|
|
18
|
-
// following parameters are auto deduced if not provided
|
|
19
|
-
sourceWidth?: number;
|
|
20
|
-
sourceHeight?: number;
|
|
21
|
-
sourceType?: number;
|
|
22
|
-
}
|
|
23
|
-
): Uint8Array | Uint16Array | Float32Array;
|
|
24
|
-
|
|
25
|
-
// NOTE: doesn't wait for copy to be complete, it programs GPU to perform a DMA transffer.
|
|
26
|
-
// Copies data from a Framebuffer or a Texture object into a Buffer object.
|
|
27
|
-
export function readPixelsToBuffer(
|
|
28
|
-
source: Framebuffer | Texture,
|
|
29
|
-
options?: {
|
|
30
|
-
sourceX?: number;
|
|
31
|
-
sourceY?: number;
|
|
32
|
-
sourceFormat?: number;
|
|
33
|
-
target?: Buffer; // A new Buffer object is created when not provided.
|
|
34
|
-
targetByteOffset?: number; // byte offset in buffer object
|
|
35
|
-
// following parameters are auto deduced if not provided
|
|
36
|
-
sourceWidth?: number;
|
|
37
|
-
sourceHeight?: number;
|
|
38
|
-
sourceType?: number;
|
|
39
|
-
}
|
|
40
|
-
): Buffer;
|
|
41
|
-
|
|
42
|
-
// Reads pixels from a Framebuffer or Texture object to a dataUrl
|
|
43
|
-
export function copyToDataUrl(
|
|
44
|
-
source,
|
|
45
|
-
options?: {
|
|
46
|
-
sourceAttachment?: number; // TODO - support gl.readBuffer
|
|
47
|
-
targetMaxHeight?: number;
|
|
48
|
-
}
|
|
49
|
-
): string;
|
|
50
|
-
|
|
51
|
-
// Reads pixels from a Framebuffer or Texture object into an HTML Image
|
|
52
|
-
export function copyToImage(
|
|
53
|
-
source: Framebuffer | Texture,
|
|
54
|
-
options?: {
|
|
55
|
-
sourceAttachment?: number; // TODO - support gl.readBuffer
|
|
56
|
-
targetImage?: typeof Image;
|
|
57
|
-
}
|
|
58
|
-
): typeof Image;
|
|
59
|
-
|
|
60
|
-
// Copy a rectangle from a Framebuffer or Texture object into a texture (at an offset)
|
|
61
|
-
export function copyToTexture(
|
|
62
|
-
source: Framebuffer | Texture,
|
|
63
|
-
target: Texture,
|
|
64
|
-
options?: {
|
|
65
|
-
sourceX?: number;
|
|
66
|
-
sourceY?: number;
|
|
67
|
-
|
|
68
|
-
targetX?: number;
|
|
69
|
-
targetY?: number;
|
|
70
|
-
targetZ?: number;
|
|
71
|
-
targetMipmaplevel?: number;
|
|
72
|
-
targetInternalFormat?: number;
|
|
73
|
-
|
|
74
|
-
width?: number; // defaults to target width
|
|
75
|
-
height?: number; // defaults to target height
|
|
76
|
-
}
|
|
77
|
-
): Texture;
|
|
78
|
-
|
|
79
|
-
// NOTE: WEBLG2 only
|
|
80
|
-
// Copies a rectangle of pixels between Framebuffer or Texture objects
|
|
81
|
-
// eslint-disable-next-line max-statements, complexity
|
|
82
|
-
export function blit(
|
|
83
|
-
source,
|
|
84
|
-
target,
|
|
85
|
-
options: {
|
|
86
|
-
sourceAttachment?: number;
|
|
87
|
-
sourceX0?: number;
|
|
88
|
-
sourceY0?: number;
|
|
89
|
-
sourceX1?: number;
|
|
90
|
-
sourceY1?: number;
|
|
91
|
-
targetX0?: number;
|
|
92
|
-
targetY0?: number;
|
|
93
|
-
targetX1?: number;
|
|
94
|
-
targetY1?: number;
|
|
95
|
-
color?: boolean;
|
|
96
|
-
depth?: boolean;
|
|
97
|
-
stencil?: boolean;
|
|
98
|
-
mask?: number;
|
|
99
|
-
filter?: number;
|
|
100
|
-
}
|
|
101
|
-
): void;
|