@luma.gl/webgl 8.5.10 → 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,10 +1,11 @@
|
|
|
1
1
|
import GL from '@luma.gl/constants';
|
|
2
2
|
import {log} from '@luma.gl/gltools';
|
|
3
3
|
import Accessor from './accessor';
|
|
4
|
-
import Buffer from './buffer';
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
4
|
+
import Buffer from './webgl-buffer';
|
|
5
|
+
import Program from './program';
|
|
6
|
+
import ProgramConfiguration from './program-configuration';
|
|
7
|
+
import VertexArrayObject, {VertexArrayObjectProps} from './vertex-array-object';
|
|
8
|
+
import {assert, stubRemovedMethods} from '../utils';
|
|
8
9
|
|
|
9
10
|
const ERR_ATTRIBUTE_TYPE =
|
|
10
11
|
'VertexArray: attributes must be Buffers or constants (i.e. typed array)';
|
|
@@ -14,48 +15,61 @@ const ERR_ATTRIBUTE_TYPE =
|
|
|
14
15
|
// in vertex-array.md
|
|
15
16
|
const MULTI_LOCATION_ATTRIBUTE_REGEXP = /^(.+)__LOCATION_([0-9]+)$/;
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
18
|
+
export type VertexArrayProps = {
|
|
19
|
+
id?: string;
|
|
20
|
+
program?: Program;
|
|
21
|
+
configuration?: ProgramConfiguration;
|
|
22
|
+
attributes?: any[];
|
|
23
|
+
elements?: any;
|
|
24
|
+
bindOnUse?: boolean;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export type DrawParams = {
|
|
28
|
+
elementCount: number;
|
|
29
|
+
indexType: Uint16ArrayConstructor | Uint32ArrayConstructor;
|
|
30
|
+
indexOffset: number;
|
|
31
|
+
isIndexed: boolean;
|
|
32
|
+
isInstanced: boolean;
|
|
33
|
+
indexCount: number;
|
|
34
|
+
vertexCount: number;
|
|
35
|
+
instanceCount: number;
|
|
36
|
+
};
|
|
27
37
|
|
|
28
38
|
export default class VertexArray {
|
|
29
|
-
|
|
39
|
+
id: string;
|
|
40
|
+
gl: WebGLRenderingContext;
|
|
41
|
+
readonly attributes: object = {};
|
|
42
|
+
|
|
43
|
+
vertexArrayObject: VertexArrayObject;
|
|
44
|
+
accessors: Accessor[] = [];
|
|
45
|
+
configuration: ProgramConfiguration | null = null;
|
|
46
|
+
|
|
47
|
+
// Extracted information
|
|
48
|
+
elements = null;
|
|
49
|
+
elementsAccessor = null;
|
|
50
|
+
values = null;
|
|
51
|
+
unused = null;
|
|
52
|
+
drawParams = null;
|
|
53
|
+
buffer = null; // For attribute 0 on desktops, and created when unbinding buffers
|
|
54
|
+
|
|
55
|
+
bindOnUse = false;
|
|
56
|
+
|
|
57
|
+
constructor(gl: WebGLRenderingContext, props?: VertexArrayProps) {
|
|
30
58
|
// Use program's id if program is supplied but no id is supplied
|
|
31
|
-
const id =
|
|
32
|
-
// super(gl, Object.assign({},
|
|
59
|
+
const id = props?.id || (props?.program && props?.program.id);
|
|
60
|
+
// super(gl, Object.assign({}, props, {id}));
|
|
61
|
+
|
|
62
|
+
this.vertexArrayObject = new VertexArrayObject(gl);
|
|
33
63
|
|
|
34
64
|
this.id = id;
|
|
35
65
|
this.gl = gl;
|
|
36
66
|
this.configuration = null;
|
|
37
67
|
|
|
38
|
-
|
|
39
|
-
this.elements = null;
|
|
40
|
-
this.elementsAccessor = null;
|
|
41
|
-
this.values = null;
|
|
42
|
-
this.accessors = null;
|
|
43
|
-
this.unused = null;
|
|
44
|
-
this.drawParams = null;
|
|
45
|
-
this.buffer = null; // For attribute 0 on desktops, and created when unbinding buffers
|
|
46
|
-
|
|
47
|
-
this.attributes = {};
|
|
48
|
-
|
|
49
|
-
this.vertexArrayObject = new VertexArrayObject(gl);
|
|
50
|
-
|
|
51
|
-
// Issue errors when using removed methods
|
|
52
|
-
stubRemovedMethods(this, 'VertexArray', 'v6.0', DEPRECATIONS_V6);
|
|
53
|
-
|
|
54
|
-
this.initialize(opts);
|
|
68
|
+
this.initialize(props);
|
|
55
69
|
Object.seal(this);
|
|
56
70
|
}
|
|
57
71
|
|
|
58
|
-
delete() {
|
|
72
|
+
delete(): void {
|
|
59
73
|
if (this.buffer) {
|
|
60
74
|
this.buffer.delete();
|
|
61
75
|
}
|
|
@@ -63,11 +77,11 @@ export default class VertexArray {
|
|
|
63
77
|
this.vertexArrayObject.delete();
|
|
64
78
|
}
|
|
65
79
|
|
|
66
|
-
initialize(props
|
|
80
|
+
initialize(props?: VertexArrayProps) {
|
|
67
81
|
this.reset();
|
|
68
82
|
this.configuration = null;
|
|
69
83
|
this.bindOnUse = false;
|
|
70
|
-
return this.setProps(props);
|
|
84
|
+
return this.setProps(props || {});
|
|
71
85
|
}
|
|
72
86
|
|
|
73
87
|
// Resets all attributes (to default valued constants)
|
|
@@ -87,7 +101,7 @@ export default class VertexArray {
|
|
|
87
101
|
return this;
|
|
88
102
|
}
|
|
89
103
|
|
|
90
|
-
setProps(props) {
|
|
104
|
+
setProps(props: VertexArrayProps) {
|
|
91
105
|
if ('program' in props) {
|
|
92
106
|
this.configuration = props.program && props.program.configuration;
|
|
93
107
|
}
|
|
@@ -101,17 +115,18 @@ export default class VertexArray {
|
|
|
101
115
|
this.setElementBuffer(props.elements);
|
|
102
116
|
}
|
|
103
117
|
if ('bindOnUse' in props) {
|
|
118
|
+
// @ts-expect-error
|
|
104
119
|
props = props.bindOnUse;
|
|
105
120
|
}
|
|
106
121
|
return this;
|
|
107
122
|
}
|
|
108
123
|
|
|
109
124
|
// Automatically called if buffers changed through VertexArray API
|
|
110
|
-
clearDrawParams() {
|
|
125
|
+
clearDrawParams(): void {
|
|
111
126
|
this.drawParams = null;
|
|
112
127
|
}
|
|
113
128
|
|
|
114
|
-
getDrawParams() {
|
|
129
|
+
getDrawParams(): DrawParams {
|
|
115
130
|
// Auto deduced draw parameters
|
|
116
131
|
this.drawParams = this.drawParams || this._updateDrawParams();
|
|
117
132
|
|
|
@@ -125,7 +140,7 @@ export default class VertexArray {
|
|
|
125
140
|
// {attributeName: buffer}
|
|
126
141
|
// {attributeName: [buffer, accessor]}
|
|
127
142
|
// {attributeName: (typed) array} => constant
|
|
128
|
-
setAttributes(attributes) {
|
|
143
|
+
setAttributes(attributes): this {
|
|
129
144
|
Object.assign(this.attributes, attributes);
|
|
130
145
|
this.vertexArrayObject.bind(() => {
|
|
131
146
|
for (const locationOrName in attributes) {
|
|
@@ -141,7 +156,7 @@ export default class VertexArray {
|
|
|
141
156
|
|
|
142
157
|
// Set (bind) an elements buffer, for indexed rendering.
|
|
143
158
|
// Must be a Buffer bound to GL.ELEMENT_ARRAY_BUFFER. Constants not supported
|
|
144
|
-
setElementBuffer(elementBuffer = null, accessor = {}) {
|
|
159
|
+
setElementBuffer(elementBuffer: Buffer | null = null, accessor = {}): this {
|
|
145
160
|
this.elements = elementBuffer; // Save value for debugging
|
|
146
161
|
this.elementsAccessor = accessor;
|
|
147
162
|
this.clearDrawParams();
|
|
@@ -151,10 +166,11 @@ export default class VertexArray {
|
|
|
151
166
|
}
|
|
152
167
|
|
|
153
168
|
// Set a location in vertex attributes array to a buffer
|
|
154
|
-
setBuffer(locationOrName, buffer, appAccessor = {}) {
|
|
169
|
+
setBuffer(locationOrName, buffer: Buffer, appAccessor = {}): this {
|
|
155
170
|
// Check target
|
|
156
171
|
if (buffer.target === GL.ELEMENT_ARRAY_BUFFER) {
|
|
157
|
-
|
|
172
|
+
this.setElementBuffer(buffer, appAccessor);
|
|
173
|
+
return this;
|
|
158
174
|
}
|
|
159
175
|
|
|
160
176
|
const {location, accessor} = this._resolveLocationAndAccessor(
|
|
@@ -175,13 +191,14 @@ export default class VertexArray {
|
|
|
175
191
|
}
|
|
176
192
|
|
|
177
193
|
// Set attribute to constant value (small typed array corresponding to one vertex' worth of data)
|
|
178
|
-
setConstant(locationOrName, arrayValue, appAccessor = {}) {
|
|
194
|
+
setConstant(locationOrName, arrayValue, appAccessor = {}): this {
|
|
195
|
+
// @ts-expect-error
|
|
179
196
|
const {location, accessor} = this._resolveLocationAndAccessor(
|
|
180
197
|
locationOrName,
|
|
181
198
|
arrayValue,
|
|
182
199
|
// Ensure that size isn't taken from program for multi-column
|
|
183
200
|
// attributes
|
|
184
|
-
|
|
201
|
+
{size: arrayValue.length, ...appAccessor}
|
|
185
202
|
);
|
|
186
203
|
|
|
187
204
|
if (location >= 0) {
|
|
@@ -203,7 +220,7 @@ export default class VertexArray {
|
|
|
203
220
|
|
|
204
221
|
// Workaround for Chrome TransformFeedback binding issue
|
|
205
222
|
// If required, unbind temporarily to avoid conflicting with TransformFeedback
|
|
206
|
-
unbindBuffers() {
|
|
223
|
+
unbindBuffers(): this {
|
|
207
224
|
this.vertexArrayObject.bind(() => {
|
|
208
225
|
if (this.elements) {
|
|
209
226
|
this.vertexArrayObject.setElementBuffer(null);
|
|
@@ -228,7 +245,7 @@ export default class VertexArray {
|
|
|
228
245
|
|
|
229
246
|
// Workaround for Chrome TransformFeedback binding issue
|
|
230
247
|
// If required, rebind rebind after temporary unbind
|
|
231
|
-
bindBuffers() {
|
|
248
|
+
bindBuffers(): this {
|
|
232
249
|
this.vertexArrayObject.bind(() => {
|
|
233
250
|
if (this.elements) {
|
|
234
251
|
this.setElementBuffer(this.elements);
|
|
@@ -325,7 +342,7 @@ export default class VertexArray {
|
|
|
325
342
|
return {location: -1};
|
|
326
343
|
}
|
|
327
344
|
|
|
328
|
-
_setAttribute(locationOrName, value) {
|
|
345
|
+
_setAttribute(locationOrName, value): void {
|
|
329
346
|
if (value instanceof Buffer) {
|
|
330
347
|
// Signature: {attributeName: Buffer}
|
|
331
348
|
this.setBuffer(locationOrName, value);
|
|
@@ -352,7 +369,7 @@ export default class VertexArray {
|
|
|
352
369
|
// Updates all constant attribute values (constants are used when vertex attributes are disabled).
|
|
353
370
|
// This needs to be done repeatedly since in contrast to buffer bindings,
|
|
354
371
|
// constants are stored on the WebGL context, not the VAO
|
|
355
|
-
_setConstantAttributes(vertexCount, instanceCount) {
|
|
372
|
+
_setConstantAttributes(vertexCount, instanceCount): void {
|
|
356
373
|
// TODO - use accessor to determine what length to use
|
|
357
374
|
const elementCount = Math.max(vertexCount | 0, instanceCount | 0);
|
|
358
375
|
let constant = this.values[0];
|
|
@@ -368,7 +385,7 @@ export default class VertexArray {
|
|
|
368
385
|
}
|
|
369
386
|
}
|
|
370
387
|
|
|
371
|
-
_setConstantAttributeZero(constant, elementCount) {
|
|
388
|
+
_setConstantAttributeZero(constant, elementCount: number): void {
|
|
372
389
|
if (VertexArrayObject.isSupported(this.gl, {constantAttributeZero: true})) {
|
|
373
390
|
this._setConstantAttribute(0, constant);
|
|
374
391
|
return;
|
|
@@ -381,13 +398,16 @@ export default class VertexArray {
|
|
|
381
398
|
this.vertexArrayObject.setBuffer(0, buffer, this.accessors[0]);
|
|
382
399
|
}
|
|
383
400
|
|
|
384
|
-
_setConstantAttribute(location, constant) {
|
|
401
|
+
_setConstantAttribute(location, constant): void {
|
|
385
402
|
VertexArrayObject.setConstant(this.gl, location, constant);
|
|
386
403
|
}
|
|
387
404
|
|
|
388
405
|
// Walks the buffers and updates draw parameters
|
|
389
|
-
_updateDrawParams() {
|
|
406
|
+
_updateDrawParams(): DrawParams {
|
|
390
407
|
const drawParams = {
|
|
408
|
+
elementCount: 0,
|
|
409
|
+
indexType: Uint16Array,
|
|
410
|
+
indexOffset: 0,
|
|
391
411
|
isIndexed: false,
|
|
392
412
|
isInstanced: false,
|
|
393
413
|
indexCount: Infinity,
|
|
@@ -422,7 +442,7 @@ export default class VertexArray {
|
|
|
422
442
|
return drawParams;
|
|
423
443
|
}
|
|
424
444
|
|
|
425
|
-
_updateDrawParamsForLocation(drawParams, location) {
|
|
445
|
+
_updateDrawParamsForLocation(drawParams: DrawParams, location): void {
|
|
426
446
|
const value = this.values[location];
|
|
427
447
|
const accessor = this.accessors[location];
|
|
428
448
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import GL from '@luma.gl/constants';
|
|
2
|
-
import
|
|
2
|
+
import {getWebGL2Context, assertWebGL2Context, log} from '@luma.gl/gltools';
|
|
3
|
+
import {Buffer, BufferProps} from '@luma.gl/api';
|
|
4
|
+
import {AccessorObject} from '../types';
|
|
3
5
|
import Accessor from './accessor';
|
|
4
|
-
import {getGLTypeFromTypedArray, getTypedArrayFromGLType} from '../webgl-utils
|
|
5
|
-
import {
|
|
6
|
-
import {assert} from '../utils/assert';
|
|
7
|
-
import {checkProps} from '../utils/check-props';
|
|
6
|
+
import {getGLTypeFromTypedArray, getTypedArrayFromGLType} from '../webgl-utils';
|
|
7
|
+
import {assert, checkProps} from '../utils';
|
|
8
8
|
|
|
9
9
|
const DEBUG_DATA_LENGTH = 10;
|
|
10
10
|
|
|
@@ -37,16 +37,57 @@ const PROP_CHECKS_SET_PROPS = {
|
|
|
37
37
|
removedProps: DEPRECATED_PROPS
|
|
38
38
|
};
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
/** WebGL Buffer interface */
|
|
41
|
+
export type WebGLBufferProps = BufferProps & {
|
|
42
|
+
handle?: WebGLBuffer;
|
|
43
|
+
data?: any; // ArrayBufferView;
|
|
44
|
+
byteLength?: number;
|
|
45
|
+
target?: number;
|
|
46
|
+
usage?: number;
|
|
47
|
+
accessor?: AccessorObject;
|
|
48
|
+
|
|
49
|
+
/** @deprecated */
|
|
50
|
+
index?: number;
|
|
51
|
+
/** @deprecated */
|
|
52
|
+
offset?: number;
|
|
53
|
+
/** @deprecated */
|
|
54
|
+
size?: number;
|
|
55
|
+
/** @deprecated */
|
|
56
|
+
type?: number
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/** WebGL Buffer interface */
|
|
60
|
+
export default class WEBGLBuffer extends Buffer {
|
|
61
|
+
readonly gl: WebGLRenderingContext;
|
|
62
|
+
readonly gl2: WebGL2RenderingContext | null;
|
|
63
|
+
readonly handle: WebGLBuffer;
|
|
64
|
+
|
|
65
|
+
target: number;
|
|
66
|
+
usage: number;
|
|
67
|
+
|
|
68
|
+
byteLength: number;
|
|
69
|
+
bytesUsed: number;
|
|
70
|
+
|
|
71
|
+
accessor: Accessor;
|
|
43
72
|
|
|
44
|
-
|
|
45
|
-
|
|
73
|
+
debugData;
|
|
74
|
+
|
|
75
|
+
constructor(gl: WebGLRenderingContext, props?: BufferProps);
|
|
76
|
+
constructor(gl: WebGLRenderingContext, data: ArrayBufferView | number[]);
|
|
77
|
+
constructor(gl: WebGLRenderingContext, byteLength: number);
|
|
78
|
+
|
|
79
|
+
constructor(gl: WebGLRenderingContext, props = {}) {
|
|
80
|
+
super(gl as any, props);
|
|
81
|
+
|
|
82
|
+
this.gl = gl;
|
|
83
|
+
this.gl2 = getWebGL2Context(gl);
|
|
84
|
+
const handle = typeof props === 'object' ? (props as BufferProps).handle : undefined;
|
|
85
|
+
this.handle = handle || this.gl.createBuffer();
|
|
46
86
|
|
|
47
87
|
// In WebGL1, need to make sure we use GL.ELEMENT_ARRAY_BUFFER when initializing element buffers
|
|
48
88
|
// otherwise buffer type will lock to generic (non-element) buffer
|
|
49
89
|
// In WebGL2, we can use GL.COPY_READ_BUFFER which avoids locking the type here
|
|
90
|
+
// @ts-expect-error
|
|
50
91
|
this.target = props.target || (this.gl.webgl2 ? GL.COPY_READ_BUFFER : GL.ARRAY_BUFFER);
|
|
51
92
|
|
|
52
93
|
this.initialize(props);
|
|
@@ -54,13 +95,23 @@ export default class Buffer extends Resource {
|
|
|
54
95
|
Object.seal(this);
|
|
55
96
|
}
|
|
56
97
|
|
|
98
|
+
destroy(): void {
|
|
99
|
+
if (this.handle) {
|
|
100
|
+
this.removeStats();
|
|
101
|
+
this.trackDeallocatedMemory();
|
|
102
|
+
this.gl.deleteBuffer(this.handle);
|
|
103
|
+
// @ts-expect-error
|
|
104
|
+
this.handle = null;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
57
108
|
// returns number of elements in the buffer (assuming that the full buffer is used)
|
|
58
|
-
getElementCount(accessor = this.accessor) {
|
|
109
|
+
getElementCount(accessor = this.accessor): number {
|
|
59
110
|
return Math.round(this.byteLength / Accessor.getBytesPerElement(accessor));
|
|
60
111
|
}
|
|
61
112
|
|
|
62
113
|
// returns number of vertices in the buffer (assuming that the full buffer is used)
|
|
63
|
-
getVertexCount(accessor = this.accessor) {
|
|
114
|
+
getVertexCount(accessor = this.accessor): number {
|
|
64
115
|
return Math.round(this.byteLength / Accessor.getBytesPerVertex(accessor));
|
|
65
116
|
}
|
|
66
117
|
|
|
@@ -68,7 +119,7 @@ export default class Buffer extends Resource {
|
|
|
68
119
|
// Signature: `new Buffer(gl, {data: new Float32Array(...)})`
|
|
69
120
|
// Signature: `new Buffer(gl, new Float32Array(...))`
|
|
70
121
|
// Signature: `new Buffer(gl, 100)`
|
|
71
|
-
initialize(props = {}) {
|
|
122
|
+
initialize(props: BufferProps = {}): this {
|
|
72
123
|
// Signature `new Buffer(gl, new Float32Array(...)`
|
|
73
124
|
if (ArrayBuffer.isView(props)) {
|
|
74
125
|
props = {data: props};
|
|
@@ -76,6 +127,7 @@ export default class Buffer extends Resource {
|
|
|
76
127
|
|
|
77
128
|
// Signature: `new Buffer(gl, 100)`
|
|
78
129
|
if (Number.isFinite(props)) {
|
|
130
|
+
// @ts-expect-error
|
|
79
131
|
props = {byteLength: props};
|
|
80
132
|
}
|
|
81
133
|
|
|
@@ -98,7 +150,7 @@ export default class Buffer extends Resource {
|
|
|
98
150
|
return this;
|
|
99
151
|
}
|
|
100
152
|
|
|
101
|
-
setProps(props) {
|
|
153
|
+
setProps(props: BufferProps): this {
|
|
102
154
|
props = checkProps('Buffer', props, PROP_CHECKS_SET_PROPS);
|
|
103
155
|
|
|
104
156
|
if ('accessor' in props) {
|
|
@@ -110,7 +162,7 @@ export default class Buffer extends Resource {
|
|
|
110
162
|
|
|
111
163
|
// Optionally stores an accessor with the buffer, makes it easier to use it as an attribute later
|
|
112
164
|
// {type, size = 1, offset = 0, stride = 0, normalized = false, integer = false, divisor = 0}
|
|
113
|
-
setAccessor(accessor) {
|
|
165
|
+
setAccessor(accessor): this {
|
|
114
166
|
// NOTE: From luma.gl v7.0, Accessors have an optional `buffer `field
|
|
115
167
|
// (mainly to support "interleaving")
|
|
116
168
|
// To avoid confusion, ensure `buffer.accessor` does not have a `buffer.accessor.buffer` field:
|
|
@@ -159,11 +211,13 @@ export default class Buffer extends Resource {
|
|
|
159
211
|
|
|
160
212
|
// Create the buffer - binding it here for the first time locks the type
|
|
161
213
|
// In WebGL2, use GL.COPY_WRITE_BUFFER to avoid locking the type
|
|
214
|
+
// @ts-expect-error
|
|
162
215
|
const target = this.gl.webgl2 ? GL.COPY_WRITE_BUFFER : this.target;
|
|
163
216
|
this.gl.bindBuffer(target, this.handle);
|
|
164
217
|
// WebGL2: subData supports additional srcOffset and length parameters
|
|
165
218
|
if (srcOffset !== 0 || byteLength !== undefined) {
|
|
166
219
|
assertWebGL2Context(this.gl);
|
|
220
|
+
// @ts-expect-error
|
|
167
221
|
this.gl.bufferSubData(this.target, offset, data, srcOffset, byteLength);
|
|
168
222
|
} else {
|
|
169
223
|
this.gl.bufferSubData(target, offset, data);
|
|
@@ -178,15 +232,24 @@ export default class Buffer extends Resource {
|
|
|
178
232
|
return this;
|
|
179
233
|
}
|
|
180
234
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
235
|
+
/**
|
|
236
|
+
* Copies part of the data of another buffer into this buffer
|
|
237
|
+
* @note WEBGL2 ONLY
|
|
238
|
+
*/
|
|
239
|
+
copyData(options: {
|
|
240
|
+
sourceBuffer: any;
|
|
241
|
+
readOffset?: number;
|
|
242
|
+
writeOffset?: number;
|
|
243
|
+
size: any;
|
|
244
|
+
}): this {
|
|
245
|
+
const {sourceBuffer, readOffset = 0, writeOffset = 0, size} = options;
|
|
246
|
+
const {gl, gl2} = this;
|
|
184
247
|
assertWebGL2Context(gl);
|
|
185
248
|
|
|
186
249
|
// Use GL.COPY_READ_BUFFER+GL.COPY_WRITE_BUFFER avoid disturbing other targets and locking type
|
|
187
250
|
gl.bindBuffer(GL.COPY_READ_BUFFER, sourceBuffer.handle);
|
|
188
251
|
gl.bindBuffer(GL.COPY_WRITE_BUFFER, this.handle);
|
|
189
|
-
|
|
252
|
+
gl2.copyBufferSubData(GL.COPY_READ_BUFFER, GL.COPY_WRITE_BUFFER, readOffset, writeOffset, size);
|
|
190
253
|
gl.bindBuffer(GL.COPY_READ_BUFFER, null);
|
|
191
254
|
gl.bindBuffer(GL.COPY_WRITE_BUFFER, null);
|
|
192
255
|
|
|
@@ -196,8 +259,18 @@ export default class Buffer extends Resource {
|
|
|
196
259
|
return this;
|
|
197
260
|
}
|
|
198
261
|
|
|
199
|
-
|
|
200
|
-
|
|
262
|
+
/**
|
|
263
|
+
* Reads data from buffer into an ArrayBufferView or SharedArrayBuffer.
|
|
264
|
+
* @note WEBGL2 ONLY
|
|
265
|
+
*/
|
|
266
|
+
getData(options?: {
|
|
267
|
+
dstData?: any;
|
|
268
|
+
srcByteOffset?: number;
|
|
269
|
+
dstOffset?: number;
|
|
270
|
+
length?: number;
|
|
271
|
+
}): any {
|
|
272
|
+
let {dstData = null, length = 0} = options || {};
|
|
273
|
+
const {srcByteOffset = 0, dstOffset = 0} = options || {};
|
|
201
274
|
assertWebGL2Context(this.gl);
|
|
202
275
|
|
|
203
276
|
const ArrayType = getTypedArrayFromGLType(this.accessor.type || GL.FLOAT, {clamped: false});
|
|
@@ -226,7 +299,7 @@ export default class Buffer extends Resource {
|
|
|
226
299
|
|
|
227
300
|
// Use GL.COPY_READ_BUFFER to avoid disturbing other targets and locking type
|
|
228
301
|
this.gl.bindBuffer(GL.COPY_READ_BUFFER, this.handle);
|
|
229
|
-
this.
|
|
302
|
+
this.gl2.getBufferSubData(GL.COPY_READ_BUFFER, srcByteOffset, dstData, dstOffset, length);
|
|
230
303
|
this.gl.bindBuffer(GL.COPY_READ_BUFFER, null);
|
|
231
304
|
|
|
232
305
|
// TODO - update local `data` if offsets are 0
|
|
@@ -240,21 +313,23 @@ export default class Buffer extends Resource {
|
|
|
240
313
|
* - GL.UNIFORM_BUFFER: `offset` must be aligned to GL.UNIFORM_BUFFER_OFFSET_ALIGNMENT.
|
|
241
314
|
* - GL.UNIFORM_BUFFER: `size` must be a minimum of GL.UNIFORM_BLOCK_SIZE_DATA.
|
|
242
315
|
*/
|
|
243
|
-
bind({
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
316
|
+
bind(options?: {target?: number; index?: any; offset?: number; size: any}): this {
|
|
317
|
+
const {
|
|
318
|
+
target = this.target, // target for the bind operation
|
|
319
|
+
// @ts-expect-error
|
|
320
|
+
index = this.accessor && this.accessor.index, // index = index of target (indexed bind point)
|
|
321
|
+
offset = 0,
|
|
322
|
+
size
|
|
323
|
+
} = options || {};
|
|
249
324
|
// NOTE: While GL.TRANSFORM_FEEDBACK_BUFFER and GL.UNIFORM_BUFFER could
|
|
250
325
|
// be used as direct binding points, they will not affect transform feedback or
|
|
251
326
|
// uniform buffer state. Instead indexed bindings need to be made.
|
|
252
327
|
if (target === GL.UNIFORM_BUFFER || target === GL.TRANSFORM_FEEDBACK_BUFFER) {
|
|
253
328
|
if (size !== undefined) {
|
|
254
|
-
this.
|
|
329
|
+
this.gl2.bindBufferRange(target, index, this.handle, offset, size);
|
|
255
330
|
} else {
|
|
256
331
|
assert(offset === 0); // Make sure offset wasn't supplied
|
|
257
|
-
this.
|
|
332
|
+
this.gl2.bindBufferBase(target, index, this.handle);
|
|
258
333
|
}
|
|
259
334
|
} else {
|
|
260
335
|
this.gl.bindBuffer(target, this.handle);
|
|
@@ -263,10 +338,12 @@ export default class Buffer extends Resource {
|
|
|
263
338
|
return this;
|
|
264
339
|
}
|
|
265
340
|
|
|
266
|
-
unbind({target
|
|
341
|
+
unbind(options?: {target?: any; index?: any}): this {
|
|
342
|
+
// @ts-expect-error
|
|
343
|
+
const {target = this.target, index = this.accessor && this.accessor.index} = options || {};
|
|
267
344
|
const isIndexedBuffer = target === GL.UNIFORM_BUFFER || target === GL.TRANSFORM_FEEDBACK_BUFFER;
|
|
268
345
|
if (isIndexedBuffer) {
|
|
269
|
-
this.
|
|
346
|
+
this.gl2.bindBufferBase(target, index, null);
|
|
270
347
|
} else {
|
|
271
348
|
this.gl.bindBuffer(target, null);
|
|
272
349
|
}
|
|
@@ -276,7 +353,10 @@ export default class Buffer extends Resource {
|
|
|
276
353
|
// PROTECTED METHODS (INTENDED FOR USE BY OTHER FRAMEWORK CODE ONLY)
|
|
277
354
|
|
|
278
355
|
// Returns a short initial data array
|
|
279
|
-
getDebugData() {
|
|
356
|
+
getDebugData(): {
|
|
357
|
+
data: any;
|
|
358
|
+
changed: boolean;
|
|
359
|
+
} {
|
|
280
360
|
if (!this.debugData) {
|
|
281
361
|
this.debugData = this.getData({length: Math.min(DEBUG_DATA_LENGTH, this.byteLength)});
|
|
282
362
|
return {data: this.debugData, changed: true};
|
|
@@ -291,10 +371,10 @@ export default class Buffer extends Resource {
|
|
|
291
371
|
// PRIVATE METHODS
|
|
292
372
|
|
|
293
373
|
// Allocate a new buffer and initialize to contents of typed array
|
|
294
|
-
_setData(data, offset = 0, byteLength = data.byteLength + offset) {
|
|
374
|
+
_setData(data, offset: number = 0, byteLength: number = data.byteLength + offset): this {
|
|
295
375
|
assert(ArrayBuffer.isView(data));
|
|
296
376
|
|
|
297
|
-
this.
|
|
377
|
+
this.trackDeallocatedMemory();
|
|
298
378
|
|
|
299
379
|
const target = this._getTarget();
|
|
300
380
|
this.gl.bindBuffer(target, this.handle);
|
|
@@ -304,8 +384,8 @@ export default class Buffer extends Resource {
|
|
|
304
384
|
|
|
305
385
|
this.debugData = data.slice(0, DEBUG_DATA_LENGTH);
|
|
306
386
|
this.bytesUsed = byteLength;
|
|
307
|
-
|
|
308
|
-
this.
|
|
387
|
+
this.byteLength = byteLength;
|
|
388
|
+
this.trackAllocatedMemory(byteLength);
|
|
309
389
|
|
|
310
390
|
// infer GL type from supplied typed array
|
|
311
391
|
const type = getGLTypeFromTypedArray(data);
|
|
@@ -315,15 +395,16 @@ export default class Buffer extends Resource {
|
|
|
315
395
|
}
|
|
316
396
|
|
|
317
397
|
// Allocate a GPU buffer of specified size.
|
|
318
|
-
_setByteLength(byteLength, usage = this.usage) {
|
|
398
|
+
_setByteLength(byteLength: number, usage = this.usage): this {
|
|
319
399
|
assert(byteLength >= 0);
|
|
320
400
|
|
|
321
|
-
this.
|
|
401
|
+
this.trackDeallocatedMemory();
|
|
322
402
|
|
|
323
403
|
// Workaround needed for Safari (#291):
|
|
324
404
|
// gl.bufferData with size equal to 0 crashes. Instead create zero sized array.
|
|
325
405
|
let data = byteLength;
|
|
326
406
|
if (byteLength === 0) {
|
|
407
|
+
// @ts-expect-error
|
|
327
408
|
data = new Float32Array(0);
|
|
328
409
|
}
|
|
329
410
|
|
|
@@ -335,8 +416,9 @@ export default class Buffer extends Resource {
|
|
|
335
416
|
this.usage = usage;
|
|
336
417
|
this.debugData = null;
|
|
337
418
|
this.bytesUsed = byteLength;
|
|
419
|
+
this.byteLength = byteLength;
|
|
338
420
|
|
|
339
|
-
this.
|
|
421
|
+
this.trackAllocatedMemory(byteLength);
|
|
340
422
|
|
|
341
423
|
return this;
|
|
342
424
|
}
|
|
@@ -344,6 +426,7 @@ export default class Buffer extends Resource {
|
|
|
344
426
|
// Binding a buffer for the first time locks the type
|
|
345
427
|
// In WebGL2, use GL.COPY_WRITE_BUFFER to avoid locking the type
|
|
346
428
|
_getTarget() {
|
|
429
|
+
// @ts-expect-error
|
|
347
430
|
return this.gl.webgl2 ? GL.COPY_WRITE_BUFFER : this.target;
|
|
348
431
|
}
|
|
349
432
|
|
|
@@ -363,16 +446,7 @@ export default class Buffer extends Resource {
|
|
|
363
446
|
|
|
364
447
|
// RESOURCE METHODS
|
|
365
448
|
|
|
366
|
-
|
|
367
|
-
return this.gl.createBuffer();
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
_deleteHandle() {
|
|
371
|
-
this.gl.deleteBuffer(this.handle);
|
|
372
|
-
this._trackDeallocatedMemory();
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
_getParameter(pname) {
|
|
449
|
+
getParameter(pname) {
|
|
376
450
|
this.gl.bindBuffer(this.target, this.handle);
|
|
377
451
|
const value = this.gl.getBufferParameter(this.target, pname);
|
|
378
452
|
this.gl.bindBuffer(this.target, null);
|
|
@@ -380,8 +454,8 @@ export default class Buffer extends Resource {
|
|
|
380
454
|
}
|
|
381
455
|
|
|
382
456
|
// DEPRECATIONS - v7.0
|
|
457
|
+
/** @deprecated Use Buffer.accessor.type */
|
|
383
458
|
get type() {
|
|
384
|
-
log.deprecated('Buffer.type', 'Buffer.accessor.type')();
|
|
385
459
|
return this.accessor.type;
|
|
386
460
|
}
|
|
387
461
|
|