@luma.gl/webgl 9.0.0-alpha.16 → 9.0.0-alpha.19
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/adapter/converters/device-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/device-parameters.js +117 -200
- package/dist/adapter/converters/device-parameters.js.map +1 -0
- package/dist/adapter/converters/renderbuffer-formats.d.ts +1 -1
- package/dist/adapter/converters/renderbuffer-formats.d.ts.map +1 -1
- package/dist/adapter/converters/renderbuffer-formats.js +172 -62
- package/dist/adapter/converters/renderbuffer-formats.js.map +1 -0
- package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/sampler-parameters.js +151 -149
- package/dist/adapter/converters/sampler-parameters.js.map +1 -0
- package/dist/adapter/converters/texture-formats.d.ts +2 -2
- package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
- package/dist/adapter/converters/texture-formats.js +847 -438
- package/dist/adapter/converters/texture-formats.js.map +1 -0
- package/dist/adapter/converters/vertex-formats.js +24 -15
- package/dist/adapter/converters/vertex-formats.js.map +1 -0
- package/dist/adapter/device-helpers/device-features.js +84 -120
- package/dist/adapter/device-helpers/device-features.js.map +1 -0
- package/dist/adapter/device-helpers/device-limits.d.ts +1 -1
- package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
- package/dist/adapter/device-helpers/device-limits.js +83 -88
- package/dist/adapter/device-helpers/device-limits.js.map +1 -0
- package/dist/adapter/device-helpers/get-device-info.js +37 -42
- package/dist/adapter/device-helpers/get-device-info.js.map +1 -0
- package/dist/adapter/device-helpers/is-old-ie.js +8 -10
- package/dist/adapter/device-helpers/is-old-ie.js.map +1 -0
- package/dist/adapter/helpers/attribute-utils.js +57 -50
- package/dist/adapter/helpers/attribute-utils.js.map +1 -0
- package/dist/adapter/helpers/get-shader-info.d.ts +1 -1
- package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -1
- package/dist/adapter/helpers/get-shader-info.js +19 -21
- package/dist/adapter/helpers/get-shader-info.js.map +1 -0
- package/dist/adapter/helpers/get-shader-layout.js +251 -310
- package/dist/adapter/helpers/get-shader-layout.js.map +1 -0
- package/dist/adapter/helpers/parse-shader-compiler-log.js +26 -32
- package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
- package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
- package/dist/adapter/helpers/set-uniform.js +80 -67
- package/dist/adapter/helpers/set-uniform.js.map +1 -0
- package/dist/adapter/helpers/uniforms.js +75 -80
- package/dist/adapter/helpers/uniforms.js.map +1 -0
- package/dist/adapter/objects/constants-to-keys.js +26 -33
- package/dist/adapter/objects/constants-to-keys.js.map +1 -0
- package/dist/adapter/objects/webgl-renderbuffer.d.ts +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.js +70 -67
- package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -0
- package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-resource.js +158 -213
- package/dist/adapter/objects/webgl-resource.js.map +1 -0
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts +1 -1
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-vertex-array-object.js +66 -74
- package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -0
- package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-buffer.js +118 -150
- package/dist/adapter/resources/webgl-buffer.js.map +1 -0
- package/dist/adapter/resources/webgl-command-buffer.d.ts +5 -5
- package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.js +41 -40
- package/dist/adapter/resources/webgl-command-buffer.js.map +1 -0
- package/dist/adapter/resources/webgl-command-encoder.js +37 -26
- package/dist/adapter/resources/webgl-command-encoder.js.map +1 -0
- package/dist/adapter/resources/webgl-external-texture.js +1 -91
- package/dist/adapter/resources/webgl-external-texture.js.map +1 -0
- package/dist/adapter/resources/webgl-framebuffer.d.ts +2 -2
- package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.js +198 -231
- package/dist/adapter/resources/webgl-framebuffer.js.map +1 -0
- package/dist/adapter/resources/webgl-render-pass.js +11 -8
- package/dist/adapter/resources/webgl-render-pass.js.map +1 -0
- package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.js +289 -316
- package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -0
- package/dist/adapter/resources/webgl-sampler.js +35 -42
- package/dist/adapter/resources/webgl-sampler.js.map +1 -0
- package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-shader.js +53 -57
- package/dist/adapter/resources/webgl-shader.js.map +1 -0
- package/dist/adapter/resources/webgl-texture.d.ts +4 -4
- package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-texture.js +697 -661
- package/dist/adapter/resources/webgl-texture.js.map +1 -0
- package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
- package/dist/adapter/webgl-canvas-context.js +35 -55
- package/dist/adapter/webgl-canvas-context.js.map +1 -0
- package/dist/adapter/webgl-device.d.ts +5 -0
- package/dist/adapter/webgl-device.d.ts.map +1 -1
- package/dist/adapter/webgl-device.js +270 -287
- package/dist/adapter/webgl-device.js.map +1 -0
- package/dist/classic/accessor.js +103 -120
- package/dist/classic/accessor.js.map +1 -0
- package/dist/classic/buffer.d.ts +1 -1
- package/dist/classic/buffer.d.ts.map +1 -1
- package/dist/classic/buffer.js +300 -325
- package/dist/classic/buffer.js.map +1 -0
- package/dist/classic/typed-array-utils.d.ts +1 -1
- package/dist/classic/typed-array-utils.d.ts.map +1 -1
- package/dist/classic/typed-array-utils.js +81 -91
- package/dist/classic/typed-array-utils.js.map +1 -0
- package/dist/context/context/create-browser-context.d.ts +3 -1
- package/dist/context/context/create-browser-context.d.ts.map +1 -1
- package/dist/context/context/create-browser-context.js +49 -66
- package/dist/context/context/create-browser-context.js.map +1 -0
- package/dist/context/context/create-headless-context.d.ts +1 -1
- package/dist/context/context/create-headless-context.d.ts.map +1 -1
- package/dist/context/context/create-headless-context.js +30 -24
- package/dist/context/context/create-headless-context.js.map +1 -0
- package/dist/context/context/webgl-checks.js +17 -25
- package/dist/context/context/webgl-checks.js.map +1 -0
- package/dist/context/debug/spector.d.ts +3 -1
- package/dist/context/debug/spector.d.ts.map +1 -1
- package/dist/context/debug/spector.js +50 -53
- package/dist/context/debug/spector.js.map +1 -0
- package/dist/context/debug/webgl-developer-tools.d.ts +1 -1
- package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
- package/dist/context/debug/webgl-developer-tools.js +76 -107
- package/dist/context/debug/webgl-developer-tools.js.map +1 -0
- package/dist/context/parameters/unified-parameter-api.js +46 -93
- package/dist/context/parameters/unified-parameter-api.js.map +1 -0
- package/dist/context/parameters/webgl-parameter-tables.d.ts +1 -1
- package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.js +404 -462
- package/dist/context/parameters/webgl-parameter-tables.js.map +1 -0
- package/dist/context/polyfill/context-data.js +10 -16
- package/dist/context/polyfill/context-data.js.map +1 -0
- package/dist/context/polyfill/get-parameter-polyfill.js +71 -91
- package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -0
- package/dist/context/polyfill/polyfill-context.js +73 -75
- package/dist/context/polyfill/polyfill-context.js.map +1 -0
- package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-table.js +116 -133
- package/dist/context/polyfill/polyfill-table.js.map +1 -0
- package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-vertex-array-object.js +227 -255
- package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
- package/dist/context/state-tracker/deep-array-equal.js +14 -16
- package/dist/context/state-tracker/deep-array-equal.js.map +1 -0
- package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
- package/dist/context/state-tracker/track-context-state.js +127 -183
- package/dist/context/state-tracker/track-context-state.js.map +1 -0
- package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
- package/dist/context/state-tracker/with-parameters.js +29 -43
- package/dist/context/state-tracker/with-parameters.js.map +1 -0
- package/dist/dist.dev.js +9205 -0
- package/dist/index.cjs +5948 -0
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -41
- package/dist/index.js.map +1 -0
- package/dist/types/webgl.d.ts +16 -16
- package/dist/types/webgl.d.ts.map +1 -1
- package/dist/types/webgl.js +1 -0
- package/dist/types/webgl.js.map +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -0
- package/dist.min.js +36 -0
- package/package.json +18 -9
- package/src/adapter/converters/device-parameters.ts +5 -2
- package/src/adapter/converters/sampler-parameters.ts +4 -2
- package/src/adapter/converters/texture-formats.ts +3 -1
- package/src/adapter/device-helpers/get-device-info.ts +8 -8
- package/src/adapter/helpers/get-shader-info.ts +1 -1
- package/src/adapter/helpers/get-shader-layout.ts +4 -4
- package/src/adapter/helpers/parse-shader-compiler-log.ts +1 -1
- package/src/adapter/helpers/set-uniform.ts +2 -0
- package/src/adapter/objects/webgl-renderbuffer.ts +1 -1
- package/src/adapter/objects/webgl-resource.ts +1 -1
- package/src/adapter/objects/webgl-vertex-array-object.ts +1 -1
- package/src/adapter/resources/webgl-buffer.ts +6 -6
- package/src/adapter/resources/webgl-command-encoder.ts +1 -1
- package/src/adapter/resources/webgl-framebuffer.ts +3 -4
- package/src/adapter/resources/webgl-render-pipeline.ts +19 -20
- package/src/adapter/resources/webgl-shader.ts +1 -1
- package/src/adapter/resources/webgl-texture.ts +8 -9
- package/src/adapter/webgl-canvas-context.ts +2 -2
- package/src/adapter/webgl-device.ts +12 -2
- package/src/classic/accessor.ts +1 -1
- package/src/classic/buffer.ts +3 -3
- package/src/classic/typed-array-utils.ts +1 -1
- package/src/context/context/create-browser-context.ts +4 -2
- package/src/context/context/create-headless-context.ts +2 -2
- package/src/context/debug/spector.ts +5 -4
- package/src/context/debug/webgl-developer-tools.ts +1 -0
- package/src/context/polyfill/polyfill-table.ts +1 -0
- package/src/context/polyfill/polyfill-vertex-array-object.ts +2 -0
- package/src/context/state-tracker/track-context-state.ts +6 -5
- package/src/context/state-tracker/with-parameters.ts +1 -1
- package/src/index.ts +1 -5
- package/src/types/webgl.ts +2 -0
- package/dist/bundle.d.ts +0 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/bundle.js +0 -4
- package/dist/dist.min.js +0 -1
- package/dist/es5/adapter/converters/device-parameters.js +0 -139
- package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
- package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -151
- package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/es5/adapter/converters/sampler-parameters.js +0 -182
- package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/es5/adapter/converters/texture-formats.js +0 -950
- package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
- package/dist/es5/adapter/converters/vertex-formats.js +0 -36
- package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/es5/adapter/device-helpers/device-features.js +0 -121
- package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/es5/adapter/device-helpers/device-limits.js +0 -54
- package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/es5/adapter/device-helpers/get-device-info.js +0 -49
- package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -15
- package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/es5/adapter/helpers/attribute-utils.js +0 -69
- package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/es5/adapter/helpers/get-shader-info.js +0 -31
- package/dist/es5/adapter/helpers/get-shader-info.js.map +0 -1
- package/dist/es5/adapter/helpers/get-shader-layout.js +0 -311
- package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -54
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/es5/adapter/helpers/set-uniform.js +0 -92
- package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/es5/adapter/helpers/uniforms.js +0 -88
- package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
- package/dist/es5/adapter/objects/constants-to-keys.js +0 -43
- package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -122
- package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-resource.js +0 -233
- package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -109
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-buffer.js +0 -196
- package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -70
- package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -80
- 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 -275
- package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-render-pass.js +0 -45
- package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -385
- package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-sampler.js +0 -75
- package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-shader.js +0 -111
- package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-texture.js +0 -826
- package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/es5/adapter/webgl-canvas-context.js +0 -72
- package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/es5/adapter/webgl-device.js +0 -387
- package/dist/es5/adapter/webgl-device.js.map +0 -1
- package/dist/es5/bundle.js +0 -6
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/classic/accessor.js +0 -151
- package/dist/es5/classic/accessor.js.map +0 -1
- package/dist/es5/classic/buffer.js +0 -398
- package/dist/es5/classic/buffer.js.map +0 -1
- package/dist/es5/classic/typed-array-utils.js +0 -99
- package/dist/es5/classic/typed-array-utils.js.map +0 -1
- package/dist/es5/context/context/create-browser-context.js +0 -66
- package/dist/es5/context/context/create-browser-context.js.map +0 -1
- package/dist/es5/context/context/create-headless-context.js +0 -47
- package/dist/es5/context/context/create-headless-context.js.map +0 -1
- package/dist/es5/context/context/webgl-checks.js +0 -44
- package/dist/es5/context/context/webgl-checks.js.map +0 -1
- package/dist/es5/context/debug/spector.js +0 -99
- package/dist/es5/context/debug/spector.js.map +0 -1
- package/dist/es5/context/debug/webgl-developer-tools.js +0 -146
- package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/es5/context/parameters/unified-parameter-api.js +0 -76
- package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -346
- package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/es5/context/polyfill/context-data.js +0 -18
- package/dist/es5/context/polyfill/context-data.js.map +0 -1
- package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -69
- package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-context.js +0 -109
- package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-table.js +0 -143
- package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -271
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/es5/context/state-tracker/deep-array-equal.js +0 -23
- package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/es5/context/state-tracker/track-context-state.js +0 -167
- package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/es5/context/state-tracker/with-parameters.js +0 -40
- package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
- package/dist/es5/index.js +0 -249
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/init.js +0 -7
- package/dist/es5/init.js.map +0 -1
- package/dist/es5/types/webgl.js +0 -5
- 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 -137
- package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
- package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -181
- package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/esm/adapter/converters/sampler-parameters.js +0 -172
- package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/esm/adapter/converters/texture-formats.js +0 -901
- package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
- package/dist/esm/adapter/converters/vertex-formats.js +0 -29
- package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/esm/adapter/device-helpers/device-features.js +0 -95
- package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/esm/adapter/device-helpers/device-limits.js +0 -88
- package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/esm/adapter/device-helpers/get-device-info.js +0 -42
- package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -9
- package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/esm/adapter/helpers/attribute-utils.js +0 -64
- package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/esm/adapter/helpers/get-shader-info.js +0 -25
- package/dist/esm/adapter/helpers/get-shader-info.js.map +0 -1
- package/dist/esm/adapter/helpers/get-shader-layout.js +0 -282
- package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -30
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/esm/adapter/helpers/set-uniform.js +0 -85
- package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/esm/adapter/helpers/uniforms.js +0 -89
- package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
- package/dist/esm/adapter/objects/constants-to-keys.js +0 -35
- package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -78
- package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-resource.js +0 -163
- package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -74
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-buffer.js +0 -134
- package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -50
- package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -41
- 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 -207
- package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-render-pass.js +0 -14
- package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -311
- package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-sampler.js +0 -42
- package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-shader.js +0 -62
- package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-texture.js +0 -714
- package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/esm/adapter/webgl-canvas-context.js +0 -41
- package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/esm/adapter/webgl-device.js +0 -276
- package/dist/esm/adapter/webgl-device.js.map +0 -1
- package/dist/esm/bundle.js +0 -4
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/classic/accessor.js +0 -120
- package/dist/esm/classic/accessor.js.map +0 -1
- package/dist/esm/classic/buffer.js +0 -327
- package/dist/esm/classic/buffer.js.map +0 -1
- package/dist/esm/classic/typed-array-utils.js +0 -92
- package/dist/esm/classic/typed-array-utils.js.map +0 -1
- package/dist/esm/context/context/create-browser-context.js +0 -53
- package/dist/esm/context/context/create-browser-context.js.map +0 -1
- package/dist/esm/context/context/create-headless-context.js +0 -39
- package/dist/esm/context/context/create-headless-context.js.map +0 -1
- package/dist/esm/context/context/webgl-checks.js +0 -31
- package/dist/esm/context/context/webgl-checks.js.map +0 -1
- package/dist/esm/context/debug/spector.js +0 -64
- package/dist/esm/context/debug/spector.js.map +0 -1
- package/dist/esm/context/debug/webgl-developer-tools.js +0 -97
- package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/esm/context/parameters/unified-parameter-api.js +0 -55
- package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -427
- package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/esm/context/polyfill/context-data.js +0 -12
- package/dist/esm/context/polyfill/context-data.js.map +0 -1
- package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -86
- package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-context.js +0 -84
- package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-table.js +0 -138
- package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -265
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/esm/context/state-tracker/deep-array-equal.js +0 -17
- package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/esm/context/state-tracker/track-context-state.js +0 -148
- package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/esm/context/state-tracker/with-parameters.js +0 -34
- 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 -3
- package/src/bundle.ts +0 -4
- package/src/init.ts +0 -4
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webgl-device.js","names":["_api","require","_env","_polyfillContext","_trackContextState","_createBrowserContext","_createHeadlessContext","_getDeviceInfo","_deviceFeatures","_deviceLimits","_webglCanvasContext","_interopRequireDefault","_spector","_webglDeveloperTools","_textureFormats","_buffer","_webglShader","_webglSampler","_webglTexture","_webglFramebuffer","_webglRenderPass","_webglRenderPipeline","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","LOG_LEVEL","WebGLDevice","_Device","_inherits2","_super","props","_props$gl","_this","_classCallCheck2","id","uid","_assertThisInitialized2","clientWidth","clientHeight","devicePixelRatio","device","gl","Error","concat","canvasContext","WebGLCanvasContext","lost","Promise","resolve","_resolveContextLost","onContextLost","event","_this$_resolveContext","_this2","reason","message","isBrowser","createBrowserContext","canvas","createHeadlessContext","handle","gl2","isWebGL2","isWebGL1","info","getDeviceInfo","_version","polyfillContext","_props$enable","enable","_props$copyState","copyState","trackContextState","log","_len","args","Array","_key","debug","makeDebugContext","webgl2","throwOnError","level","Math","max","warn","spector","initializeSpectorJS","type","vendor","renderer","probe","groupEnd","_createClass2","get","_features","getDeviceFeatures","_limits","getDeviceLimits","value","destroy","ext","getExtension","isContextLost","getSize","drawingBufferWidth","drawingBufferHeight","isTextureFormatSupported","format","isTextureFormatFilterable","isTextureFormatRenderable","assertWebGL2","createCanvasContext","_createBuffer","ClassicBuffer","_createTexture","WEBGLTexture","createExternalTexture","createSampler","WEBGLSampler","createShader","WEBGLShader","createFramebuffer","WEBGLFramebuffer","createRenderPipeline","WEBGLRenderPipeline","beginRenderPass","WEBGLRenderPass","createComputePipeline","beginComputePass","getDefaultRenderPass","renderPass","framebuffer","getCurrentFramebuffer","submit","_this$renderPass","end","_webglLimits","getWebGLLimits","loseDevice","_this$_resolveContext2","loseContext","pushState","pushContextState","popState","popContextState","isSupported","WebGLRenderingContext","isHeadlessGLRegistered","attach","Device","isWebGL","_create","_asyncToGenerator2","_regenerator","mark","_callee","_args","wrap","_callee$","_context","prev","next","undefined","groupCollapsed","CanvasContext","pageLoaded","loadWebGLDeveloperTools","loadSpectorJS","abrupt","stop","create","exports","WebGL2RenderingContext","Number","isFinite"],"sources":["../../../src/adapter/webgl-device.ts"],"sourcesContent":["// luma.gl, MIT license\nimport type {\n DeviceProps,\n DeviceInfo,\n DeviceLimits,\n DeviceFeature,\n CanvasContextProps,\n TextureFormat\n} from '@luma.gl/api';\nimport {Device, CanvasContext, log, uid} from '@luma.gl/api';\nimport {isBrowser} from '@probe.gl/env';\nimport {polyfillContext} from '../context/polyfill/polyfill-context';\nimport {popContextState, pushContextState, trackContextState} from '../context/state-tracker/track-context-state';\nimport {createBrowserContext} from '../context/context/create-browser-context';\nimport {\n createHeadlessContext,\n isHeadlessGLRegistered\n} from '../context/context/create-headless-context';\nimport {getDeviceInfo} from './device-helpers/get-device-info';\nimport {getDeviceFeatures} from './device-helpers/device-features';\nimport {getDeviceLimits, getWebGLLimits, WebGLLimits} from './device-helpers/device-limits';\nimport WebGLCanvasContext from './webgl-canvas-context';\nimport {loadSpectorJS, initializeSpectorJS} from '../context/debug/spector';\nimport {loadWebGLDeveloperTools, makeDebugContext} from '../context/debug/webgl-developer-tools';\nimport {\n isTextureFormatSupported,\n isTextureFormatRenderable,\n isTextureFormatFilterable\n} from './converters/texture-formats';\n\n// WebGL classes\nimport type {\n BufferProps,\n ShaderProps,\n // Sampler,\n SamplerProps,\n TextureProps,\n ExternalTexture,\n ExternalTextureProps,\n FramebufferProps,\n // RenderPipeline,\n RenderPipelineProps,\n ComputePipeline,\n ComputePipelineProps,\n // RenderPass,\n RenderPassProps,\n ComputePass,\n ComputePassProps\n} from '@luma.gl/api';\n\nimport ClassicBuffer from '../classic/buffer';\nimport WEBGLBuffer from './resources/webgl-buffer';\nimport WEBGLShader from './resources/webgl-shader';\nimport WEBGLSampler from './resources/webgl-sampler';\nimport WEBGLTexture from './resources/webgl-texture';\nimport WEBGLFramebuffer from './resources/webgl-framebuffer';\nimport WEBGLRenderPass from './resources/webgl-render-pass';\nimport WEBGLRenderPipeline from './resources/webgl-render-pipeline';\n\nconst LOG_LEVEL = 1;\n\n/** WebGPU style Device API for a WebGL context */\nexport default class WebGLDevice extends Device {\n //\n // Public `Device` API\n //\n\n static type: string = 'webgl';\n\n static isSupported(): boolean {\n return typeof WebGLRenderingContext !== 'undefined' || isHeadlessGLRegistered();\n }\n\n readonly info: DeviceInfo;\n readonly canvasContext: WebGLCanvasContext;\n\n readonly handle: WebGLRenderingContext;\n\n get features(): Set<DeviceFeature> {\n this._features = this._features || getDeviceFeatures(this.gl);\n return this._features;\n }\n\n get limits(): DeviceLimits {\n this._limits = this._limits || getDeviceLimits(this.gl);\n return this._limits;\n }\n\n readonly lost: Promise<{reason: 'destroyed'; message: string}>;\n\n private _resolveContextLost?: (value: {reason: 'destroyed'; message: string}) => void;\n private _features?: Set<DeviceFeature>;\n private _limits?: DeviceLimits;\n\n //\n // Static methods, expected to be present by `luma.createDevice()`\n //\n\n /**\n * Get a device instance from a GL context\n * Creates and instruments the device if not already created\n * @param gl\n * @returns\n */\n static attach(gl: Device | WebGLRenderingContext | WebGL2RenderingContext): WebGLDevice {\n if (gl instanceof WebGLDevice) {\n return gl;\n }\n // @ts-expect-error\n if (gl?.device instanceof Device) {\n // @ts-expect-error\n return gl.device as WebGLDevice;\n }\n if (!isWebGL(gl)) {\n throw new Error('Invalid WebGLRenderingContext');\n }\n return new WebGLDevice({gl: gl as WebGLRenderingContext});\n }\n\n static async create(props: DeviceProps = {}): Promise<WebGLDevice> {\n log.groupCollapsed(LOG_LEVEL, 'WebGLDevice created');\n\n // Wait for page to load. Only wait when props. canvas is string\n // to avoid setting page onload callback unless necessary\n if (typeof props.canvas === 'string') {\n await CanvasContext.pageLoaded;\n }\n\n // Load webgl and spector debug scripts from CDN if requested\n if (props.debug) {\n await loadWebGLDeveloperTools();\n }\n // @ts-expect-error spector not on props\n if (props.spector) {\n await loadSpectorJS();\n }\n\n log.probe(LOG_LEVEL + 1, 'DOM is loaded')();\n\n // @ts-expect-error\n if (props.gl && props.gl.device) {\n return WebGLDevice.attach(props.gl);\n }\n\n return new WebGLDevice(props);\n }\n\n //\n // Public API\n //\n\n constructor(props: DeviceProps) {\n super({...props, id: props.id || uid('webgl-device')});\n\n // If attaching to an already attached context, return the attached device\n // @ts-expect-error device is attached to context\n const device: WebGLDevice | undefined = props.gl?.device;\n if (device) {\n throw new Error(`WebGL context already attached to device ${device.id}`);\n }\n\n // Create and instrument context\n this.canvasContext = new WebGLCanvasContext(this, props);\n\n this.lost = new Promise<{reason: 'destroyed'; message: string}>((resolve) => {\n this._resolveContextLost = resolve;\n });\n\n const onContextLost = (event: Event) =>\n this._resolveContextLost?.({\n reason: 'destroyed',\n message: 'Computer entered sleep mode, or too many apps or browser tabs are using the GPU.'\n });\n\n let gl: WebGLRenderingContext | WebGL2RenderingContext | null = props.gl || null;\n gl =\n gl ||\n (isBrowser() ? createBrowserContext(this.canvasContext.canvas, {...props, onContextLost}) : null);\n gl = gl || (!isBrowser() ? createHeadlessContext({...props, onContextLost}) : null);\n\n if (!gl) {\n throw new Error('WebGL context creation failed');\n }\n\n this.handle = gl;\n this.gl = this.handle;\n this.gl2 = this.gl as WebGL2RenderingContext;\n this.isWebGL2 = isWebGL2(this.gl);\n this.isWebGL1 = !this.isWebGL2;\n\n // luma Device fields\n this.info = getDeviceInfo(this.gl);\n\n // @ts-expect-error Link webgl context back to device\n this.gl.device = this;\n // @ts-expect-error Annotate webgl context to handle\n this.gl._version = this.isWebGL2 ? 2 : 1;\n\n // Add subset of WebGL2 methods to WebGL1 context\n polyfillContext(this.gl);\n\n // Install context state tracking\n // @ts-expect-error - hidden parameters\n const {enable = true, copyState = false} = props;\n trackContextState(this.gl, {\n enable,\n copyState,\n log: (...args: any[]) => log.log(1, ...args)()\n });\n\n // DEBUG contexts: Add debug instrumentation to the context, force log level to at least 1\n if (isBrowser() && props.debug) {\n this.gl = makeDebugContext(this.gl, {...props, webgl2: this.isWebGL2, throwOnError: true});\n this.gl2 = this.gl as WebGL2RenderingContext;\n this.debug = true;\n log.level = Math.max(log.level, 1);\n log.warn('WebGL debug mode activated. Performance reduced.')();\n }\n\n // @ts-expect-error spector not on props\n if (isBrowser() && props.spector) {\n const canvas = this.handle.canvas || (props.canvas as HTMLCanvasElement);\n this.spector = initializeSpectorJS({...this.props, canvas});\n }\n\n // Log some debug info about the newly created context\n const message = `\\\nCreated ${this.info.type}${this.debug ? ' debug' : ''} context: \\\n${this.info.vendor}, ${this.info.renderer} for canvas: ${this.canvasContext.id}`;\n log.probe(LOG_LEVEL, message)();\n\n log.groupEnd(LOG_LEVEL)();\n }\n\n /**\n * Destroys the context\n * @note Has no effect for browser contexts, there is no browser API for destroying contexts\n */\n destroy(): void {\n const ext = this.gl.getExtension('STACKGL_destroy_context');\n if (ext) {\n ext.destroy();\n }\n }\n\n get isLost(): boolean {\n return this.gl.isContextLost();\n }\n\n getSize(): [number, number] {\n return [this.gl.drawingBufferWidth, this.gl.drawingBufferHeight];\n }\n\n isTextureFormatSupported(format: TextureFormat): boolean {\n return isTextureFormatSupported(this.gl, format);\n }\n\n isTextureFormatFilterable(format: TextureFormat): boolean {\n return isTextureFormatFilterable(this.gl, format);\n }\n\n isTextureFormatRenderable(format: TextureFormat): boolean {\n return isTextureFormatRenderable(this.gl, format);\n }\n\n // WEBGL SPECIFIC METHODS\n\n /** Returns a WebGL2RenderingContext or throws an error */\n assertWebGL2(): WebGL2RenderingContext {\n if (!this.gl2) {\n throw new Error('Requires WebGL2');\n }\n return this.gl2;\n }\n\n // IMPLEMENTATION OF ABSTRACT DEVICE\n\n createCanvasContext(props?: CanvasContextProps): CanvasContext {\n throw new Error('WebGL only supports a single canvas');\n }\n\n _createBuffer(props: BufferProps): WEBGLBuffer {\n return new ClassicBuffer(this, props);\n }\n\n _createTexture(props: TextureProps): WEBGLTexture {\n return new WEBGLTexture(this, props);\n }\n\n createExternalTexture(props: ExternalTextureProps): ExternalTexture {\n throw new Error('createExternalTexture() not implemented'); // return new Program(props);\n }\n\n createSampler(props: SamplerProps): WEBGLSampler {\n return new WEBGLSampler(this, props);\n }\n\n createShader(props: ShaderProps): WEBGLShader {\n return new WEBGLShader(this, props);\n }\n\n createFramebuffer(props: FramebufferProps): WEBGLFramebuffer {\n return new WEBGLFramebuffer(this, props);\n }\n\n createRenderPipeline(props: RenderPipelineProps): WEBGLRenderPipeline {\n return new WEBGLRenderPipeline(this, props);\n }\n\n beginRenderPass(props: RenderPassProps): WEBGLRenderPass {\n return new WEBGLRenderPass(this, props);\n }\n\n createComputePipeline(props?: ComputePipelineProps): ComputePipeline {\n throw new Error('ComputePipeline not supported in WebGL');\n }\n\n beginComputePass(props: ComputePassProps): ComputePass {\n throw new Error('compute shaders not supported in WebGL');\n }\n\n private renderPass: WEBGLRenderPass | null = null;\n\n getDefaultRenderPass(): WEBGLRenderPass {\n this.renderPass =\n this.renderPass ||\n this.beginRenderPass({\n framebuffer: this.canvasContext.getCurrentFramebuffer()\n });\n return this.renderPass;\n }\n\n /**\n * Offscreen Canvas Support: Commit the frame\n * https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/commit\n * Chrome's offscreen canvas does not require gl.commit\n */\n submit(): void {\n this.renderPass?.end();\n this.renderPass = null;\n // this.canvasContext.commit();\n }\n\n //\n // WebGL-only API (not part of `Device` API)\n //\n\n /** WebGL1 typed context. Can always be used. */\n readonly gl: WebGLRenderingContext;\n /** WebGL2 typed context. Need to check isWebGL2 or isWebGL1 before using. */\n readonly gl2: WebGL2RenderingContext | null = null;\n readonly debug: boolean = false;\n\n /** `true` if this is a WebGL1 context. @note `false` if WebGL2 */\n readonly isWebGL1: boolean;\n /** `true` if this is a WebGL2 context. @note `false` if WebGL1 */\n readonly isWebGL2: boolean;\n\n /** State used by luma.gl classes: TODO - move to canvasContext*/\n readonly _canvasSizeInfo = {clientWidth: 0, clientHeight: 0, devicePixelRatio: 1};\n\n /** State used by luma.gl classes - TODO - not used? */\n readonly _extensions: Record<string, any> = {};\n _polyfilled: boolean = false;\n\n /** Instance of Spector.js (if initialized) */\n spector;\n\n private _webglLimits?: WebGLLimits;\n\n /** Return WebGL specific limits */\n get webglLimits() : WebGLLimits {\n this._webglLimits = this._webglLimits || getWebGLLimits(this.gl);\n return this._webglLimits;\n }\n\n /**\n * Loses the context\n * @note Triggers context loss, mainly for testing\n * @todo Promote to `Device` API?\n */\n loseDevice(): void {\n const ext = this.gl.getExtension('WEBGL_lose_context');\n if (ext) {\n ext.loseContext();\n }\n // loseContext should trigger context loss callback but \n this._resolveContextLost?.({\n reason: 'destroyed',\n message: 'Application triggered context loss'\n });\n }\n\n /** Save current WebGL context state onto an internal stack */\n pushState(): void {\n pushContextState(this.gl);\n }\n\n /** Restores previously saved context state */\n popState(): void {\n popContextState(this.gl);\n }\n}\n\n/** Check if supplied parameter is a WebGLRenderingContext */\nfunction isWebGL(gl: any): boolean {\n if (typeof WebGLRenderingContext !== 'undefined' && gl instanceof WebGLRenderingContext) {\n return true;\n }\n if (typeof WebGL2RenderingContext !== 'undefined' && gl instanceof WebGL2RenderingContext) {\n return true;\n }\n // Look for debug contexts, headless gl etc\n return Boolean(gl && Number.isFinite(gl._version));\n}\n\n/** Check if supplied parameter is a WebGL2RenderingContext */\nfunction isWebGL2(gl: any): boolean {\n if (typeof WebGL2RenderingContext !== 'undefined' && gl instanceof WebGL2RenderingContext) {\n return true;\n }\n // Look for debug contexts, headless gl etc\n return Boolean(gl && gl._version === 2);\n}\n"],"mappings":"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"}
|
package/dist/es5/bundle.js
DELETED
package/dist/es5/bundle.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.js","names":["moduleExports","require","globalThis","luma","module","exports","Object","assign"],"sources":["../../src/bundle.ts"],"sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.luma = globalThis.luma || {};\nmodule.exports = Object.assign(globalThis.luma, moduleExports);\n"],"mappings":";;AACA,IAAMA,aAAa,GAAGC,OAAO,CAAC,SAAS,CAAC;AACxCC,UAAU,CAACC,IAAI,GAAGD,UAAU,CAACC,IAAI,IAAI,CAAC,CAAC;AACvCC,MAAM,CAACC,OAAO,GAAGC,MAAM,CAACC,MAAM,CAACL,UAAU,CAACC,IAAI,EAAEH,aAAa,CAAC"}
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = exports.DEFAULT_ACCESSOR_VALUES = void 0;
|
|
8
|
-
var _construct2 = _interopRequireDefault(require("@babel/runtime/helpers/construct"));
|
|
9
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
-
var _api = require("@luma.gl/api");
|
|
13
|
-
var _constants = _interopRequireDefault(require("@luma.gl/constants"));
|
|
14
|
-
var _typedArrayUtils = require("./typed-array-utils");
|
|
15
|
-
var DEFAULT_ACCESSOR_VALUES = {
|
|
16
|
-
offset: 0,
|
|
17
|
-
stride: 0,
|
|
18
|
-
type: _constants.default.FLOAT,
|
|
19
|
-
size: 1,
|
|
20
|
-
divisor: 0,
|
|
21
|
-
normalized: false,
|
|
22
|
-
integer: false
|
|
23
|
-
};
|
|
24
|
-
exports.DEFAULT_ACCESSOR_VALUES = DEFAULT_ACCESSOR_VALUES;
|
|
25
|
-
var PROP_CHECKS = {
|
|
26
|
-
deprecatedProps: {
|
|
27
|
-
instanced: 'divisor',
|
|
28
|
-
isInstanced: 'divisor'
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
var Accessor = function () {
|
|
32
|
-
function Accessor() {
|
|
33
|
-
var _this = this;
|
|
34
|
-
(0, _classCallCheck2.default)(this, Accessor);
|
|
35
|
-
(0, _defineProperty2.default)(this, "offset", void 0);
|
|
36
|
-
(0, _defineProperty2.default)(this, "stride", void 0);
|
|
37
|
-
(0, _defineProperty2.default)(this, "type", void 0);
|
|
38
|
-
(0, _defineProperty2.default)(this, "size", void 0);
|
|
39
|
-
(0, _defineProperty2.default)(this, "divisor", void 0);
|
|
40
|
-
(0, _defineProperty2.default)(this, "normalized", void 0);
|
|
41
|
-
(0, _defineProperty2.default)(this, "integer", void 0);
|
|
42
|
-
(0, _defineProperty2.default)(this, "buffer", void 0);
|
|
43
|
-
(0, _defineProperty2.default)(this, "index", void 0);
|
|
44
|
-
for (var _len = arguments.length, accessors = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
45
|
-
accessors[_key] = arguments[_key];
|
|
46
|
-
}
|
|
47
|
-
accessors.forEach(function (accessor) {
|
|
48
|
-
return _this._assign(accessor);
|
|
49
|
-
});
|
|
50
|
-
Object.freeze(this);
|
|
51
|
-
}
|
|
52
|
-
(0, _createClass2.default)(Accessor, [{
|
|
53
|
-
key: "toString",
|
|
54
|
-
value: function toString() {
|
|
55
|
-
return JSON.stringify(this);
|
|
56
|
-
}
|
|
57
|
-
}, {
|
|
58
|
-
key: "BYTES_PER_ELEMENT",
|
|
59
|
-
get: function get() {
|
|
60
|
-
return Accessor.getBytesPerElement(this);
|
|
61
|
-
}
|
|
62
|
-
}, {
|
|
63
|
-
key: "BYTES_PER_VERTEX",
|
|
64
|
-
get: function get() {
|
|
65
|
-
return Accessor.getBytesPerVertex(this);
|
|
66
|
-
}
|
|
67
|
-
}, {
|
|
68
|
-
key: "_assign",
|
|
69
|
-
value: function _assign() {
|
|
70
|
-
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
71
|
-
props = (0, _api.checkProps)('Accessor', props, PROP_CHECKS);
|
|
72
|
-
if (props.type !== undefined) {
|
|
73
|
-
this.type = props.type;
|
|
74
|
-
if (props.type === _constants.default.INT || props.type === _constants.default.UNSIGNED_INT) {
|
|
75
|
-
this.integer = true;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
if (props.size !== undefined) {
|
|
79
|
-
this.size = props.size;
|
|
80
|
-
}
|
|
81
|
-
if (props.offset !== undefined) {
|
|
82
|
-
this.offset = props.offset;
|
|
83
|
-
}
|
|
84
|
-
if (props.stride !== undefined) {
|
|
85
|
-
this.stride = props.stride;
|
|
86
|
-
}
|
|
87
|
-
if (props.normalize !== undefined) {
|
|
88
|
-
this.normalized = props.normalize;
|
|
89
|
-
}
|
|
90
|
-
if (props.normalized !== undefined) {
|
|
91
|
-
this.normalized = props.normalized;
|
|
92
|
-
}
|
|
93
|
-
if (props.integer !== undefined) {
|
|
94
|
-
this.integer = props.integer;
|
|
95
|
-
}
|
|
96
|
-
if (props.divisor !== undefined) {
|
|
97
|
-
this.divisor = props.divisor;
|
|
98
|
-
}
|
|
99
|
-
if (props.buffer !== undefined) {
|
|
100
|
-
this.buffer = props.buffer;
|
|
101
|
-
}
|
|
102
|
-
if (props.index !== undefined) {
|
|
103
|
-
if (typeof props.index === 'boolean') {
|
|
104
|
-
this.index = props.index ? 1 : 0;
|
|
105
|
-
} else {
|
|
106
|
-
this.index = props.index;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
if (props.instanced !== undefined) {
|
|
110
|
-
this.divisor = props.instanced ? 1 : 0;
|
|
111
|
-
}
|
|
112
|
-
if (props.isInstanced !== undefined) {
|
|
113
|
-
this.divisor = props.isInstanced ? 1 : 0;
|
|
114
|
-
}
|
|
115
|
-
if (this.offset === undefined) delete this.offset;
|
|
116
|
-
if (this.stride === undefined) delete this.stride;
|
|
117
|
-
if (this.type === undefined) delete this.type;
|
|
118
|
-
if (this.size === undefined) delete this.size;
|
|
119
|
-
if (this.divisor === undefined) delete this.divisor;
|
|
120
|
-
if (this.normalized === undefined) delete this.normalized;
|
|
121
|
-
if (this.integer === undefined) delete this.integer;
|
|
122
|
-
if (this.buffer === undefined) delete this.buffer;
|
|
123
|
-
if (this.index === undefined) delete this.index;
|
|
124
|
-
return this;
|
|
125
|
-
}
|
|
126
|
-
}], [{
|
|
127
|
-
key: "getBytesPerElement",
|
|
128
|
-
value: function getBytesPerElement(accessor) {
|
|
129
|
-
var ArrayType = (0, _typedArrayUtils.getTypedArrayFromGLType)(accessor.type || _constants.default.FLOAT);
|
|
130
|
-
return ArrayType.BYTES_PER_ELEMENT;
|
|
131
|
-
}
|
|
132
|
-
}, {
|
|
133
|
-
key: "getBytesPerVertex",
|
|
134
|
-
value: function getBytesPerVertex(accessor) {
|
|
135
|
-
(0, _api.assert)(accessor.size);
|
|
136
|
-
var ArrayType = (0, _typedArrayUtils.getTypedArrayFromGLType)(accessor.type || _constants.default.FLOAT);
|
|
137
|
-
return ArrayType.BYTES_PER_ELEMENT * accessor.size;
|
|
138
|
-
}
|
|
139
|
-
}, {
|
|
140
|
-
key: "resolve",
|
|
141
|
-
value: function resolve() {
|
|
142
|
-
for (var _len2 = arguments.length, accessors = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
143
|
-
accessors[_key2] = arguments[_key2];
|
|
144
|
-
}
|
|
145
|
-
return (0, _construct2.default)(Accessor, [DEFAULT_ACCESSOR_VALUES].concat(accessors));
|
|
146
|
-
}
|
|
147
|
-
}]);
|
|
148
|
-
return Accessor;
|
|
149
|
-
}();
|
|
150
|
-
exports.default = Accessor;
|
|
151
|
-
//# sourceMappingURL=accessor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"accessor.js","names":["_api","require","_constants","_interopRequireDefault","_typedArrayUtils","DEFAULT_ACCESSOR_VALUES","offset","stride","type","GL","FLOAT","size","divisor","normalized","integer","exports","PROP_CHECKS","deprecatedProps","instanced","isInstanced","Accessor","_this","_classCallCheck2","default","_defineProperty2","_len","arguments","length","accessors","Array","_key","forEach","accessor","_assign","Object","freeze","_createClass2","key","value","toString","JSON","stringify","get","getBytesPerElement","getBytesPerVertex","props","undefined","checkProps","INT","UNSIGNED_INT","normalize","buffer","index","ArrayType","getTypedArrayFromGLType","BYTES_PER_ELEMENT","assert","resolve","_len2","_key2","_construct2","concat"],"sources":["../../../src/classic/accessor.ts"],"sourcesContent":["import {assert, checkProps, Buffer, AccessorObject} from '@luma.gl/api';\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 default 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,398 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
11
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
12
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
var _api = require("@luma.gl/api");
|
|
16
|
-
var _constants = _interopRequireDefault(require("@luma.gl/constants"));
|
|
17
|
-
var _webglChecks = require("../context/context/webgl-checks");
|
|
18
|
-
var _accessor = _interopRequireDefault(require("./accessor"));
|
|
19
|
-
var _typedArrayUtils = require("./typed-array-utils");
|
|
20
|
-
var _webglDevice = _interopRequireDefault(require("../adapter/webgl-device"));
|
|
21
|
-
var _webglBuffer = _interopRequireDefault(require("../adapter/resources/webgl-buffer"));
|
|
22
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
23
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
24
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
25
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
26
|
-
var DEBUG_DATA_LENGTH = 10;
|
|
27
|
-
var DEPRECATED_PROPS = {
|
|
28
|
-
offset: 'accessor.offset',
|
|
29
|
-
stride: 'accessor.stride',
|
|
30
|
-
type: 'accessor.type',
|
|
31
|
-
size: 'accessor.size',
|
|
32
|
-
divisor: 'accessor.divisor',
|
|
33
|
-
normalized: 'accessor.normalized',
|
|
34
|
-
integer: 'accessor.integer',
|
|
35
|
-
instanced: 'accessor.divisor',
|
|
36
|
-
isInstanced: 'accessor.divisor'
|
|
37
|
-
};
|
|
38
|
-
var PROP_CHECKS_INITIALIZE = {
|
|
39
|
-
removedProps: {},
|
|
40
|
-
replacedProps: {
|
|
41
|
-
bytes: 'byteLength'
|
|
42
|
-
},
|
|
43
|
-
deprecatedProps: DEPRECATED_PROPS
|
|
44
|
-
};
|
|
45
|
-
var PROP_CHECKS_SET_PROPS = {
|
|
46
|
-
removedProps: DEPRECATED_PROPS
|
|
47
|
-
};
|
|
48
|
-
function getWEBGLBufferProps(props) {
|
|
49
|
-
if (ArrayBuffer.isView(props)) {
|
|
50
|
-
return {
|
|
51
|
-
data: props
|
|
52
|
-
};
|
|
53
|
-
} else if (typeof props === 'number') {
|
|
54
|
-
return {
|
|
55
|
-
byteLength: props
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
props = (0, _api.checkProps)('Buffer', props, PROP_CHECKS_INITIALIZE);
|
|
59
|
-
var bufferProps = _objectSpread({}, props);
|
|
60
|
-
if (bufferProps.offset) {
|
|
61
|
-
bufferProps.byteOffset = bufferProps.offset;
|
|
62
|
-
}
|
|
63
|
-
return bufferProps;
|
|
64
|
-
}
|
|
65
|
-
var ClassicBuffer = function (_WEBGLBuffer) {
|
|
66
|
-
(0, _inherits2.default)(ClassicBuffer, _WEBGLBuffer);
|
|
67
|
-
var _super = _createSuper(ClassicBuffer);
|
|
68
|
-
function ClassicBuffer(device) {
|
|
69
|
-
var _this;
|
|
70
|
-
var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
71
|
-
(0, _classCallCheck2.default)(this, ClassicBuffer);
|
|
72
|
-
_this = _super.call(this, _webglDevice.default.attach(device), getWEBGLBufferProps(props));
|
|
73
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "usage", void 0);
|
|
74
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "accessor", void 0);
|
|
75
|
-
_this.setAccessor(Object.assign({}, props, props.accessor));
|
|
76
|
-
if (_this.props.data) {
|
|
77
|
-
var type = (0, _typedArrayUtils.getGLTypeFromTypedArray)(_this.props.data);
|
|
78
|
-
(0, _api.assert)(type);
|
|
79
|
-
_this.setAccessor(new _accessor.default(_this.accessor, {
|
|
80
|
-
type: type
|
|
81
|
-
}));
|
|
82
|
-
}
|
|
83
|
-
Object.seal((0, _assertThisInitialized2.default)(_this));
|
|
84
|
-
return _this;
|
|
85
|
-
}
|
|
86
|
-
(0, _createClass2.default)(ClassicBuffer, [{
|
|
87
|
-
key: "write",
|
|
88
|
-
value: function write(data, byteOffset) {
|
|
89
|
-
this.subData({
|
|
90
|
-
data: data,
|
|
91
|
-
offset: byteOffset
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
}, {
|
|
95
|
-
key: "getElementCount",
|
|
96
|
-
value: function getElementCount() {
|
|
97
|
-
var accessor = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.accessor;
|
|
98
|
-
return Math.round(this.byteLength / _accessor.default.getBytesPerElement(accessor));
|
|
99
|
-
}
|
|
100
|
-
}, {
|
|
101
|
-
key: "getVertexCount",
|
|
102
|
-
value: function getVertexCount() {
|
|
103
|
-
var accessor = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.accessor;
|
|
104
|
-
return Math.round(this.byteLength / _accessor.default.getBytesPerVertex(accessor));
|
|
105
|
-
}
|
|
106
|
-
}, {
|
|
107
|
-
key: "initialize",
|
|
108
|
-
value: function initialize() {
|
|
109
|
-
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
110
|
-
if (ArrayBuffer.isView(props)) {
|
|
111
|
-
props = {
|
|
112
|
-
data: props
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
if (Number.isFinite(props)) {
|
|
116
|
-
props = {
|
|
117
|
-
byteLength: props
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
props = (0, _api.checkProps)('Buffer', props, PROP_CHECKS_INITIALIZE);
|
|
121
|
-
this.webglUsage = props.webglUsage || _constants.default.STATIC_DRAW;
|
|
122
|
-
this.debugData = null;
|
|
123
|
-
this.setAccessor(Object.assign({}, props, props.accessor));
|
|
124
|
-
if (props.data) {
|
|
125
|
-
this._setData(props.data, props.offset, props.byteLength);
|
|
126
|
-
} else {
|
|
127
|
-
this._setByteLength(props.byteLength || 0);
|
|
128
|
-
}
|
|
129
|
-
return this;
|
|
130
|
-
}
|
|
131
|
-
}, {
|
|
132
|
-
key: "setProps",
|
|
133
|
-
value: function setProps(props) {
|
|
134
|
-
props = (0, _api.checkProps)('Buffer', props, PROP_CHECKS_SET_PROPS);
|
|
135
|
-
if ('accessor' in props) {
|
|
136
|
-
this.setAccessor(props.accessor);
|
|
137
|
-
}
|
|
138
|
-
return this;
|
|
139
|
-
}
|
|
140
|
-
}, {
|
|
141
|
-
key: "setAccessor",
|
|
142
|
-
value: function setAccessor(accessor) {
|
|
143
|
-
accessor = Object.assign({}, accessor);
|
|
144
|
-
delete accessor.buffer;
|
|
145
|
-
this.accessor = new _accessor.default(accessor);
|
|
146
|
-
return this;
|
|
147
|
-
}
|
|
148
|
-
}, {
|
|
149
|
-
key: "reallocate",
|
|
150
|
-
value: function reallocate(byteLength) {
|
|
151
|
-
if (byteLength > this.byteLength) {
|
|
152
|
-
this._setByteLength(byteLength);
|
|
153
|
-
return true;
|
|
154
|
-
}
|
|
155
|
-
this.bytesUsed = byteLength;
|
|
156
|
-
return false;
|
|
157
|
-
}
|
|
158
|
-
}, {
|
|
159
|
-
key: "setData",
|
|
160
|
-
value: function setData(props) {
|
|
161
|
-
return this.initialize(props);
|
|
162
|
-
}
|
|
163
|
-
}, {
|
|
164
|
-
key: "subData",
|
|
165
|
-
value: function subData(options) {
|
|
166
|
-
if (ArrayBuffer.isView(options)) {
|
|
167
|
-
options = {
|
|
168
|
-
data: options
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
var _options = options,
|
|
172
|
-
data = _options.data,
|
|
173
|
-
_options$offset = _options.offset,
|
|
174
|
-
offset = _options$offset === void 0 ? 0 : _options$offset,
|
|
175
|
-
_options$srcOffset = _options.srcOffset,
|
|
176
|
-
srcOffset = _options$srcOffset === void 0 ? 0 : _options$srcOffset;
|
|
177
|
-
var byteLength = options.byteLength || options.length;
|
|
178
|
-
(0, _api.assert)(data);
|
|
179
|
-
var target = this.gl.webgl2 ? _constants.default.COPY_WRITE_BUFFER : this.target;
|
|
180
|
-
this.gl.bindBuffer(target, this.handle);
|
|
181
|
-
if (srcOffset !== 0 || byteLength !== undefined) {
|
|
182
|
-
(0, _webglChecks.assertWebGL2Context)(this.gl);
|
|
183
|
-
this.gl.bufferSubData(this.target, offset, data, srcOffset, byteLength);
|
|
184
|
-
} else {
|
|
185
|
-
this.gl.bufferSubData(target, offset, data);
|
|
186
|
-
}
|
|
187
|
-
this.gl.bindBuffer(target, null);
|
|
188
|
-
this.debugData = null;
|
|
189
|
-
this._inferType(data);
|
|
190
|
-
return this;
|
|
191
|
-
}
|
|
192
|
-
}, {
|
|
193
|
-
key: "copyData",
|
|
194
|
-
value: function copyData(options) {
|
|
195
|
-
var sourceBuffer = options.sourceBuffer,
|
|
196
|
-
_options$readOffset = options.readOffset,
|
|
197
|
-
readOffset = _options$readOffset === void 0 ? 0 : _options$readOffset,
|
|
198
|
-
_options$writeOffset = options.writeOffset,
|
|
199
|
-
writeOffset = _options$writeOffset === void 0 ? 0 : _options$writeOffset,
|
|
200
|
-
size = options.size;
|
|
201
|
-
var gl = this.gl,
|
|
202
|
-
gl2 = this.gl2;
|
|
203
|
-
(0, _webglChecks.assertWebGL2Context)(gl);
|
|
204
|
-
gl.bindBuffer(_constants.default.COPY_READ_BUFFER, sourceBuffer.handle);
|
|
205
|
-
gl.bindBuffer(_constants.default.COPY_WRITE_BUFFER, this.handle);
|
|
206
|
-
gl2 === null || gl2 === void 0 ? void 0 : gl2.copyBufferSubData(_constants.default.COPY_READ_BUFFER, _constants.default.COPY_WRITE_BUFFER, readOffset, writeOffset, size);
|
|
207
|
-
gl.bindBuffer(_constants.default.COPY_READ_BUFFER, null);
|
|
208
|
-
gl.bindBuffer(_constants.default.COPY_WRITE_BUFFER, null);
|
|
209
|
-
this.debugData = null;
|
|
210
|
-
return this;
|
|
211
|
-
}
|
|
212
|
-
}, {
|
|
213
|
-
key: "getData",
|
|
214
|
-
value: function getData(options) {
|
|
215
|
-
var _this$gl;
|
|
216
|
-
var _ref = options || {},
|
|
217
|
-
_ref$dstData = _ref.dstData,
|
|
218
|
-
dstData = _ref$dstData === void 0 ? null : _ref$dstData,
|
|
219
|
-
_ref$length = _ref.length,
|
|
220
|
-
length = _ref$length === void 0 ? 0 : _ref$length;
|
|
221
|
-
var _ref2 = options || {},
|
|
222
|
-
_ref2$srcByteOffset = _ref2.srcByteOffset,
|
|
223
|
-
srcByteOffset = _ref2$srcByteOffset === void 0 ? 0 : _ref2$srcByteOffset,
|
|
224
|
-
_ref2$dstOffset = _ref2.dstOffset,
|
|
225
|
-
dstOffset = _ref2$dstOffset === void 0 ? 0 : _ref2$dstOffset;
|
|
226
|
-
(0, _webglChecks.assertWebGL2Context)(this.gl);
|
|
227
|
-
var ArrayType = (0, _typedArrayUtils.getTypedArrayFromGLType)(this.accessor.type || _constants.default.FLOAT, {
|
|
228
|
-
clamped: false
|
|
229
|
-
});
|
|
230
|
-
var sourceAvailableElementCount = this._getAvailableElementCount(srcByteOffset);
|
|
231
|
-
var dstElementOffset = dstOffset;
|
|
232
|
-
var dstAvailableElementCount;
|
|
233
|
-
var dstElementCount;
|
|
234
|
-
if (dstData) {
|
|
235
|
-
dstElementCount = dstData.length;
|
|
236
|
-
dstAvailableElementCount = dstElementCount - dstElementOffset;
|
|
237
|
-
} else {
|
|
238
|
-
dstAvailableElementCount = Math.min(sourceAvailableElementCount, length || sourceAvailableElementCount);
|
|
239
|
-
dstElementCount = dstElementOffset + dstAvailableElementCount;
|
|
240
|
-
}
|
|
241
|
-
var copyElementCount = Math.min(sourceAvailableElementCount, dstAvailableElementCount);
|
|
242
|
-
length = length || copyElementCount;
|
|
243
|
-
(0, _api.assert)(length <= copyElementCount);
|
|
244
|
-
dstData = dstData || new ArrayType(dstElementCount);
|
|
245
|
-
this.gl.bindBuffer(_constants.default.COPY_READ_BUFFER, this.handle);
|
|
246
|
-
(_this$gl = this.gl2) === null || _this$gl === void 0 ? void 0 : _this$gl.getBufferSubData(_constants.default.COPY_READ_BUFFER, srcByteOffset, dstData, dstOffset, length);
|
|
247
|
-
this.gl.bindBuffer(_constants.default.COPY_READ_BUFFER, null);
|
|
248
|
-
return dstData;
|
|
249
|
-
}
|
|
250
|
-
}, {
|
|
251
|
-
key: "bind",
|
|
252
|
-
value: function bind(options) {
|
|
253
|
-
var _ref3 = options || {},
|
|
254
|
-
_ref3$target = _ref3.target,
|
|
255
|
-
target = _ref3$target === void 0 ? this.target : _ref3$target,
|
|
256
|
-
_ref3$index = _ref3.index,
|
|
257
|
-
index = _ref3$index === void 0 ? this.accessor && this.accessor.index : _ref3$index,
|
|
258
|
-
_ref3$offset = _ref3.offset,
|
|
259
|
-
offset = _ref3$offset === void 0 ? 0 : _ref3$offset,
|
|
260
|
-
size = _ref3.size;
|
|
261
|
-
if (target === _constants.default.UNIFORM_BUFFER || target === _constants.default.TRANSFORM_FEEDBACK_BUFFER) {
|
|
262
|
-
if (size !== undefined) {
|
|
263
|
-
var _this$gl2;
|
|
264
|
-
(_this$gl2 = this.gl2) === null || _this$gl2 === void 0 ? void 0 : _this$gl2.bindBufferRange(target, index, this.handle, offset, size);
|
|
265
|
-
} else {
|
|
266
|
-
var _this$gl3;
|
|
267
|
-
(0, _api.assert)(offset === 0);
|
|
268
|
-
(_this$gl3 = this.gl2) === null || _this$gl3 === void 0 ? void 0 : _this$gl3.bindBufferBase(target, index, this.handle);
|
|
269
|
-
}
|
|
270
|
-
} else {
|
|
271
|
-
this.gl.bindBuffer(target, this.handle);
|
|
272
|
-
}
|
|
273
|
-
return this;
|
|
274
|
-
}
|
|
275
|
-
}, {
|
|
276
|
-
key: "unbind",
|
|
277
|
-
value: function unbind(options) {
|
|
278
|
-
var _ref4 = options || {},
|
|
279
|
-
_ref4$target = _ref4.target,
|
|
280
|
-
target = _ref4$target === void 0 ? this.target : _ref4$target,
|
|
281
|
-
_ref4$index = _ref4.index,
|
|
282
|
-
index = _ref4$index === void 0 ? this.accessor && this.accessor.index : _ref4$index;
|
|
283
|
-
var isIndexedBuffer = target === _constants.default.UNIFORM_BUFFER || target === _constants.default.TRANSFORM_FEEDBACK_BUFFER;
|
|
284
|
-
if (isIndexedBuffer) {
|
|
285
|
-
var _this$gl4;
|
|
286
|
-
(_this$gl4 = this.gl2) === null || _this$gl4 === void 0 ? void 0 : _this$gl4.bindBufferBase(target, index, null);
|
|
287
|
-
} else {
|
|
288
|
-
this.gl.bindBuffer(target, null);
|
|
289
|
-
}
|
|
290
|
-
return this;
|
|
291
|
-
}
|
|
292
|
-
}, {
|
|
293
|
-
key: "getDebugData",
|
|
294
|
-
value: function getDebugData() {
|
|
295
|
-
if (!this.debugData) {
|
|
296
|
-
this.debugData = this.getData({
|
|
297
|
-
length: Math.min(DEBUG_DATA_LENGTH, this.byteLength)
|
|
298
|
-
});
|
|
299
|
-
return {
|
|
300
|
-
data: this.debugData,
|
|
301
|
-
changed: true
|
|
302
|
-
};
|
|
303
|
-
}
|
|
304
|
-
return {
|
|
305
|
-
data: this.debugData,
|
|
306
|
-
changed: false
|
|
307
|
-
};
|
|
308
|
-
}
|
|
309
|
-
}, {
|
|
310
|
-
key: "invalidateDebugData",
|
|
311
|
-
value: function invalidateDebugData() {
|
|
312
|
-
this.debugData = null;
|
|
313
|
-
}
|
|
314
|
-
}, {
|
|
315
|
-
key: "_setData",
|
|
316
|
-
value: function _setData(data) {
|
|
317
|
-
var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
318
|
-
var byteLength = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : data.byteLength + offset;
|
|
319
|
-
(0, _api.assert)(ArrayBuffer.isView(data));
|
|
320
|
-
this.trackDeallocatedMemory();
|
|
321
|
-
var target = this._getTarget();
|
|
322
|
-
this.gl.bindBuffer(target, this.handle);
|
|
323
|
-
this.gl.bufferData(target, byteLength, this.webglUsage);
|
|
324
|
-
this.gl.bufferSubData(target, offset, data);
|
|
325
|
-
this.gl.bindBuffer(target, null);
|
|
326
|
-
this.debugData = data.slice(0, DEBUG_DATA_LENGTH);
|
|
327
|
-
this.bytesUsed = byteLength;
|
|
328
|
-
this.byteLength = byteLength;
|
|
329
|
-
this.trackAllocatedMemory(byteLength);
|
|
330
|
-
var type = (0, _typedArrayUtils.getGLTypeFromTypedArray)(data);
|
|
331
|
-
(0, _api.assert)(type);
|
|
332
|
-
this.setAccessor(new _accessor.default(this.accessor, {
|
|
333
|
-
type: type
|
|
334
|
-
}));
|
|
335
|
-
return this;
|
|
336
|
-
}
|
|
337
|
-
}, {
|
|
338
|
-
key: "_setByteLength",
|
|
339
|
-
value: function _setByteLength(byteLength) {
|
|
340
|
-
var webglUsage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.webglUsage;
|
|
341
|
-
(0, _api.assert)(byteLength >= 0);
|
|
342
|
-
this.trackDeallocatedMemory();
|
|
343
|
-
var data = byteLength;
|
|
344
|
-
if (byteLength === 0) {
|
|
345
|
-
data = new Float32Array(0);
|
|
346
|
-
}
|
|
347
|
-
var target = this._getTarget();
|
|
348
|
-
this.gl.bindBuffer(target, this.handle);
|
|
349
|
-
this.gl.bufferData(target, data, webglUsage);
|
|
350
|
-
this.gl.bindBuffer(target, null);
|
|
351
|
-
this.webglUsage = webglUsage;
|
|
352
|
-
this.debugData = null;
|
|
353
|
-
this.bytesUsed = byteLength;
|
|
354
|
-
this.byteLength = byteLength;
|
|
355
|
-
this.trackAllocatedMemory(byteLength);
|
|
356
|
-
return this;
|
|
357
|
-
}
|
|
358
|
-
}, {
|
|
359
|
-
key: "_getTarget",
|
|
360
|
-
value: function _getTarget() {
|
|
361
|
-
return this.gl.webgl2 ? _constants.default.COPY_WRITE_BUFFER : this.target;
|
|
362
|
-
}
|
|
363
|
-
}, {
|
|
364
|
-
key: "_getAvailableElementCount",
|
|
365
|
-
value: function _getAvailableElementCount(srcByteOffset) {
|
|
366
|
-
var ArrayType = (0, _typedArrayUtils.getTypedArrayFromGLType)(this.accessor.type || _constants.default.FLOAT, {
|
|
367
|
-
clamped: false
|
|
368
|
-
});
|
|
369
|
-
var sourceElementOffset = srcByteOffset / ArrayType.BYTES_PER_ELEMENT;
|
|
370
|
-
return this.getElementCount() - sourceElementOffset;
|
|
371
|
-
}
|
|
372
|
-
}, {
|
|
373
|
-
key: "_inferType",
|
|
374
|
-
value: function _inferType(data) {
|
|
375
|
-
if (!this.accessor.type) {
|
|
376
|
-
this.setAccessor(new _accessor.default(this.accessor, {
|
|
377
|
-
type: (0, _typedArrayUtils.getGLTypeFromTypedArray)(data)
|
|
378
|
-
}));
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
}, {
|
|
382
|
-
key: "getParameter",
|
|
383
|
-
value: function getParameter(pname) {
|
|
384
|
-
this.gl.bindBuffer(this.target, this.handle);
|
|
385
|
-
var value = this.gl.getBufferParameter(this.target, pname);
|
|
386
|
-
this.gl.bindBuffer(this.target, null);
|
|
387
|
-
return value;
|
|
388
|
-
}
|
|
389
|
-
}, {
|
|
390
|
-
key: "type",
|
|
391
|
-
get: function get() {
|
|
392
|
-
return this.accessor.type;
|
|
393
|
-
}
|
|
394
|
-
}]);
|
|
395
|
-
return ClassicBuffer;
|
|
396
|
-
}(_webglBuffer.default);
|
|
397
|
-
exports.default = ClassicBuffer;
|
|
398
|
-
//# sourceMappingURL=buffer.js.map
|