@luma.gl/webgl 9.0.0-alpha.3 → 9.0.0-alpha.30
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/LICENSE +2 -1
- package/dist/adapter/converters/device-parameters.d.ts +14 -4
- package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/device-parameters.js +28 -46
- package/dist/adapter/converters/device-parameters.js.map +1 -1
- package/dist/adapter/converters/sampler-parameters.d.ts +5 -5
- package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/sampler-parameters.js +20 -56
- package/dist/adapter/converters/sampler-parameters.js.map +1 -1
- package/dist/adapter/converters/texture-formats.d.ts +31 -42
- package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
- package/dist/adapter/converters/texture-formats.js +163 -178
- package/dist/adapter/converters/texture-formats.js.map +1 -1
- package/dist/adapter/converters/vertex-formats.d.ts +2 -2
- package/dist/adapter/converters/vertex-formats.d.ts.map +1 -1
- package/dist/adapter/converters/vertex-formats.js +3 -9
- package/dist/adapter/converters/vertex-formats.js.map +1 -1
- package/dist/adapter/device-helpers/device-features.d.ts +1 -1
- package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
- package/dist/adapter/device-helpers/device-features.js +13 -20
- package/dist/adapter/device-helpers/device-features.js.map +1 -1
- package/dist/adapter/device-helpers/device-limits.d.ts +3 -3
- package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
- package/dist/adapter/device-helpers/device-limits.js +2 -5
- package/dist/adapter/device-helpers/device-limits.js.map +1 -1
- package/dist/adapter/device-helpers/get-device-info.d.ts +1 -1
- package/dist/adapter/device-helpers/get-device-info.d.ts.map +1 -1
- package/dist/adapter/device-helpers/get-device-info.js +9 -11
- package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
- package/dist/adapter/device-helpers/is-old-ie.js +2 -1
- package/dist/adapter/device-helpers/is-old-ie.js.map +1 -1
- package/dist/adapter/helpers/attribute-utils.d.ts +4 -4
- package/dist/adapter/helpers/attribute-utils.d.ts.map +1 -1
- package/dist/adapter/helpers/attribute-utils.js +1 -18
- package/dist/adapter/helpers/attribute-utils.js.map +1 -1
- package/dist/adapter/helpers/get-shader-info.d.ts +9 -0
- package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -0
- package/dist/adapter/helpers/get-shader-info.js +25 -0
- package/dist/adapter/helpers/get-shader-info.js.map +1 -0
- package/dist/adapter/helpers/get-shader-layout.d.ts +10 -7
- package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
- package/dist/adapter/helpers/get-shader-layout.js +101 -84
- package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.js +0 -7
- package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
- package/dist/adapter/helpers/set-uniform.d.ts +2 -2
- package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
- package/dist/adapter/helpers/set-uniform.js +3 -33
- package/dist/adapter/helpers/set-uniform.js.map +1 -1
- package/dist/adapter/helpers/uniforms.d.ts +9 -10
- package/dist/adapter/helpers/uniforms.d.ts.map +1 -1
- package/dist/adapter/helpers/uniforms.js +8 -18
- package/dist/adapter/helpers/uniforms.js.map +1 -1
- package/dist/adapter/objects/constants-to-keys.d.ts +1 -3
- package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
- package/dist/adapter/objects/constants-to-keys.js +1 -28
- package/dist/adapter/objects/constants-to-keys.js.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.d.ts +15 -12
- package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.js +35 -41
- package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
- package/dist/adapter/objects/webgl-resource.d.ts +6 -9
- package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-resource.js +19 -75
- package/dist/adapter/objects/webgl-resource.js.map +1 -1
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts +38 -11
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-vertex-array-object.js +122 -32
- package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -1
- package/dist/adapter/resources/webgl-buffer.d.ts +18 -10
- package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-buffer.js +43 -71
- package/dist/adapter/resources/webgl-buffer.js.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.d.ts +15 -9
- package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.js +169 -41
- package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
- package/dist/adapter/resources/webgl-command-encoder.d.ts +7 -6
- package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-encoder.js +8 -17
- package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
- package/dist/adapter/resources/webgl-external-texture.js.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.d.ts +21 -24
- package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.js +41 -149
- package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.d.ts +19 -4
- package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.js +88 -9
- package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.d.ts +44 -11
- package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.js +90 -152
- package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
- package/dist/adapter/resources/webgl-sampler.d.ts +6 -5
- package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-sampler.js +7 -15
- package/dist/adapter/resources/webgl-sampler.js.map +1 -1
- package/dist/adapter/resources/webgl-shader.d.ts +3 -4
- package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-shader.js +9 -22
- package/dist/adapter/resources/webgl-shader.js.map +1 -1
- package/dist/adapter/resources/webgl-texture.d.ts +64 -44
- package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-texture.js +98 -213
- package/dist/adapter/resources/webgl-texture.js.map +1 -1
- package/dist/adapter/webgl-canvas-context.d.ts +6 -7
- package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
- package/dist/adapter/webgl-canvas-context.js +8 -20
- package/dist/adapter/webgl-canvas-context.js.map +1 -1
- package/dist/adapter/webgl-device.d.ts +64 -41
- package/dist/adapter/webgl-device.d.ts.map +1 -1
- package/dist/adapter/webgl-device.js +133 -113
- package/dist/adapter/webgl-device.js.map +1 -1
- package/dist/classic/accessor.d.ts +3 -3
- package/dist/classic/accessor.d.ts.map +1 -1
- package/dist/classic/accessor.js +14 -38
- package/dist/classic/accessor.js.map +1 -1
- package/dist/classic/{buffer.d.ts → buffer-with-accessor.d.ts} +16 -28
- package/dist/classic/buffer-with-accessor.d.ts.map +1 -0
- package/dist/classic/{buffer.js → buffer-with-accessor.js} +54 -122
- package/dist/classic/buffer-with-accessor.js.map +1 -0
- package/dist/classic/clear.d.ts +22 -0
- package/dist/classic/clear.d.ts.map +1 -0
- package/dist/classic/clear.js +88 -0
- package/dist/classic/clear.js.map +1 -0
- package/dist/classic/copy-and-blit.d.ts +62 -0
- package/dist/classic/copy-and-blit.d.ts.map +1 -0
- package/dist/classic/copy-and-blit.js +202 -0
- package/dist/classic/copy-and-blit.js.map +1 -0
- package/dist/classic/format-utils.d.ts +3 -0
- package/dist/classic/format-utils.d.ts.map +1 -0
- package/dist/classic/format-utils.js +38 -0
- package/dist/classic/format-utils.js.map +1 -0
- package/dist/classic/typed-array-utils.d.ts +15 -17
- package/dist/classic/typed-array-utils.d.ts.map +1 -1
- package/dist/classic/typed-array-utils.js +1 -21
- package/dist/classic/typed-array-utils.js.map +1 -1
- package/dist/context/context/create-browser-context.d.ts +40 -0
- package/dist/context/context/create-browser-context.d.ts.map +1 -0
- package/dist/{esm/context/context/create-context.js → context/context/create-browser-context.js} +23 -19
- package/dist/context/context/create-browser-context.js.map +1 -0
- package/dist/context/context/create-headless-context.d.ts +9 -0
- package/dist/context/context/create-headless-context.d.ts.map +1 -0
- package/dist/context/context/create-headless-context.js +42 -0
- package/dist/context/context/create-headless-context.js.map +1 -0
- package/dist/context/context/webgl-checks.js +1 -4
- package/dist/context/context/webgl-checks.js.map +1 -1
- package/dist/context/debug/spector.d.ts +1 -2
- package/dist/context/debug/spector.d.ts.map +1 -1
- package/dist/context/debug/spector.js +8 -20
- package/dist/context/debug/spector.js.map +1 -1
- package/dist/context/debug/webgl-developer-tools.d.ts +2 -2
- package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
- package/dist/context/debug/webgl-developer-tools.js +11 -34
- package/dist/context/debug/webgl-developer-tools.js.map +1 -1
- package/dist/context/parameters/unified-parameter-api.d.ts +8 -7
- package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
- package/dist/context/parameters/unified-parameter-api.js +8 -18
- package/dist/context/parameters/unified-parameter-api.js.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.d.ts +105 -106
- package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.js +18 -36
- package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
- package/dist/context/polyfill/context-data.d.ts +13 -0
- package/dist/context/polyfill/context-data.d.ts.map +1 -0
- package/dist/context/polyfill/context-data.js +12 -0
- package/dist/context/polyfill/context-data.js.map +1 -0
- package/dist/context/polyfill/get-parameter-polyfill.d.ts +1 -1
- package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -1
- package/dist/context/polyfill/get-parameter-polyfill.js +4 -9
- package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
- package/dist/context/polyfill/polyfill-context.js +21 -29
- package/dist/context/polyfill/polyfill-context.js.map +1 -1
- package/dist/context/polyfill/polyfill-table.d.ts +8 -8
- package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-table.js +10 -32
- package/dist/context/polyfill/polyfill-table.js.map +1 -1
- package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-vertex-array-object.js +0 -70
- package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
- package/dist/context/state-tracker/deep-array-equal.js +0 -4
- package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
- package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
- package/dist/context/state-tracker/track-context-state.js +16 -51
- package/dist/context/state-tracker/track-context-state.js.map +1 -1
- package/dist/context/state-tracker/with-parameters.d.ts +2 -1
- package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
- package/dist/context/state-tracker/with-parameters.js +7 -9
- package/dist/context/state-tracker/with-parameters.js.map +1 -1
- package/dist/dist.dev.js +10158 -0
- package/dist/index.cjs +6604 -0
- package/dist/index.d.ts +25 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -26
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist.min.js +37 -0
- package/package.json +21 -9
- package/src/adapter/converters/device-parameters.ts +88 -35
- package/src/adapter/converters/sampler-parameters.ts +19 -9
- package/src/adapter/converters/texture-formats.ts +261 -178
- package/src/adapter/converters/vertex-formats.ts +3 -2
- package/src/adapter/device-helpers/device-features.ts +10 -3
- package/src/adapter/device-helpers/device-limits.ts +3 -3
- package/src/adapter/device-helpers/get-device-info.ts +14 -10
- package/src/adapter/helpers/attribute-utils.ts +4 -5
- package/src/adapter/helpers/get-shader-info.ts +40 -0
- package/src/adapter/helpers/get-shader-layout.ts +150 -68
- package/src/adapter/helpers/parse-shader-compiler-log.ts +2 -2
- package/src/adapter/helpers/set-uniform.ts +7 -6
- package/src/adapter/helpers/uniforms.ts +23 -13
- package/src/adapter/objects/constants-to-keys.ts +3 -25
- package/src/adapter/objects/webgl-renderbuffer.ts +40 -37
- package/src/adapter/objects/webgl-resource.ts +14 -23
- package/src/adapter/objects/webgl-vertex-array-object.ts +201 -37
- package/src/adapter/resources/webgl-buffer.ts +56 -58
- package/src/adapter/resources/webgl-command-buffer.ts +332 -25
- package/src/adapter/resources/webgl-command-encoder.ts +16 -11
- package/src/adapter/resources/webgl-external-texture.ts +2 -2
- package/src/adapter/resources/webgl-framebuffer.ts +88 -133
- package/src/adapter/resources/webgl-render-pass.ts +155 -4
- package/src/adapter/resources/webgl-render-pipeline.ts +161 -104
- package/src/adapter/resources/webgl-sampler.ts +13 -8
- package/src/adapter/resources/webgl-shader.ts +11 -10
- package/src/adapter/resources/webgl-texture.ts +113 -85
- package/src/adapter/webgl-canvas-context.ts +14 -14
- package/src/adapter/webgl-device.ts +192 -77
- package/src/classic/accessor.ts +4 -17
- package/src/classic/{buffer.ts → buffer-with-accessor.ts} +67 -75
- package/src/classic/clear.ts +110 -0
- package/src/classic/copy-and-blit.ts +308 -0
- package/src/classic/format-utils.ts +43 -0
- package/src/classic/typed-array-utils.ts +18 -27
- package/src/context/context/{create-context.ts → create-browser-context.ts} +48 -31
- package/src/context/context/create-headless-context.ts +48 -0
- package/src/context/context/webgl-checks.ts +1 -1
- package/src/context/debug/spector.ts +7 -6
- package/src/context/debug/webgl-developer-tools.ts +21 -15
- package/src/context/parameters/unified-parameter-api.ts +20 -14
- package/src/context/parameters/webgl-parameter-tables.ts +117 -98
- package/src/context/polyfill/context-data.ts +27 -0
- package/src/context/polyfill/get-parameter-polyfill.ts +8 -7
- package/src/context/polyfill/polyfill-context.ts +7 -9
- package/src/context/polyfill/polyfill-table.ts +18 -16
- package/src/context/polyfill/polyfill-vertex-array-object.ts +2 -0
- package/src/context/state-tracker/track-context-state.ts +14 -13
- package/src/context/state-tracker/with-parameters.ts +8 -2
- package/src/index.ts +42 -33
- package/dist/adapter/converters/renderbuffer-formats.d.ts +0 -16
- package/dist/adapter/converters/renderbuffer-formats.d.ts.map +0 -1
- package/dist/adapter/converters/renderbuffer-formats.js +0 -185
- package/dist/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/bundle.d.ts +0 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/bundle.js +0 -5
- package/dist/bundle.js.map +0 -1
- package/dist/classic/buffer.d.ts.map +0 -1
- package/dist/classic/buffer.js.map +0 -1
- package/dist/context/context/context-state.d.ts +0 -18
- package/dist/context/context/context-state.d.ts.map +0 -1
- package/dist/context/context/context-state.js +0 -26
- package/dist/context/context/context-state.js.map +0 -1
- package/dist/context/context/create-context.d.ts +0 -41
- package/dist/context/context/create-context.d.ts.map +0 -1
- package/dist/context/context/create-context.js +0 -49
- package/dist/context/context/create-context.js.map +0 -1
- package/dist/context/context/device-pixels.d.ts +0 -25
- package/dist/context/context/device-pixels.d.ts.map +0 -1
- package/dist/context/context/device-pixels.js +0 -98
- package/dist/context/context/device-pixels.js.map +0 -1
- package/dist/es5/adapter/converters/device-parameters.js +0 -170
- package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
- package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -163
- package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/es5/adapter/converters/sampler-parameters.js +0 -226
- package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/es5/adapter/converters/texture-formats.js +0 -1031
- package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
- package/dist/es5/adapter/converters/vertex-formats.js +0 -45
- package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/es5/adapter/device-helpers/device-features.js +0 -144
- package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/es5/adapter/device-helpers/device-limits.js +0 -64
- package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/es5/adapter/device-helpers/get-device-info.js +0 -55
- package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -16
- package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/es5/adapter/helpers/attribute-utils.js +0 -91
- package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/es5/adapter/helpers/get-shader-layout.js +0 -371
- package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -72
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/es5/adapter/helpers/set-uniform.js +0 -125
- package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/es5/adapter/helpers/uniforms.js +0 -112
- package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
- package/dist/es5/adapter/objects/constants-to-keys.js +0 -54
- package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -150
- package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-resource.js +0 -292
- package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -137
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-buffer.js +0 -243
- package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -96
- package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -98
- package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
- package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -345
- package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-render-pass.js +0 -61
- package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -505
- package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-sampler.js +0 -96
- package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-shader.js +0 -149
- package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-texture.js +0 -986
- package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/es5/adapter/webgl-canvas-context.js +0 -97
- package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/es5/adapter/webgl-device.js +0 -399
- package/dist/es5/adapter/webgl-device.js.map +0 -1
- package/dist/es5/bundle.js +0 -7
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/classic/accessor.js +0 -181
- package/dist/es5/classic/accessor.js.map +0 -1
- package/dist/es5/classic/buffer.js +0 -470
- package/dist/es5/classic/buffer.js.map +0 -1
- package/dist/es5/classic/typed-array-utils.js +0 -126
- package/dist/es5/classic/typed-array-utils.js.map +0 -1
- package/dist/es5/context/context/context-state.js +0 -31
- package/dist/es5/context/context/context-state.js.map +0 -1
- package/dist/es5/context/context/create-context.js +0 -69
- package/dist/es5/context/context/create-context.js.map +0 -1
- package/dist/es5/context/context/device-pixels.js +0 -115
- package/dist/es5/context/context/device-pixels.js.map +0 -1
- package/dist/es5/context/context/webgl-checks.js +0 -54
- package/dist/es5/context/context/webgl-checks.js.map +0 -1
- package/dist/es5/context/debug/spector.js +0 -133
- package/dist/es5/context/debug/spector.js.map +0 -1
- package/dist/es5/context/debug/webgl-developer-tools.js +0 -198
- package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/es5/context/parameters/unified-parameter-api.js +0 -97
- package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -392
- package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -81
- package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-context.js +0 -135
- package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-table.js +0 -166
- package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -341
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/es5/context/state-tracker/deep-array-equal.js +0 -28
- package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/es5/context/state-tracker/track-context-state.js +0 -211
- package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/es5/context/state-tracker/with-parameters.js +0 -44
- package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
- package/dist/es5/index.js +0 -276
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/init.js +0 -10
- package/dist/es5/init.js.map +0 -1
- package/dist/es5/types/webgl.js +0 -6
- package/dist/es5/types/webgl.js.map +0 -1
- package/dist/es5/types.js +0 -2
- package/dist/es5/types.js.map +0 -1
- package/dist/esm/adapter/converters/device-parameters.js +0 -155
- package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
- package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -185
- package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/esm/adapter/converters/sampler-parameters.js +0 -208
- package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/esm/adapter/converters/texture-formats.js +0 -954
- package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
- package/dist/esm/adapter/converters/vertex-formats.js +0 -35
- package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/esm/adapter/device-helpers/device-features.js +0 -102
- package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/esm/adapter/device-helpers/device-limits.js +0 -91
- package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/esm/adapter/device-helpers/get-device-info.js +0 -44
- package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -8
- package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/esm/adapter/helpers/attribute-utils.js +0 -81
- package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/esm/adapter/helpers/get-shader-layout.js +0 -306
- package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -37
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/esm/adapter/helpers/set-uniform.js +0 -115
- package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/esm/adapter/helpers/uniforms.js +0 -99
- package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
- package/dist/esm/adapter/objects/constants-to-keys.js +0 -42
- package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -94
- package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-resource.js +0 -216
- package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -84
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-buffer.js +0 -164
- package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -65
- package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -53
- package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
- package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -265
- package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-render-pass.js +0 -19
- package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -400
- package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-sampler.js +0 -50
- package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-shader.js +0 -75
- package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-texture.js +0 -831
- package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/esm/adapter/webgl-canvas-context.js +0 -54
- package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/esm/adapter/webgl-device.js +0 -280
- package/dist/esm/adapter/webgl-device.js.map +0 -1
- package/dist/esm/bundle.js +0 -5
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/classic/accessor.js +0 -144
- package/dist/esm/classic/accessor.js.map +0 -1
- package/dist/esm/classic/buffer.js +0 -384
- package/dist/esm/classic/buffer.js.map +0 -1
- package/dist/esm/classic/typed-array-utils.js +0 -112
- package/dist/esm/classic/typed-array-utils.js.map +0 -1
- package/dist/esm/context/context/context-state.js +0 -26
- package/dist/esm/context/context/context-state.js.map +0 -1
- package/dist/esm/context/context/create-context.js.map +0 -1
- package/dist/esm/context/context/device-pixels.js +0 -98
- package/dist/esm/context/context/device-pixels.js.map +0 -1
- package/dist/esm/context/context/webgl-checks.js +0 -34
- package/dist/esm/context/context/webgl-checks.js.map +0 -1
- package/dist/esm/context/debug/spector.js +0 -76
- package/dist/esm/context/debug/spector.js.map +0 -1
- package/dist/esm/context/debug/webgl-developer-tools.js +0 -121
- package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/esm/context/parameters/unified-parameter-api.js +0 -65
- package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -445
- package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -91
- package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-context.js +0 -92
- package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-table.js +0 -160
- package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -335
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/esm/context/state-tracker/deep-array-equal.js +0 -21
- package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/esm/context/state-tracker/track-context-state.js +0 -183
- package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/esm/context/state-tracker/with-parameters.js +0 -36
- package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
- package/dist/esm/index.js +0 -27
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/init.js +0 -4
- package/dist/esm/init.js.map +0 -1
- package/dist/esm/types/webgl.js +0 -2
- package/dist/esm/types/webgl.js.map +0 -1
- package/dist/esm/types.js +0 -2
- package/dist/esm/types.js.map +0 -1
- package/dist/init.d.ts +0 -2
- package/dist/init.d.ts.map +0 -1
- package/dist/init.js +0 -4
- package/dist/init.js.map +0 -1
- package/dist/types/webgl.d.ts +0 -144
- package/dist/types/webgl.d.ts.map +0 -1
- package/dist/types/webgl.js +0 -2
- package/dist/types/webgl.js.map +0 -1
- package/src/adapter/converters/renderbuffer-formats.ts +0 -92
- package/src/bundle.ts +0 -4
- package/src/context/context/context-state.ts +0 -41
- package/src/context/context/device-pixels.ts +0 -152
- package/src/init.ts +0 -4
- package/src/types/webgl.ts +0 -283
package/dist/classic/accessor.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
-
import { assert, checkProps } from '@luma.gl/
|
|
3
|
-
import GL from '@luma.gl/constants';
|
|
4
|
-
import { getTypedArrayFromGLType } from
|
|
2
|
+
import { assert, checkProps } from '@luma.gl/core';
|
|
3
|
+
import { GL } from '@luma.gl/constants';
|
|
4
|
+
import { getTypedArrayFromGLType } from "./typed-array-utils.js";
|
|
5
5
|
const DEFAULT_ACCESSOR_VALUES = {
|
|
6
6
|
offset: 0,
|
|
7
7
|
stride: 0,
|
|
@@ -17,100 +17,80 @@ const PROP_CHECKS = {
|
|
|
17
17
|
isInstanced: 'divisor'
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
|
-
export
|
|
20
|
+
export class Accessor {
|
|
21
21
|
static getBytesPerElement(accessor) {
|
|
22
22
|
const ArrayType = getTypedArrayFromGLType(accessor.type || GL.FLOAT);
|
|
23
23
|
return ArrayType.BYTES_PER_ELEMENT;
|
|
24
24
|
}
|
|
25
|
-
|
|
26
25
|
static getBytesPerVertex(accessor) {
|
|
27
26
|
assert(accessor.size);
|
|
28
27
|
const ArrayType = getTypedArrayFromGLType(accessor.type || GL.FLOAT);
|
|
29
28
|
return ArrayType.BYTES_PER_ELEMENT * accessor.size;
|
|
30
29
|
}
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
static resolve() {
|
|
31
|
+
for (var _len = arguments.length, accessors = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
32
|
+
accessors[_key] = arguments[_key];
|
|
33
|
+
}
|
|
33
34
|
return new Accessor(...[DEFAULT_ACCESSOR_VALUES, ...accessors]);
|
|
34
35
|
}
|
|
35
|
-
|
|
36
|
-
constructor(...accessors) {
|
|
36
|
+
constructor() {
|
|
37
37
|
_defineProperty(this, "offset", void 0);
|
|
38
|
-
|
|
39
38
|
_defineProperty(this, "stride", void 0);
|
|
40
|
-
|
|
41
39
|
_defineProperty(this, "type", void 0);
|
|
42
|
-
|
|
43
40
|
_defineProperty(this, "size", void 0);
|
|
44
|
-
|
|
45
41
|
_defineProperty(this, "divisor", void 0);
|
|
46
|
-
|
|
47
42
|
_defineProperty(this, "normalized", void 0);
|
|
48
|
-
|
|
49
43
|
_defineProperty(this, "integer", void 0);
|
|
50
|
-
|
|
51
44
|
_defineProperty(this, "buffer", void 0);
|
|
52
|
-
|
|
53
45
|
_defineProperty(this, "index", void 0);
|
|
54
|
-
|
|
46
|
+
for (var _len2 = arguments.length, accessors = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
47
|
+
accessors[_key2] = arguments[_key2];
|
|
48
|
+
}
|
|
55
49
|
accessors.forEach(accessor => this._assign(accessor));
|
|
56
50
|
Object.freeze(this);
|
|
57
51
|
}
|
|
58
|
-
|
|
59
52
|
toString() {
|
|
60
53
|
return JSON.stringify(this);
|
|
61
54
|
}
|
|
62
|
-
|
|
63
55
|
get BYTES_PER_ELEMENT() {
|
|
64
56
|
return Accessor.getBytesPerElement(this);
|
|
65
57
|
}
|
|
66
|
-
|
|
67
58
|
get BYTES_PER_VERTEX() {
|
|
68
59
|
return Accessor.getBytesPerVertex(this);
|
|
69
60
|
}
|
|
70
|
-
|
|
71
|
-
|
|
61
|
+
_assign() {
|
|
62
|
+
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
72
63
|
props = checkProps('Accessor', props, PROP_CHECKS);
|
|
73
|
-
|
|
74
64
|
if (props.type !== undefined) {
|
|
75
65
|
this.type = props.type;
|
|
76
|
-
|
|
77
66
|
if (props.type === GL.INT || props.type === GL.UNSIGNED_INT) {
|
|
78
67
|
this.integer = true;
|
|
79
68
|
}
|
|
80
69
|
}
|
|
81
|
-
|
|
82
70
|
if (props.size !== undefined) {
|
|
83
71
|
this.size = props.size;
|
|
84
72
|
}
|
|
85
|
-
|
|
86
73
|
if (props.offset !== undefined) {
|
|
87
74
|
this.offset = props.offset;
|
|
88
75
|
}
|
|
89
|
-
|
|
90
76
|
if (props.stride !== undefined) {
|
|
91
77
|
this.stride = props.stride;
|
|
92
78
|
}
|
|
93
|
-
|
|
94
79
|
if (props.normalize !== undefined) {
|
|
95
80
|
this.normalized = props.normalize;
|
|
96
81
|
}
|
|
97
|
-
|
|
98
82
|
if (props.normalized !== undefined) {
|
|
99
83
|
this.normalized = props.normalized;
|
|
100
84
|
}
|
|
101
|
-
|
|
102
85
|
if (props.integer !== undefined) {
|
|
103
86
|
this.integer = props.integer;
|
|
104
87
|
}
|
|
105
|
-
|
|
106
88
|
if (props.divisor !== undefined) {
|
|
107
89
|
this.divisor = props.divisor;
|
|
108
90
|
}
|
|
109
|
-
|
|
110
91
|
if (props.buffer !== undefined) {
|
|
111
92
|
this.buffer = props.buffer;
|
|
112
93
|
}
|
|
113
|
-
|
|
114
94
|
if (props.index !== undefined) {
|
|
115
95
|
if (typeof props.index === 'boolean') {
|
|
116
96
|
this.index = props.index ? 1 : 0;
|
|
@@ -118,15 +98,12 @@ export default class Accessor {
|
|
|
118
98
|
this.index = props.index;
|
|
119
99
|
}
|
|
120
100
|
}
|
|
121
|
-
|
|
122
101
|
if (props.instanced !== undefined) {
|
|
123
102
|
this.divisor = props.instanced ? 1 : 0;
|
|
124
103
|
}
|
|
125
|
-
|
|
126
104
|
if (props.isInstanced !== undefined) {
|
|
127
105
|
this.divisor = props.isInstanced ? 1 : 0;
|
|
128
106
|
}
|
|
129
|
-
|
|
130
107
|
if (this.offset === undefined) delete this.offset;
|
|
131
108
|
if (this.stride === undefined) delete this.stride;
|
|
132
109
|
if (this.type === undefined) delete this.type;
|
|
@@ -138,7 +115,6 @@ export default class Accessor {
|
|
|
138
115
|
if (this.index === undefined) delete this.index;
|
|
139
116
|
return this;
|
|
140
117
|
}
|
|
141
|
-
|
|
142
118
|
}
|
|
143
119
|
export { DEFAULT_ACCESSOR_VALUES };
|
|
144
120
|
//# sourceMappingURL=accessor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"accessor.js","names":["assert","checkProps","GL","getTypedArrayFromGLType","DEFAULT_ACCESSOR_VALUES","offset","stride","type","FLOAT","size","divisor","normalized","integer","PROP_CHECKS","deprecatedProps","instanced","isInstanced","Accessor","getBytesPerElement","accessor","ArrayType","BYTES_PER_ELEMENT","getBytesPerVertex","resolve","_len","arguments","length","accessors","Array","_key","constructor","_defineProperty","_len2","_key2","forEach","_assign","Object","freeze","toString","JSON","stringify","BYTES_PER_VERTEX","props","undefined","INT","UNSIGNED_INT","normalize","buffer","index"],"sources":["../../src/classic/accessor.ts"],"sourcesContent":["import {assert, checkProps, Buffer, AccessorObject} from '@luma.gl/core';\nimport {GL} from '@luma.gl/constants';\nimport {getTypedArrayFromGLType} from './typed-array-utils';\n\nconst DEFAULT_ACCESSOR_VALUES = {\n offset: 0,\n stride: 0,\n type: GL.FLOAT,\n size: 1,\n divisor: 0,\n normalized: false,\n integer: false\n};\n\nconst PROP_CHECKS = {\n deprecatedProps: {\n instanced: 'divisor',\n isInstanced: 'divisor'\n }\n};\n\nexport class Accessor implements AccessorObject {\n offset?: number;\n stride?: number;\n type?: number;\n size?: number;\n divisor?: number;\n normalized?: boolean;\n integer?: boolean;\n\n buffer?: Buffer;\n index?: number;\n\n static getBytesPerElement(accessor: Accessor | AccessorObject): number {\n // TODO: using `FLOAT` when type is not specified,\n // ensure this assumption is valid or force API to specify type.\n const ArrayType = getTypedArrayFromGLType(accessor.type || GL.FLOAT);\n return ArrayType.BYTES_PER_ELEMENT;\n }\n\n static getBytesPerVertex(accessor: AccessorObject): number {\n assert(accessor.size);\n // TODO: using `FLOAT` when type is not specified,\n // ensure this assumption is valid or force API to specify type.\n const ArrayType = getTypedArrayFromGLType(accessor.type || GL.FLOAT);\n return ArrayType.BYTES_PER_ELEMENT * accessor.size;\n }\n\n // Combines (merges) a list of accessors. On top of default values\n // Usually [programAccessor, bufferAccessor, appAccessor]\n // All props will be set in the returned object.\n // TODO check for conflicts between values in the supplied accessors\n static resolve(...accessors: AccessorObject[]): Accessor {\n return new Accessor(...[DEFAULT_ACCESSOR_VALUES, ...accessors]); // Default values\n }\n\n constructor(...accessors: AccessorObject[]) {\n accessors.forEach((accessor) => this._assign(accessor)); // Merge in sequence\n Object.freeze(this);\n }\n\n toString(): string {\n return JSON.stringify(this);\n }\n\n // ACCESSORS\n\n // TODO - remove>\n get BYTES_PER_ELEMENT(): number {\n return Accessor.getBytesPerElement(this);\n }\n\n get BYTES_PER_VERTEX(): number {\n return Accessor.getBytesPerVertex(this);\n }\n\n // PRIVATE\n\n // eslint-disable-next-line complexity, max-statements\n _assign(props: AccessorObject = {}): this {\n props = checkProps('Accessor', props, PROP_CHECKS);\n\n if (props.type !== undefined) {\n this.type = props.type;\n\n // Auto-deduce integer type?\n if (props.type === GL.INT || props.type === GL.UNSIGNED_INT) {\n this.integer = true;\n }\n }\n if (props.size !== undefined) {\n this.size = props.size;\n }\n if (props.offset !== undefined) {\n this.offset = props.offset;\n }\n if (props.stride !== undefined) {\n this.stride = props.stride;\n }\n // @ts-expect-error\n if (props.normalize !== undefined) {\n // @ts-expect-error\n this.normalized = props.normalize;\n }\n if (props.normalized !== undefined) {\n this.normalized = props.normalized;\n }\n if (props.integer !== undefined) {\n this.integer = props.integer;\n }\n\n // INSTANCE DIVISOR\n if (props.divisor !== undefined) {\n this.divisor = props.divisor;\n }\n\n // Buffer is optional\n if (props.buffer !== undefined) {\n this.buffer = props.buffer;\n }\n\n // The binding index (for binding e.g. Transform feedbacks and Uniform buffers)\n // TODO - should this be part of accessor?\n if (props.index !== undefined) {\n if (typeof props.index === 'boolean') {\n this.index = props.index ? 1 : 0;\n } else {\n this.index = props.index;\n }\n }\n\n // DEPRECATED\n // @ts-expect-error\n if (props.instanced !== undefined) {\n // @ts-expect-error\n this.divisor = props.instanced ? 1 : 0;\n }\n // @ts-expect-error\n if (props.isInstanced !== undefined) {\n // @ts-expect-error\n this.divisor = props.isInstanced ? 1 : 0;\n }\n\n if (this.offset === undefined) delete this.offset;\n if (this.stride === undefined) delete this.stride;\n if (this.type === undefined) delete this.type;\n if (this.size === undefined) delete this.size;\n if (this.divisor === undefined) delete this.divisor;\n if (this.normalized === undefined) delete this.normalized;\n if (this.integer === undefined) delete this.integer;\n \n if (this.buffer === undefined) delete this.buffer;\n if (this.index === undefined) delete this.index;\n \n return this;\n }\n}\n\n// TEST EXPORTS\nexport {DEFAULT_ACCESSOR_VALUES};\n"],"mappings":"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"}
|
|
@@ -1,39 +1,27 @@
|
|
|
1
|
-
import type { Device, BufferProps, TypedArray } from '@luma.gl/
|
|
2
|
-
import GL from '@luma.gl/constants';
|
|
1
|
+
import type { Device, BufferProps, TypedArray } from '@luma.gl/core';
|
|
2
|
+
import { GL } from '@luma.gl/constants';
|
|
3
3
|
import { AccessorObject } from '../types';
|
|
4
|
-
import Accessor from './accessor';
|
|
5
|
-
import WEBGLBuffer from '../adapter/resources/webgl-buffer';
|
|
4
|
+
import { Accessor } from './accessor';
|
|
5
|
+
import { WEBGLBuffer } from '../adapter/resources/webgl-buffer';
|
|
6
6
|
/** WebGL Buffer interface */
|
|
7
|
-
export
|
|
7
|
+
export type BufferWithAccessorProps = BufferProps & {
|
|
8
8
|
handle?: WebGLBuffer;
|
|
9
|
-
target?: number;
|
|
10
|
-
webglUsage?: number;
|
|
11
9
|
accessor?: AccessorObject;
|
|
12
|
-
/** @deprecated */
|
|
13
|
-
index?: number;
|
|
14
|
-
/** @deprecated */
|
|
15
|
-
offset?: number;
|
|
16
|
-
/** @deprecated */
|
|
17
|
-
size?: number;
|
|
18
|
-
/** @deprecated */
|
|
19
|
-
type?: number;
|
|
20
10
|
};
|
|
21
11
|
/** WebGL Buffer interface */
|
|
22
|
-
export
|
|
12
|
+
export declare class BufferWithAccessor extends WEBGLBuffer {
|
|
23
13
|
usage: number;
|
|
24
14
|
accessor: Accessor;
|
|
25
|
-
constructor(device: Device | WebGLRenderingContext, props?:
|
|
15
|
+
constructor(device: Device | WebGLRenderingContext, props?: BufferWithAccessorProps);
|
|
26
16
|
constructor(device: Device | WebGLRenderingContext, data: ArrayBufferView | number[]);
|
|
27
17
|
constructor(device: Device | WebGLRenderingContext, byteLength: number);
|
|
28
|
-
destroy(): void;
|
|
29
|
-
write(data: TypedArray, byteOffset?: number): void;
|
|
30
18
|
getElementCount(accessor?: AccessorObject): number;
|
|
31
19
|
getVertexCount(accessor?: AccessorObject): number;
|
|
32
|
-
initialize(props?:
|
|
33
|
-
setProps(props:
|
|
20
|
+
initialize(props?: BufferWithAccessorProps): this;
|
|
21
|
+
setProps(props: BufferWithAccessorProps): this;
|
|
34
22
|
setAccessor(accessor: AccessorObject | Accessor): this;
|
|
35
23
|
reallocate(byteLength: number): boolean;
|
|
36
|
-
setData(props:
|
|
24
|
+
setData(props: BufferWithAccessorProps): this;
|
|
37
25
|
subData(options: TypedArray | {
|
|
38
26
|
data: TypedArray;
|
|
39
27
|
offset?: number;
|
|
@@ -69,13 +57,13 @@ export default class ClassicBuffer extends WEBGLBuffer {
|
|
|
69
57
|
* - GL.UNIFORM_BUFFER: `size` must be a minimum of GL.UNIFORM_BLOCK_SIZE_DATA.
|
|
70
58
|
*/
|
|
71
59
|
bind(options?: {
|
|
72
|
-
|
|
60
|
+
glTarget?: number;
|
|
73
61
|
index?: any;
|
|
74
62
|
offset?: number;
|
|
75
|
-
size
|
|
63
|
+
size?: any;
|
|
76
64
|
}): this;
|
|
77
65
|
unbind(options?: {
|
|
78
|
-
|
|
66
|
+
glTarget?: any;
|
|
79
67
|
index?: any;
|
|
80
68
|
}): this;
|
|
81
69
|
getDebugData(): {
|
|
@@ -84,12 +72,12 @@ export default class ClassicBuffer extends WEBGLBuffer {
|
|
|
84
72
|
};
|
|
85
73
|
invalidateDebugData(): void;
|
|
86
74
|
_setData(data: any, offset?: number, byteLength?: number): this;
|
|
87
|
-
_setByteLength(byteLength: number
|
|
88
|
-
_getTarget():
|
|
75
|
+
_setByteLength(byteLength: number): this;
|
|
76
|
+
_getTarget(): GL.ARRAY_BUFFER | GL.ELEMENT_ARRAY_BUFFER | GL.COPY_WRITE_BUFFER | GL.UNIFORM_BUFFER;
|
|
89
77
|
_getAvailableElementCount(srcByteOffset: number): number;
|
|
90
78
|
_inferType(data: any): void;
|
|
91
79
|
getParameter(pname: GL): any;
|
|
92
80
|
/** @deprecated Use Buffer.accessor.type */
|
|
93
81
|
get type(): number;
|
|
94
82
|
}
|
|
95
|
-
//# sourceMappingURL=buffer.d.ts.map
|
|
83
|
+
//# sourceMappingURL=buffer-with-accessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffer-with-accessor.d.ts","sourceRoot":"","sources":["../../src/classic/buffer-with-accessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
-
import { assert, checkProps } from '@luma.gl/
|
|
3
|
-
import GL from '@luma.gl/constants';
|
|
4
|
-
import { assertWebGL2Context } from
|
|
5
|
-
import Accessor from
|
|
6
|
-
import { getGLTypeFromTypedArray, getTypedArrayFromGLType } from
|
|
7
|
-
import WebGLDevice from
|
|
8
|
-
import WEBGLBuffer from
|
|
2
|
+
import { assert, checkProps } from '@luma.gl/core';
|
|
3
|
+
import { GL } from '@luma.gl/constants';
|
|
4
|
+
import { assertWebGL2Context } from "../context/context/webgl-checks.js";
|
|
5
|
+
import { Accessor } from "./accessor.js";
|
|
6
|
+
import { getGLTypeFromTypedArray, getTypedArrayFromGLType } from "./typed-array-utils.js";
|
|
7
|
+
import { WebGLDevice } from "../adapter/webgl-device.js";
|
|
8
|
+
import { WEBGLBuffer } from "../adapter/resources/webgl-buffer.js";
|
|
9
9
|
const DEBUG_DATA_LENGTH = 10;
|
|
10
10
|
const DEPRECATED_PROPS = {
|
|
11
11
|
offset: 'accessor.offset',
|
|
@@ -28,7 +28,6 @@ const PROP_CHECKS_INITIALIZE = {
|
|
|
28
28
|
const PROP_CHECKS_SET_PROPS = {
|
|
29
29
|
removedProps: DEPRECATED_PROPS
|
|
30
30
|
};
|
|
31
|
-
|
|
32
31
|
function getWEBGLBufferProps(props) {
|
|
33
32
|
if (ArrayBuffer.isView(props)) {
|
|
34
33
|
return {
|
|
@@ -39,28 +38,19 @@ function getWEBGLBufferProps(props) {
|
|
|
39
38
|
byteLength: props
|
|
40
39
|
};
|
|
41
40
|
}
|
|
42
|
-
|
|
43
41
|
props = checkProps('Buffer', props, PROP_CHECKS_INITIALIZE);
|
|
44
|
-
const bufferProps = {
|
|
42
|
+
const bufferProps = {
|
|
43
|
+
...props
|
|
45
44
|
};
|
|
46
|
-
|
|
47
|
-
if (bufferProps.offset) {
|
|
48
|
-
bufferProps.byteOffset = bufferProps.offset;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
45
|
return bufferProps;
|
|
52
46
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
47
|
+
export class BufferWithAccessor extends WEBGLBuffer {
|
|
48
|
+
constructor(device) {
|
|
49
|
+
let props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
56
50
|
super(WebGLDevice.attach(device), getWEBGLBufferProps(props));
|
|
57
|
-
|
|
58
51
|
_defineProperty(this, "usage", void 0);
|
|
59
|
-
|
|
60
52
|
_defineProperty(this, "accessor", void 0);
|
|
61
|
-
|
|
62
53
|
this.setAccessor(Object.assign({}, props, props.accessor));
|
|
63
|
-
|
|
64
54
|
if (this.props.data) {
|
|
65
55
|
const type = getGLTypeFromTypedArray(this.props.data);
|
|
66
56
|
assert(type);
|
|
@@ -68,100 +58,69 @@ export default class ClassicBuffer extends WEBGLBuffer {
|
|
|
68
58
|
type
|
|
69
59
|
}));
|
|
70
60
|
}
|
|
71
|
-
|
|
72
61
|
Object.seal(this);
|
|
73
62
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
if (this.handle) {
|
|
77
|
-
this.removeStats();
|
|
78
|
-
this.trackDeallocatedMemory();
|
|
79
|
-
this.gl.deleteBuffer(this.handle);
|
|
80
|
-
this.handle = null;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
write(data, byteOffset) {
|
|
85
|
-
this.subData({
|
|
86
|
-
data,
|
|
87
|
-
offset: byteOffset
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
getElementCount(accessor = this.accessor) {
|
|
63
|
+
getElementCount() {
|
|
64
|
+
let accessor = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.accessor;
|
|
92
65
|
return Math.round(this.byteLength / Accessor.getBytesPerElement(accessor));
|
|
93
66
|
}
|
|
94
|
-
|
|
95
|
-
|
|
67
|
+
getVertexCount() {
|
|
68
|
+
let accessor = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.accessor;
|
|
96
69
|
return Math.round(this.byteLength / Accessor.getBytesPerVertex(accessor));
|
|
97
70
|
}
|
|
98
|
-
|
|
99
|
-
|
|
71
|
+
initialize() {
|
|
72
|
+
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
100
73
|
if (ArrayBuffer.isView(props)) {
|
|
101
74
|
props = {
|
|
102
75
|
data: props
|
|
103
76
|
};
|
|
104
77
|
}
|
|
105
|
-
|
|
106
78
|
if (Number.isFinite(props)) {
|
|
107
79
|
props = {
|
|
108
80
|
byteLength: props
|
|
109
81
|
};
|
|
110
82
|
}
|
|
111
|
-
|
|
112
83
|
props = checkProps('Buffer', props, PROP_CHECKS_INITIALIZE);
|
|
113
|
-
this.
|
|
84
|
+
this.glUsage = props.glUsage || GL.STATIC_DRAW;
|
|
114
85
|
this.debugData = null;
|
|
115
86
|
this.setAccessor(Object.assign({}, props, props.accessor));
|
|
116
|
-
|
|
117
87
|
if (props.data) {
|
|
118
|
-
this._setData(props.data, props.
|
|
88
|
+
this._setData(props.data, props.byteOffset, props.byteLength);
|
|
119
89
|
} else {
|
|
120
90
|
this._setByteLength(props.byteLength || 0);
|
|
121
91
|
}
|
|
122
|
-
|
|
123
92
|
return this;
|
|
124
93
|
}
|
|
125
|
-
|
|
126
94
|
setProps(props) {
|
|
127
95
|
props = checkProps('Buffer', props, PROP_CHECKS_SET_PROPS);
|
|
128
|
-
|
|
129
96
|
if ('accessor' in props) {
|
|
130
97
|
this.setAccessor(props.accessor);
|
|
131
98
|
}
|
|
132
|
-
|
|
133
99
|
return this;
|
|
134
100
|
}
|
|
135
|
-
|
|
136
101
|
setAccessor(accessor) {
|
|
137
102
|
accessor = Object.assign({}, accessor);
|
|
138
103
|
delete accessor.buffer;
|
|
139
104
|
this.accessor = new Accessor(accessor);
|
|
140
105
|
return this;
|
|
141
106
|
}
|
|
142
|
-
|
|
143
107
|
reallocate(byteLength) {
|
|
144
108
|
if (byteLength > this.byteLength) {
|
|
145
109
|
this._setByteLength(byteLength);
|
|
146
|
-
|
|
147
110
|
return true;
|
|
148
111
|
}
|
|
149
|
-
|
|
150
112
|
this.bytesUsed = byteLength;
|
|
151
113
|
return false;
|
|
152
114
|
}
|
|
153
|
-
|
|
154
115
|
setData(props) {
|
|
155
116
|
return this.initialize(props);
|
|
156
117
|
}
|
|
157
|
-
|
|
158
118
|
subData(options) {
|
|
159
119
|
if (ArrayBuffer.isView(options)) {
|
|
160
120
|
options = {
|
|
161
121
|
data: options
|
|
162
122
|
};
|
|
163
123
|
}
|
|
164
|
-
|
|
165
124
|
const {
|
|
166
125
|
data,
|
|
167
126
|
offset = 0,
|
|
@@ -169,24 +128,19 @@ export default class ClassicBuffer extends WEBGLBuffer {
|
|
|
169
128
|
} = options;
|
|
170
129
|
const byteLength = options.byteLength || options.length;
|
|
171
130
|
assert(data);
|
|
172
|
-
const
|
|
173
|
-
this.gl.bindBuffer(
|
|
174
|
-
|
|
131
|
+
const glTarget = this.gl.webgl2 ? GL.COPY_WRITE_BUFFER : this.glTarget;
|
|
132
|
+
this.gl.bindBuffer(glTarget, this.handle);
|
|
175
133
|
if (srcOffset !== 0 || byteLength !== undefined) {
|
|
176
134
|
assertWebGL2Context(this.gl);
|
|
177
|
-
this.gl.bufferSubData(this.
|
|
135
|
+
this.gl.bufferSubData(this.glTarget, offset, data, srcOffset, byteLength);
|
|
178
136
|
} else {
|
|
179
|
-
this.gl.bufferSubData(
|
|
137
|
+
this.gl.bufferSubData(glTarget, offset, data);
|
|
180
138
|
}
|
|
181
|
-
|
|
182
|
-
this.gl.bindBuffer(target, null);
|
|
139
|
+
this.gl.bindBuffer(glTarget, null);
|
|
183
140
|
this.debugData = null;
|
|
184
|
-
|
|
185
141
|
this._inferType(data);
|
|
186
|
-
|
|
187
142
|
return this;
|
|
188
143
|
}
|
|
189
|
-
|
|
190
144
|
copyData(options) {
|
|
191
145
|
const {
|
|
192
146
|
sourceBuffer,
|
|
@@ -201,14 +155,14 @@ export default class ClassicBuffer extends WEBGLBuffer {
|
|
|
201
155
|
assertWebGL2Context(gl);
|
|
202
156
|
gl.bindBuffer(GL.COPY_READ_BUFFER, sourceBuffer.handle);
|
|
203
157
|
gl.bindBuffer(GL.COPY_WRITE_BUFFER, this.handle);
|
|
204
|
-
gl2.copyBufferSubData(GL.COPY_READ_BUFFER, GL.COPY_WRITE_BUFFER, readOffset, writeOffset, size);
|
|
158
|
+
gl2 === null || gl2 === void 0 ? void 0 : gl2.copyBufferSubData(GL.COPY_READ_BUFFER, GL.COPY_WRITE_BUFFER, readOffset, writeOffset, size);
|
|
205
159
|
gl.bindBuffer(GL.COPY_READ_BUFFER, null);
|
|
206
160
|
gl.bindBuffer(GL.COPY_WRITE_BUFFER, null);
|
|
207
161
|
this.debugData = null;
|
|
208
162
|
return this;
|
|
209
163
|
}
|
|
210
|
-
|
|
211
164
|
getData(options) {
|
|
165
|
+
var _this$gl;
|
|
212
166
|
let {
|
|
213
167
|
dstData = null,
|
|
214
168
|
length = 0
|
|
@@ -221,13 +175,10 @@ export default class ClassicBuffer extends WEBGLBuffer {
|
|
|
221
175
|
const ArrayType = getTypedArrayFromGLType(this.accessor.type || GL.FLOAT, {
|
|
222
176
|
clamped: false
|
|
223
177
|
});
|
|
224
|
-
|
|
225
178
|
const sourceAvailableElementCount = this._getAvailableElementCount(srcByteOffset);
|
|
226
|
-
|
|
227
179
|
const dstElementOffset = dstOffset;
|
|
228
180
|
let dstAvailableElementCount;
|
|
229
181
|
let dstElementCount;
|
|
230
|
-
|
|
231
182
|
if (dstData) {
|
|
232
183
|
dstElementCount = dstData.length;
|
|
233
184
|
dstAvailableElementCount = dstElementCount - dstElementOffset;
|
|
@@ -235,55 +186,50 @@ export default class ClassicBuffer extends WEBGLBuffer {
|
|
|
235
186
|
dstAvailableElementCount = Math.min(sourceAvailableElementCount, length || sourceAvailableElementCount);
|
|
236
187
|
dstElementCount = dstElementOffset + dstAvailableElementCount;
|
|
237
188
|
}
|
|
238
|
-
|
|
239
189
|
const copyElementCount = Math.min(sourceAvailableElementCount, dstAvailableElementCount);
|
|
240
190
|
length = length || copyElementCount;
|
|
241
191
|
assert(length <= copyElementCount);
|
|
242
192
|
dstData = dstData || new ArrayType(dstElementCount);
|
|
243
193
|
this.gl.bindBuffer(GL.COPY_READ_BUFFER, this.handle);
|
|
244
|
-
this.gl2.getBufferSubData(GL.COPY_READ_BUFFER, srcByteOffset, dstData, dstOffset, length);
|
|
194
|
+
(_this$gl = this.gl2) === null || _this$gl === void 0 ? void 0 : _this$gl.getBufferSubData(GL.COPY_READ_BUFFER, srcByteOffset, dstData, dstOffset, length);
|
|
245
195
|
this.gl.bindBuffer(GL.COPY_READ_BUFFER, null);
|
|
246
196
|
return dstData;
|
|
247
197
|
}
|
|
248
|
-
|
|
249
198
|
bind(options) {
|
|
250
199
|
const {
|
|
251
|
-
|
|
200
|
+
glTarget = this.glTarget,
|
|
252
201
|
index = this.accessor && this.accessor.index,
|
|
253
202
|
offset = 0,
|
|
254
203
|
size
|
|
255
204
|
} = options || {};
|
|
256
|
-
|
|
257
|
-
if (target === GL.UNIFORM_BUFFER || target === GL.TRANSFORM_FEEDBACK_BUFFER) {
|
|
205
|
+
if (glTarget === GL.UNIFORM_BUFFER || glTarget === GL.TRANSFORM_FEEDBACK_BUFFER) {
|
|
258
206
|
if (size !== undefined) {
|
|
259
|
-
|
|
207
|
+
var _this$gl2;
|
|
208
|
+
(_this$gl2 = this.gl2) === null || _this$gl2 === void 0 ? void 0 : _this$gl2.bindBufferRange(glTarget, index, this.handle, offset, size);
|
|
260
209
|
} else {
|
|
210
|
+
var _this$gl3;
|
|
261
211
|
assert(offset === 0);
|
|
262
|
-
this.gl2.bindBufferBase(
|
|
212
|
+
(_this$gl3 = this.gl2) === null || _this$gl3 === void 0 ? void 0 : _this$gl3.bindBufferBase(glTarget, index, this.handle);
|
|
263
213
|
}
|
|
264
214
|
} else {
|
|
265
|
-
this.gl.bindBuffer(
|
|
215
|
+
this.gl.bindBuffer(glTarget, this.handle);
|
|
266
216
|
}
|
|
267
|
-
|
|
268
217
|
return this;
|
|
269
218
|
}
|
|
270
|
-
|
|
271
219
|
unbind(options) {
|
|
272
220
|
const {
|
|
273
|
-
|
|
221
|
+
glTarget = this.glTarget,
|
|
274
222
|
index = this.accessor && this.accessor.index
|
|
275
223
|
} = options || {};
|
|
276
|
-
const isIndexedBuffer =
|
|
277
|
-
|
|
224
|
+
const isIndexedBuffer = glTarget === GL.UNIFORM_BUFFER || glTarget === GL.TRANSFORM_FEEDBACK_BUFFER;
|
|
278
225
|
if (isIndexedBuffer) {
|
|
279
|
-
|
|
226
|
+
var _this$gl4;
|
|
227
|
+
(_this$gl4 = this.gl2) === null || _this$gl4 === void 0 ? void 0 : _this$gl4.bindBufferBase(glTarget, index, null);
|
|
280
228
|
} else {
|
|
281
|
-
this.gl.bindBuffer(
|
|
229
|
+
this.gl.bindBuffer(glTarget, null);
|
|
282
230
|
}
|
|
283
|
-
|
|
284
231
|
return this;
|
|
285
232
|
}
|
|
286
|
-
|
|
287
233
|
getDebugData() {
|
|
288
234
|
if (!this.debugData) {
|
|
289
235
|
this.debugData = this.getData({
|
|
@@ -294,25 +240,22 @@ export default class ClassicBuffer extends WEBGLBuffer {
|
|
|
294
240
|
changed: true
|
|
295
241
|
};
|
|
296
242
|
}
|
|
297
|
-
|
|
298
243
|
return {
|
|
299
244
|
data: this.debugData,
|
|
300
245
|
changed: false
|
|
301
246
|
};
|
|
302
247
|
}
|
|
303
|
-
|
|
304
248
|
invalidateDebugData() {
|
|
305
249
|
this.debugData = null;
|
|
306
250
|
}
|
|
307
|
-
|
|
308
|
-
|
|
251
|
+
_setData(data) {
|
|
252
|
+
let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
253
|
+
let byteLength = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : data.byteLength + offset;
|
|
309
254
|
assert(ArrayBuffer.isView(data));
|
|
310
255
|
this.trackDeallocatedMemory();
|
|
311
|
-
|
|
312
256
|
const target = this._getTarget();
|
|
313
|
-
|
|
314
257
|
this.gl.bindBuffer(target, this.handle);
|
|
315
|
-
this.gl.bufferData(target, byteLength, this.
|
|
258
|
+
this.gl.bufferData(target, byteLength, this.glUsage);
|
|
316
259
|
this.gl.bufferSubData(target, offset, data);
|
|
317
260
|
this.gl.bindBuffer(target, null);
|
|
318
261
|
this.debugData = data.slice(0, DEBUG_DATA_LENGTH);
|
|
@@ -326,33 +269,26 @@ export default class ClassicBuffer extends WEBGLBuffer {
|
|
|
326
269
|
}));
|
|
327
270
|
return this;
|
|
328
271
|
}
|
|
329
|
-
|
|
330
|
-
_setByteLength(byteLength, webglUsage = this.webglUsage) {
|
|
272
|
+
_setByteLength(byteLength) {
|
|
331
273
|
assert(byteLength >= 0);
|
|
332
274
|
this.trackDeallocatedMemory();
|
|
333
275
|
let data = byteLength;
|
|
334
|
-
|
|
335
276
|
if (byteLength === 0) {
|
|
336
277
|
data = new Float32Array(0);
|
|
337
278
|
}
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
this.gl.bindBuffer(
|
|
342
|
-
this.gl.bufferData(target, data, webglUsage);
|
|
343
|
-
this.gl.bindBuffer(target, null);
|
|
344
|
-
this.webglUsage = webglUsage;
|
|
279
|
+
const glTarget = this._getTarget();
|
|
280
|
+
this.gl.bindBuffer(glTarget, this.handle);
|
|
281
|
+
this.gl.bufferData(glTarget, data, this.glUsage);
|
|
282
|
+
this.gl.bindBuffer(glTarget, null);
|
|
345
283
|
this.debugData = null;
|
|
346
284
|
this.bytesUsed = byteLength;
|
|
347
285
|
this.byteLength = byteLength;
|
|
348
286
|
this.trackAllocatedMemory(byteLength);
|
|
349
287
|
return this;
|
|
350
288
|
}
|
|
351
|
-
|
|
352
289
|
_getTarget() {
|
|
353
|
-
return this.gl.webgl2 ? GL.COPY_WRITE_BUFFER : this.
|
|
290
|
+
return this.gl.webgl2 ? GL.COPY_WRITE_BUFFER : this.glTarget;
|
|
354
291
|
}
|
|
355
|
-
|
|
356
292
|
_getAvailableElementCount(srcByteOffset) {
|
|
357
293
|
const ArrayType = getTypedArrayFromGLType(this.accessor.type || GL.FLOAT, {
|
|
358
294
|
clamped: false
|
|
@@ -360,7 +296,6 @@ export default class ClassicBuffer extends WEBGLBuffer {
|
|
|
360
296
|
const sourceElementOffset = srcByteOffset / ArrayType.BYTES_PER_ELEMENT;
|
|
361
297
|
return this.getElementCount() - sourceElementOffset;
|
|
362
298
|
}
|
|
363
|
-
|
|
364
299
|
_inferType(data) {
|
|
365
300
|
if (!this.accessor.type) {
|
|
366
301
|
this.setAccessor(new Accessor(this.accessor, {
|
|
@@ -368,17 +303,14 @@ export default class ClassicBuffer extends WEBGLBuffer {
|
|
|
368
303
|
}));
|
|
369
304
|
}
|
|
370
305
|
}
|
|
371
|
-
|
|
372
306
|
getParameter(pname) {
|
|
373
|
-
this.gl.bindBuffer(this.
|
|
374
|
-
const value = this.gl.getBufferParameter(this.
|
|
375
|
-
this.gl.bindBuffer(this.
|
|
307
|
+
this.gl.bindBuffer(this.glTarget, this.handle);
|
|
308
|
+
const value = this.gl.getBufferParameter(this.glTarget, pname);
|
|
309
|
+
this.gl.bindBuffer(this.glTarget, null);
|
|
376
310
|
return value;
|
|
377
311
|
}
|
|
378
|
-
|
|
379
312
|
get type() {
|
|
380
313
|
return this.accessor.type;
|
|
381
314
|
}
|
|
382
|
-
|
|
383
315
|
}
|
|
384
|
-
//# sourceMappingURL=buffer.js.map
|
|
316
|
+
//# sourceMappingURL=buffer-with-accessor.js.map
|