@luma.gl/webgl 9.0.0-alpha.14 → 9.0.0-alpha.16
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.js +199 -136
- 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 +62 -176
- package/dist/adapter/converters/sampler-parameters.js +149 -206
- 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 +437 -890
- package/dist/adapter/converters/vertex-formats.js +15 -33
- package/dist/adapter/device-helpers/device-features.js +119 -100
- 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 +88 -86
- package/dist/adapter/device-helpers/get-device-info.js +42 -43
- package/dist/adapter/device-helpers/is-old-ie.js +9 -6
- package/dist/adapter/helpers/attribute-utils.js +50 -74
- 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 +27 -0
- package/dist/adapter/helpers/get-shader-layout.js +307 -296
- 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 +32 -33
- package/dist/adapter/helpers/set-uniform.js +67 -110
- package/dist/adapter/helpers/uniforms.js +80 -85
- package/dist/adapter/objects/constants-to-keys.js +33 -33
- 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 +67 -86
- package/dist/adapter/objects/webgl-resource.js +213 -205
- 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 +74 -76
- package/dist/adapter/resources/webgl-buffer.js +150 -147
- 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 +39 -55
- package/dist/adapter/resources/webgl-command-encoder.js +25 -49
- package/dist/adapter/resources/webgl-external-texture.js +91 -1
- 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 +231 -258
- package/dist/adapter/resources/webgl-render-pass.d.ts +1 -1
- package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.js +8 -18
- package/dist/adapter/resources/webgl-render-pipeline.js +316 -378
- package/dist/adapter/resources/webgl-sampler.js +42 -47
- package/dist/adapter/resources/webgl-shader.d.ts +1 -2
- package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-shader.js +58 -68
- package/dist/adapter/resources/webgl-texture.d.ts +5 -5
- package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-texture.js +661 -815
- package/dist/adapter/webgl-canvas-context.js +55 -49
- package/dist/adapter/webgl-device.js +288 -338
- package/dist/bundle.js +1 -2
- package/dist/classic/accessor.js +120 -127
- package/dist/classic/buffer.d.ts +1 -1
- package/dist/classic/buffer.d.ts.map +1 -1
- package/dist/classic/buffer.js +325 -356
- 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 +91 -101
- package/dist/context/context/create-browser-context.d.ts +1 -2
- package/dist/context/context/create-browser-context.d.ts.map +1 -1
- package/dist/context/context/create-browser-context.js +61 -52
- 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 +26 -33
- package/dist/context/context/webgl-checks.js +25 -20
- 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 +53 -62
- 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 +106 -93
- package/dist/context/parameters/unified-parameter-api.js +91 -55
- 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 +462 -423
- package/dist/context/polyfill/context-data.js +16 -12
- package/dist/context/polyfill/get-parameter-polyfill.js +91 -76
- package/dist/context/polyfill/polyfill-context.js +75 -80
- package/dist/context/polyfill/polyfill-table.js +133 -139
- package/dist/context/polyfill/polyfill-vertex-array-object.js +255 -297
- package/dist/context/state-tracker/deep-array-equal.js +16 -18
- package/dist/context/state-tracker/track-context-state.js +183 -161
- package/dist/context/state-tracker/with-parameters.js +43 -35
- package/dist/dist.min.js +1 -0
- package/dist/es5/adapter/converters/device-parameters.js +3 -38
- package/dist/es5/adapter/converters/device-parameters.js.map +1 -1
- package/dist/es5/adapter/converters/renderbuffer-formats.js +2 -14
- package/dist/es5/adapter/converters/renderbuffer-formats.js.map +1 -1
- package/dist/es5/adapter/converters/sampler-parameters.js +2 -65
- package/dist/es5/adapter/converters/sampler-parameters.js.map +1 -1
- package/dist/es5/adapter/converters/texture-formats.js +9 -81
- package/dist/es5/adapter/converters/texture-formats.js.map +1 -1
- package/dist/es5/adapter/converters/vertex-formats.js +0 -12
- package/dist/es5/adapter/converters/vertex-formats.js.map +1 -1
- package/dist/es5/adapter/device-helpers/device-features.js +6 -40
- package/dist/es5/adapter/device-helpers/device-features.js.map +1 -1
- package/dist/es5/adapter/device-helpers/device-limits.js +0 -10
- package/dist/es5/adapter/device-helpers/device-limits.js.map +1 -1
- package/dist/es5/adapter/device-helpers/get-device-info.js +0 -10
- package/dist/es5/adapter/device-helpers/get-device-info.js.map +1 -1
- package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -1
- package/dist/es5/adapter/device-helpers/is-old-ie.js.map +1 -1
- package/dist/es5/adapter/helpers/attribute-utils.js +3 -25
- package/dist/es5/adapter/helpers/attribute-utils.js.map +1 -1
- package/dist/es5/adapter/helpers/get-shader-info.js +31 -0
- package/dist/es5/adapter/helpers/get-shader-info.js.map +1 -0
- package/dist/es5/adapter/helpers/get-shader-layout.js +23 -101
- package/dist/es5/adapter/helpers/get-shader-layout.js.map +1 -1
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +6 -24
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
- package/dist/es5/adapter/helpers/set-uniform.js +0 -33
- package/dist/es5/adapter/helpers/set-uniform.js.map +1 -1
- package/dist/es5/adapter/helpers/uniforms.js +13 -37
- package/dist/es5/adapter/helpers/uniforms.js.map +1 -1
- package/dist/es5/adapter/objects/constants-to-keys.js +1 -12
- package/dist/es5/adapter/objects/constants-to-keys.js.map +1 -1
- package/dist/es5/adapter/objects/webgl-renderbuffer.js +5 -33
- package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +1 -1
- package/dist/es5/adapter/objects/webgl-resource.js +6 -60
- package/dist/es5/adapter/objects/webgl-resource.js.map +1 -1
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js +7 -35
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-buffer.js +20 -66
- package/dist/es5/adapter/resources/webgl-buffer.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-command-buffer.js +6 -32
- package/dist/es5/adapter/resources/webgl-command-buffer.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -18
- package/dist/es5/adapter/resources/webgl-command-encoder.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-external-texture.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-framebuffer.js +10 -82
- package/dist/es5/adapter/resources/webgl-framebuffer.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-render-pass.js +2 -19
- package/dist/es5/adapter/resources/webgl-render-pass.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-render-pipeline.js +24 -133
- package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-sampler.js +2 -28
- package/dist/es5/adapter/resources/webgl-sampler.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-shader.js +13 -52
- package/dist/es5/adapter/resources/webgl-shader.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-texture.js +137 -291
- package/dist/es5/adapter/resources/webgl-texture.js.map +1 -1
- package/dist/es5/adapter/webgl-canvas-context.js +0 -24
- package/dist/es5/adapter/webgl-canvas-context.js.map +1 -1
- package/dist/es5/adapter/webgl-device.js +40 -127
- package/dist/es5/adapter/webgl-device.js.map +1 -1
- package/dist/es5/bundle.js +0 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/classic/accessor.js +1 -31
- package/dist/es5/classic/accessor.js.map +1 -1
- package/dist/es5/classic/buffer.js +32 -102
- package/dist/es5/classic/buffer.js.map +1 -1
- package/dist/es5/classic/typed-array-utils.js +10 -37
- package/dist/es5/classic/typed-array-utils.js.map +1 -1
- package/dist/es5/context/context/create-browser-context.js +4 -21
- package/dist/es5/context/context/create-browser-context.js.map +1 -1
- package/dist/es5/context/context/create-headless-context.js +8 -21
- package/dist/es5/context/context/create-headless-context.js.map +1 -1
- package/dist/es5/context/context/webgl-checks.js +4 -14
- package/dist/es5/context/context/webgl-checks.js.map +1 -1
- package/dist/es5/context/debug/spector.js +20 -54
- package/dist/es5/context/debug/spector.js.map +1 -1
- package/dist/es5/context/debug/webgl-developer-tools.js +19 -65
- package/dist/es5/context/debug/webgl-developer-tools.js.map +1 -1
- package/dist/es5/context/parameters/unified-parameter-api.js +3 -28
- package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -1
- package/dist/es5/context/parameters/webgl-parameter-tables.js +18 -65
- package/dist/es5/context/parameters/webgl-parameter-tables.js.map +1 -1
- package/dist/es5/context/polyfill/context-data.js +0 -3
- package/dist/es5/context/polyfill/context-data.js.map +1 -1
- package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -12
- package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +1 -1
- package/dist/es5/context/polyfill/polyfill-context.js +8 -33
- package/dist/es5/context/polyfill/polyfill-context.js.map +1 -1
- package/dist/es5/context/polyfill/polyfill-table.js +3 -27
- package/dist/es5/context/polyfill/polyfill-table.js.map +1 -1
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -70
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
- package/dist/es5/context/state-tracker/deep-array-equal.js +0 -5
- package/dist/es5/context/state-tracker/deep-array-equal.js.map +1 -1
- package/dist/es5/context/state-tracker/track-context-state.js +10 -53
- package/dist/es5/context/state-tracker/track-context-state.js.map +1 -1
- package/dist/es5/context/state-tracker/with-parameters.js +1 -13
- package/dist/es5/context/state-tracker/with-parameters.js.map +1 -1
- package/dist/es5/index.js +72 -99
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/init.js +0 -3
- package/dist/es5/init.js.map +1 -1
- package/dist/es5/types/webgl.js +0 -1
- package/dist/es5/types/webgl.js.map +1 -1
- package/dist/es5/types.js.map +1 -1
- package/dist/esm/adapter/converters/device-parameters.js +0 -20
- package/dist/esm/adapter/converters/device-parameters.js.map +1 -1
- package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -4
- package/dist/esm/adapter/converters/renderbuffer-formats.js.map +1 -1
- package/dist/esm/adapter/converters/sampler-parameters.js +2 -57
- package/dist/esm/adapter/converters/sampler-parameters.js.map +1 -1
- package/dist/esm/adapter/converters/texture-formats.js +8 -52
- package/dist/esm/adapter/converters/texture-formats.js.map +1 -1
- package/dist/esm/adapter/converters/vertex-formats.js +0 -9
- package/dist/esm/adapter/converters/vertex-formats.js.map +1 -1
- package/dist/esm/adapter/device-helpers/device-features.js +2 -19
- package/dist/esm/adapter/device-helpers/device-features.js.map +1 -1
- package/dist/esm/adapter/device-helpers/device-limits.js +0 -3
- package/dist/esm/adapter/device-helpers/device-limits.js.map +1 -1
- package/dist/esm/adapter/device-helpers/get-device-info.js +0 -6
- package/dist/esm/adapter/device-helpers/get-device-info.js.map +1 -1
- package/dist/esm/adapter/device-helpers/is-old-ie.js +2 -1
- package/dist/esm/adapter/device-helpers/is-old-ie.js.map +1 -1
- package/dist/esm/adapter/helpers/attribute-utils.js +0 -17
- package/dist/esm/adapter/helpers/attribute-utils.js.map +1 -1
- package/dist/esm/adapter/helpers/get-shader-info.js +25 -0
- package/dist/esm/adapter/helpers/get-shader-info.js.map +1 -0
- package/dist/esm/adapter/helpers/get-shader-layout.js +2 -48
- package/dist/esm/adapter/helpers/get-shader-layout.js.map +1 -1
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -7
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
- package/dist/esm/adapter/helpers/set-uniform.js +0 -30
- package/dist/esm/adapter/helpers/set-uniform.js.map +1 -1
- package/dist/esm/adapter/helpers/uniforms.js +0 -10
- package/dist/esm/adapter/helpers/uniforms.js.map +1 -1
- package/dist/esm/adapter/objects/constants-to-keys.js +0 -7
- package/dist/esm/adapter/objects/constants-to-keys.js.map +1 -1
- package/dist/esm/adapter/objects/webgl-renderbuffer.js +2 -18
- package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +1 -1
- package/dist/esm/adapter/objects/webgl-resource.js +10 -57
- package/dist/esm/adapter/objects/webgl-resource.js.map +1 -1
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js +5 -15
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-buffer.js +12 -40
- package/dist/esm/adapter/resources/webgl-buffer.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-command-buffer.js +2 -17
- package/dist/esm/adapter/resources/webgl-command-buffer.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -12
- package/dist/esm/adapter/resources/webgl-command-encoder.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-external-texture.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -60
- package/dist/esm/adapter/resources/webgl-framebuffer.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-render-pass.js +1 -8
- package/dist/esm/adapter/resources/webgl-render-pass.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -89
- package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-sampler.js +0 -12
- package/dist/esm/adapter/resources/webgl-sampler.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-shader.js +2 -16
- package/dist/esm/adapter/resources/webgl-shader.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-texture.js +36 -154
- package/dist/esm/adapter/resources/webgl-texture.js.map +1 -1
- package/dist/esm/adapter/webgl-canvas-context.js +0 -14
- package/dist/esm/adapter/webgl-canvas-context.js.map +1 -1
- package/dist/esm/adapter/webgl-device.js +19 -89
- package/dist/esm/adapter/webgl-device.js.map +1 -1
- package/dist/esm/bundle.js +0 -1
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/classic/accessor.js +10 -34
- package/dist/esm/classic/accessor.js.map +1 -1
- package/dist/esm/classic/buffer.js +15 -71
- package/dist/esm/classic/buffer.js.map +1 -1
- package/dist/esm/classic/typed-array-utils.js +0 -20
- package/dist/esm/classic/typed-array-utils.js.map +1 -1
- package/dist/esm/context/context/create-browser-context.js +6 -14
- package/dist/esm/context/context/create-browser-context.js.map +1 -1
- package/dist/esm/context/context/create-headless-context.js +2 -6
- package/dist/esm/context/context/create-headless-context.js.map +1 -1
- package/dist/esm/context/context/webgl-checks.js +0 -3
- package/dist/esm/context/context/webgl-checks.js.map +1 -1
- package/dist/esm/context/debug/spector.js +2 -14
- package/dist/esm/context/debug/spector.js.map +1 -1
- package/dist/esm/context/debug/webgl-developer-tools.js +4 -22
- package/dist/esm/context/debug/webgl-developer-tools.js.map +1 -1
- package/dist/esm/context/parameters/unified-parameter-api.js +2 -13
- package/dist/esm/context/parameters/unified-parameter-api.js.map +1 -1
- package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -19
- package/dist/esm/context/parameters/webgl-parameter-tables.js.map +1 -1
- package/dist/esm/context/polyfill/context-data.js +0 -2
- package/dist/esm/context/polyfill/context-data.js.map +1 -1
- package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -5
- package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +1 -1
- package/dist/esm/context/polyfill/polyfill-context.js +14 -21
- package/dist/esm/context/polyfill/polyfill-context.js.map +1 -1
- package/dist/esm/context/polyfill/polyfill-table.js +0 -23
- package/dist/esm/context/polyfill/polyfill-table.js.map +1 -1
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -70
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
- package/dist/esm/context/state-tracker/deep-array-equal.js +0 -4
- package/dist/esm/context/state-tracker/deep-array-equal.js.map +1 -1
- package/dist/esm/context/state-tracker/track-context-state.js +11 -45
- package/dist/esm/context/state-tracker/track-context-state.js.map +1 -1
- package/dist/esm/context/state-tracker/with-parameters.js +0 -6
- package/dist/esm/context/state-tracker/with-parameters.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/init.js.map +1 -1
- package/dist/esm/types/webgl.js.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/index.js +39 -25
- package/dist/init.js +1 -2
- package/dist/types/webgl.d.ts +20 -20
- package/dist/types/webgl.d.ts.map +1 -1
- package/dist/types/webgl.js +0 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -1
- package/package.json +8 -8
- package/src/adapter/helpers/get-shader-info.ts +37 -0
- package/src/adapter/helpers/parse-shader-compiler-log.ts +1 -1
- package/src/adapter/resources/webgl-render-pass.ts +1 -1
- package/src/adapter/resources/webgl-shader.ts +2 -2
- package/src/adapter/webgl-device.ts +1 -1
- package/src/context/debug/webgl-developer-tools.ts +0 -1
- package/src/types/webgl.ts +4 -4
- package/dist/adapter/converters/device-parameters.js.map +0 -1
- package/dist/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/adapter/converters/texture-formats.js.map +0 -1
- package/dist/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/adapter/helpers/uniforms.js.map +0 -1
- package/dist/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/adapter/resources/webgl-command-encoder.js.map +0 -1
- package/dist/adapter/resources/webgl-external-texture.js.map +0 -1
- package/dist/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/adapter/webgl-device.js.map +0 -1
- package/dist/bundle.js.map +0 -1
- package/dist/classic/accessor.js.map +0 -1
- package/dist/classic/buffer.js.map +0 -1
- package/dist/classic/typed-array-utils.js.map +0 -1
- package/dist/context/context/create-browser-context.js.map +0 -1
- package/dist/context/context/create-headless-context.js.map +0 -1
- package/dist/context/context/webgl-checks.js.map +0 -1
- package/dist/context/debug/spector.js.map +0 -1
- package/dist/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/context/polyfill/context-data.js.map +0 -1
- package/dist/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/context/state-tracker/with-parameters.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/init.js.map +0 -1
- package/dist/types/webgl.js.map +0 -1
- package/dist/types.js.map +0 -1
|
@@ -1,54 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
10
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
-
|
|
16
11
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
12
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
13
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
22
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
-
|
|
24
15
|
var _api = require("@luma.gl/api");
|
|
25
|
-
|
|
26
16
|
var _webglChecks = require("../../context/context/webgl-checks");
|
|
27
|
-
|
|
28
17
|
var _webglDevice = _interopRequireDefault(require("../webgl-device"));
|
|
29
|
-
|
|
30
18
|
var _constantsToKeys = require("./constants-to-keys");
|
|
31
|
-
|
|
32
19
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
33
|
-
|
|
34
20
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
35
|
-
|
|
36
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
37
|
-
|
|
21
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
38
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); }; }
|
|
39
|
-
|
|
40
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; } }
|
|
41
|
-
|
|
42
24
|
var ERR_RESOURCE_METHOD_UNDEFINED = 'Resource subclass must define virtual methods';
|
|
43
|
-
|
|
44
25
|
var WebGLResource = function (_Resource) {
|
|
45
26
|
(0, _inherits2.default)(WebGLResource, _Resource);
|
|
46
|
-
|
|
47
27
|
var _super = _createSuper(WebGLResource);
|
|
48
|
-
|
|
49
28
|
function WebGLResource(device, props, defaultProps) {
|
|
50
29
|
var _this;
|
|
51
|
-
|
|
52
30
|
(0, _classCallCheck2.default)(this, WebGLResource);
|
|
53
31
|
_this = _super.call(this, device, props, defaultProps);
|
|
54
32
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "device", void 0);
|
|
@@ -60,23 +38,18 @@ var WebGLResource = function (_Resource) {
|
|
|
60
38
|
_this.device = _webglDevice.default.attach(device);
|
|
61
39
|
var gl = _this.device.gl;
|
|
62
40
|
(0, _webglChecks.assertWebGLContext)(gl);
|
|
63
|
-
|
|
64
41
|
var _ref = props || {},
|
|
65
|
-
|
|
66
|
-
|
|
42
|
+
id = _ref.id;
|
|
67
43
|
_this.gl = gl;
|
|
68
44
|
_this.gl2 = gl;
|
|
69
45
|
_this.id = id || (0, _api.uid)(_this.constructor.name);
|
|
70
46
|
_this._handle = props === null || props === void 0 ? void 0 : props.handle;
|
|
71
|
-
|
|
72
47
|
if (_this._handle === undefined) {
|
|
73
48
|
_this._handle = _this._createHandle();
|
|
74
49
|
}
|
|
75
|
-
|
|
76
50
|
_this.byteLength = 0;
|
|
77
51
|
return _this;
|
|
78
52
|
}
|
|
79
|
-
|
|
80
53
|
(0, _createClass2.default)(WebGLResource, [{
|
|
81
54
|
key: "toString",
|
|
82
55
|
value: function toString() {
|
|
@@ -96,50 +69,38 @@ var WebGLResource = function (_Resource) {
|
|
|
96
69
|
key: "delete",
|
|
97
70
|
value: function _delete() {
|
|
98
71
|
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
72
|
+
_ref2$deleteChildren = _ref2.deleteChildren,
|
|
73
|
+
deleteChildren = _ref2$deleteChildren === void 0 ? false : _ref2$deleteChildren;
|
|
102
74
|
var children = this._handle && this._deleteHandle(this._handle);
|
|
103
|
-
|
|
104
75
|
if (this._handle) {
|
|
105
76
|
this.removeStats();
|
|
106
77
|
}
|
|
107
|
-
|
|
108
78
|
this._handle = null;
|
|
109
|
-
|
|
110
79
|
if (children && deleteChildren) {
|
|
111
80
|
children.filter(Boolean).forEach(function (child) {
|
|
112
81
|
return child.delete();
|
|
113
82
|
});
|
|
114
83
|
}
|
|
115
|
-
|
|
116
84
|
return this;
|
|
117
85
|
}
|
|
118
86
|
}, {
|
|
119
87
|
key: "bind",
|
|
120
88
|
value: function bind() {
|
|
121
89
|
var funcOrHandle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.handle;
|
|
122
|
-
|
|
123
90
|
if (typeof funcOrHandle !== 'function') {
|
|
124
91
|
this._bindHandle(funcOrHandle);
|
|
125
|
-
|
|
126
92
|
return this;
|
|
127
93
|
}
|
|
128
|
-
|
|
129
94
|
var value;
|
|
130
|
-
|
|
131
95
|
if (!this._bound) {
|
|
132
96
|
this._bindHandle(this.handle);
|
|
133
|
-
|
|
134
97
|
this._bound = true;
|
|
135
98
|
value = funcOrHandle();
|
|
136
99
|
this._bound = false;
|
|
137
|
-
|
|
138
100
|
this._bindHandle(null);
|
|
139
101
|
} else {
|
|
140
102
|
value = funcOrHandle();
|
|
141
103
|
}
|
|
142
|
-
|
|
143
104
|
return value;
|
|
144
105
|
}
|
|
145
106
|
}, {
|
|
@@ -155,11 +116,9 @@ var WebGLResource = function (_Resource) {
|
|
|
155
116
|
(0, _api.assert)(pname);
|
|
156
117
|
var parameters = this.constructor.PARAMETERS || {};
|
|
157
118
|
var parameter = parameters[pname];
|
|
158
|
-
|
|
159
119
|
if (parameter) {
|
|
160
120
|
var isWebgl2 = (0, _webglChecks.isWebGL2)(this.gl);
|
|
161
121
|
var parameterAvailable = (!('webgl2' in parameter) || isWebgl2) && (!('extension' in parameter) || this.gl.getExtension(parameter.extension));
|
|
162
|
-
|
|
163
122
|
if (!parameterAvailable) {
|
|
164
123
|
var webgl1Default = parameter.webgl1;
|
|
165
124
|
var webgl2Default = 'webgl2' in parameter ? parameter.webgl2 : parameter.webgl1;
|
|
@@ -167,7 +126,6 @@ var WebGLResource = function (_Resource) {
|
|
|
167
126
|
return defaultValue;
|
|
168
127
|
}
|
|
169
128
|
}
|
|
170
|
-
|
|
171
129
|
return this._getParameter(pname, props);
|
|
172
130
|
}
|
|
173
131
|
}, {
|
|
@@ -175,25 +133,21 @@ var WebGLResource = function (_Resource) {
|
|
|
175
133
|
value: function getParameters() {
|
|
176
134
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
177
135
|
var parameters = options.parameters,
|
|
178
|
-
|
|
136
|
+
keys = options.keys;
|
|
179
137
|
var PARAMETERS = this.constructor.PARAMETERS || {};
|
|
180
138
|
var isWebgl2 = (0, _webglChecks.isWebGL2)(this.gl);
|
|
181
139
|
var values = {};
|
|
182
140
|
var parameterKeys = parameters || Object.keys(PARAMETERS);
|
|
183
|
-
|
|
184
141
|
var _iterator = _createForOfIteratorHelper(parameterKeys),
|
|
185
|
-
|
|
186
|
-
|
|
142
|
+
_step;
|
|
187
143
|
try {
|
|
188
144
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
189
145
|
var pname = _step.value;
|
|
190
146
|
var parameter = PARAMETERS[pname];
|
|
191
147
|
var parameterAvailable = parameter && (!('webgl2' in parameter) || isWebgl2) && (!('extension' in parameter) || this.gl.getExtension(parameter.extension));
|
|
192
|
-
|
|
193
148
|
if (parameterAvailable) {
|
|
194
149
|
var key = keys ? (0, _constantsToKeys.getKey)(this.gl, pname) : pname;
|
|
195
150
|
values[key] = this.getParameter(pname, options);
|
|
196
|
-
|
|
197
151
|
if (keys && parameter.type === 'GLenum') {
|
|
198
152
|
values[key] = (0, _constantsToKeys.getKey)(this.gl, values[key]);
|
|
199
153
|
}
|
|
@@ -204,7 +158,6 @@ var WebGLResource = function (_Resource) {
|
|
|
204
158
|
} finally {
|
|
205
159
|
_iterator.f();
|
|
206
160
|
}
|
|
207
|
-
|
|
208
161
|
return values;
|
|
209
162
|
}
|
|
210
163
|
}, {
|
|
@@ -214,22 +167,17 @@ var WebGLResource = function (_Resource) {
|
|
|
214
167
|
(0, _api.assert)(pname);
|
|
215
168
|
var parameters = this.constructor.PARAMETERS || {};
|
|
216
169
|
var parameter = parameters[pname];
|
|
217
|
-
|
|
218
170
|
if (parameter) {
|
|
219
171
|
var isWebgl2 = (0, _webglChecks.isWebGL2)(this.gl);
|
|
220
172
|
var parameterAvailable = (!('webgl2' in parameter) || isWebgl2) && (!('extension' in parameter) || this.gl.getExtension(parameter.extension));
|
|
221
|
-
|
|
222
173
|
if (!parameterAvailable) {
|
|
223
174
|
throw new Error('Parameter not available on this platform');
|
|
224
175
|
}
|
|
225
|
-
|
|
226
176
|
if (parameter.type === 'GLenum') {
|
|
227
177
|
value = (0, _constantsToKeys.getKeyValue)(value);
|
|
228
178
|
}
|
|
229
179
|
}
|
|
230
|
-
|
|
231
180
|
this._setParameter(pname, value);
|
|
232
|
-
|
|
233
181
|
return this;
|
|
234
182
|
}
|
|
235
183
|
}, {
|
|
@@ -238,7 +186,6 @@ var WebGLResource = function (_Resource) {
|
|
|
238
186
|
for (var pname in parameters) {
|
|
239
187
|
this.setParameter(pname, parameters[pname]);
|
|
240
188
|
}
|
|
241
|
-
|
|
242
189
|
return this;
|
|
243
190
|
}
|
|
244
191
|
}, {
|
|
@@ -282,6 +229,5 @@ var WebGLResource = function (_Resource) {
|
|
|
282
229
|
}]);
|
|
283
230
|
return WebGLResource;
|
|
284
231
|
}(_api.Resource);
|
|
285
|
-
|
|
286
232
|
exports.default = WebGLResource;
|
|
287
233
|
//# sourceMappingURL=webgl-resource.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/adapter/objects/webgl-resource.ts"],"names":["ERR_RESOURCE_METHOD_UNDEFINED","WebGLResource","device","props","defaultProps","WebGLDevice","attach","gl","id","gl2","constructor","name","_handle","handle","undefined","_createHandle","byteLength","delete","deleteChildren","children","_deleteHandle","removeStats","filter","Boolean","forEach","child","funcOrHandle","_bindHandle","value","_bound","bind","pname","parameters","PARAMETERS","parameter","isWebgl2","parameterAvailable","getExtension","extension","webgl1Default","webgl1","webgl2Default","webgl2","defaultValue","_getParameter","options","keys","values","parameterKeys","Object","key","getParameter","type","Error","_setParameter","setParameter","className","version","methodNames","Resource"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;;AAGA;;AACA;;AAGA;;;;;;;;;;;;AAEA,IAAMA,6BAA6B,GAAG,+CAAtC;;IAK+BC,a;;;;;AAU7B,yBAAYC,MAAZ,EAA4BC,KAA5B,EAA0CC,YAA1C,EAAyE;AAAA;;AAAA;AACvE,8BAAMF,MAAN,EAAcC,KAAd,EAAqBC,YAArB;AADuE;AAAA;AAAA;AAAA;AAAA,yFAJxD,KAIwD;AAAA,6FAF5D,CAE4D;AAGvE,UAAKF,MAAL,GAAcG,qBAAYC,MAAZ,CAAmBJ,MAAnB,CAAd;AACA,QAAMK,EAAE,GAAG,MAAKL,MAAL,CAAYK,EAAvB;AAEA,yCAAmBA,EAAnB;;AAGA,eAAaJ,KAAK,IAAI,EAAtB;AAAA,QAAOK,EAAP,QAAOA,EAAP;;AACA,UAAKD,EAAL,GAAUA,EAAV;AACA,UAAKE,GAAL,GAAWF,EAAX;AACA,UAAKC,EAAL,GAAUA,EAAE,IAAI,cAAI,MAAKE,WAAL,CAAiBC,IAArB,CAAhB;AASA,UAAKC,OAAL,GAAeT,KAAf,aAAeA,KAAf,uBAAeA,KAAK,CAAEU,MAAtB;;AACA,QAAI,MAAKD,OAAL,KAAiBE,SAArB,EAAgC;AAC9B,YAAKF,OAAL,GAAe,MAAKG,aAAL,EAAf;AACD;;AAED,UAAKC,UAAL,GAAkB,CAAlB;AA1BuE;AA2BxE;;;;WAED,oBAA4B;AAC1B,uBAAU,KAAKN,WAAL,CAAiBC,IAA3B,cAAmC,KAAKH,EAAxC;AACD;;;SAED,eAAa;AAUX,aAAO,KAAKI,OAAZ;AACD;;;WAED,mBAAyB;AACvB,WAAKK,MAAL;AACD;;;WAED,mBAA+C;AAAA,sFAAJ,EAAI;AAAA,uCAA9BC,cAA8B;AAAA,UAA9BA,cAA8B,qCAAb,KAAa;;AAG7C,UAAMC,QAAQ,GAAG,KAAKP,OAAL,IAAgB,KAAKQ,aAAL,CAAmB,KAAKR,OAAxB,CAAjC;;AACA,UAAI,KAAKA,OAAT,EAAkB;AAChB,aAAKS,WAAL;AACD;;AACD,WAAKT,OAAL,GAAe,IAAf;;AAIA,UAAIO,QAAQ,IAAID,cAAhB,EAAgC;AAE9BC,QAAAA,QAAQ,CAACG,MAAT,CAAgBC,OAAhB,EAAyBC,OAAzB,CAAiC,UAACC,KAAD;AAAA,iBAAWA,KAAK,CAACR,MAAN,EAAX;AAAA,SAAjC;AACD;;AAED,aAAO,IAAP;AACD;;;WAED,gBAAiC;AAAA,UAA5BS,YAA4B,uEAAb,KAAKb,MAAQ;;AAC/B,UAAI,OAAOa,YAAP,KAAwB,UAA5B,EAAwC;AACtC,aAAKC,WAAL,CAAiBD,YAAjB;;AACA,eAAO,IAAP;AACD;;AAED,UAAIE,KAAJ;;AAEA,UAAI,CAAC,KAAKC,MAAV,EAAkB;AAChB,aAAKF,WAAL,CAAiB,KAAKd,MAAtB;;AACA,aAAKgB,MAAL,GAAc,IAAd;AAEAD,QAAAA,KAAK,GAAGF,YAAY,EAApB;AAEA,aAAKG,MAAL,GAAc,KAAd;;AACA,aAAKF,WAAL,CAAiB,IAAjB;AACD,OARD,MAQO;AACLC,QAAAA,KAAK,GAAGF,YAAY,EAApB;AACD;;AAED,aAAOE,KAAP;AACD;;;WAED,kBAAS;AACP,WAAKE,IAAL,CAAU,IAAV;AACD;;;WAQD,sBAAaC,KAAb,EAAkD;AAAA,UAAtB5B,KAAsB,uEAAT,EAAS;AAChD4B,MAAAA,KAAK,GAAG,kCAAY,KAAKxB,EAAjB,EAAqBwB,KAArB,CAAR;AACA,uBAAOA,KAAP;AAGA,UAAMC,UAAU,GAAG,KAAKtB,WAAL,CAAiBuB,UAAjB,IAA+B,EAAlD;AAGA,UAAMC,SAAS,GAAGF,UAAU,CAACD,KAAD,CAA5B;;AACA,UAAIG,SAAJ,EAAe;AACb,YAAMC,QAAQ,GAAG,2BAAS,KAAK5B,EAAd,CAAjB;AAGA,YAAM6B,kBAAkB,GACtB,CAAC,EAAE,YAAYF,SAAd,KAA4BC,QAA7B,MACC,EAAE,eAAeD,SAAjB,KAA+B,KAAK3B,EAAL,CAAQ8B,YAAR,CAAqBH,SAAS,CAACI,SAA/B,CADhC,CADF;;AAIA,YAAI,CAACF,kBAAL,EAAyB;AACvB,cAAMG,aAAa,GAAGL,SAAS,CAACM,MAAhC;AACA,cAAMC,aAAa,GAAG,YAAYP,SAAZ,GAAwBA,SAAS,CAACQ,MAAlC,GAA2CR,SAAS,CAACM,MAA3E;AACA,cAAMG,YAAY,GAAGR,QAAQ,GAAGM,aAAH,GAAmBF,aAAhD;AACA,iBAAOI,YAAP;AACD;AACF;;AAID,aAAO,KAAKC,aAAL,CAAmBb,KAAnB,EAA0B5B,KAA1B,CAAP;AACD;;;WAKD,yBAA4D;AAAA,UAA9C0C,OAA8C,uEAAJ,EAAI;AAC1D,UAAOb,UAAP,GAA2Ba,OAA3B,CAAOb,UAAP;AAAA,UAAmBc,IAAnB,GAA2BD,OAA3B,CAAmBC,IAAnB;AAIA,UAAMb,UAAU,GAAG,KAAKvB,WAAL,CAAiBuB,UAAjB,IAA+B,EAAlD;AAEA,UAAME,QAAQ,GAAG,2BAAS,KAAK5B,EAAd,CAAjB;AAEA,UAAMwC,MAA2B,GAAG,EAApC;AAGA,UAAMC,aAAa,GAAGhB,UAAU,IAAIiB,MAAM,CAACH,IAAP,CAAYb,UAAZ,CAApC;;AAZ0D,iDAetCe,aAfsC;AAAA;;AAAA;AAe1D,4DAAmC;AAAA,cAAxBjB,KAAwB;AACjC,cAAMG,SAAS,GAAGD,UAAU,CAACF,KAAD,CAA5B;AAGA,cAAMK,kBAAkB,GACtBF,SAAS,KACR,EAAE,YAAYA,SAAd,KAA4BC,QADpB,CAAT,KAEC,EAAE,eAAeD,SAAjB,KAA+B,KAAK3B,EAAL,CAAQ8B,YAAR,CAAqBH,SAAS,CAACI,SAA/B,CAFhC,CADF;;AAKA,cAAIF,kBAAJ,EAAwB;AACtB,gBAAMc,GAAG,GAAGJ,IAAI,GAAG,6BAAO,KAAKvC,EAAZ,EAAgBwB,KAAhB,CAAH,GAA4BA,KAA5C;AACAgB,YAAAA,MAAM,CAACG,GAAD,CAAN,GAAc,KAAKC,YAAL,CAAkBpB,KAAlB,EAAyBc,OAAzB,CAAd;;AACA,gBAAIC,IAAI,IAAIZ,SAAS,CAACkB,IAAV,KAAmB,QAA/B,EAAyC;AACvCL,cAAAA,MAAM,CAACG,GAAD,CAAN,GAAc,6BAAO,KAAK3C,EAAZ,EAAgBwC,MAAM,CAACG,GAAD,CAAtB,CAAd;AACD;AACF;AACF;AA/ByD;AAAA;AAAA;AAAA;AAAA;;AAiC1D,aAAOH,MAAP;AACD;;;WAWD,sBAAahB,KAAb,EAAiCH,KAAjC,EAAmD;AACjDG,MAAAA,KAAK,GAAG,kCAAY,KAAKxB,EAAjB,EAAqBwB,KAArB,CAAR;AACA,uBAAOA,KAAP;AAGA,UAAMC,UAAU,GAAG,KAAKtB,WAAL,CAAiBuB,UAAjB,IAA+B,EAAlD;AAEA,UAAMC,SAAS,GAAGF,UAAU,CAACD,KAAD,CAA5B;;AACA,UAAIG,SAAJ,EAAe;AACb,YAAMC,QAAQ,GAAG,2BAAS,KAAK5B,EAAd,CAAjB;AAGA,YAAM6B,kBAAkB,GACtB,CAAC,EAAE,YAAYF,SAAd,KAA4BC,QAA7B,MACC,EAAE,eAAeD,SAAjB,KAA+B,KAAK3B,EAAL,CAAQ8B,YAAR,CAAqBH,SAAS,CAACI,SAA/B,CADhC,CADF;;AAIA,YAAI,CAACF,kBAAL,EAAyB;AACvB,gBAAM,IAAIiB,KAAJ,CAAU,0CAAV,CAAN;AACD;;AAGD,YAAInB,SAAS,CAACkB,IAAV,KAAmB,QAAvB,EAAiC;AAE/BxB,UAAAA,KAAK,GAAG,kCAAYA,KAAZ,CAAR;AACD;AACF;;AAID,WAAK0B,aAAL,CAAmBvB,KAAnB,EAA0BH,KAA1B;;AACA,aAAO,IAAP;AACD;;;WAMD,uBAAcI,UAAd,EAA2C;AACzC,WAAK,IAAMD,KAAX,IAAoBC,UAApB,EAAgC;AAC9B,aAAKuB,YAAL,CAAkBxB,KAAlB,EAAyBC,UAAU,CAACD,KAAD,CAAnC;AACD;;AACD,aAAO,IAAP;AACD;;;WAGD,4BAAmByB,SAAnB,EAAsCC,OAAtC,EAAuDC,WAAvD,EAA8E;AAC5E,aAAO,6BAAmB,IAAnB,EAAyBF,SAAzB,EAAoCC,OAApC,EAA6CC,WAA7C,CAAP;AACD;;;WAGD,oBAAWvD,KAAX,EAAiC,CAAE;;;WAGnC,yBAAgB;AACd,YAAM,IAAIkD,KAAJ,CAAUrD,6BAAV,CAAN;AACD;;;WAED,yBAAgB;AACd,YAAM,IAAIqD,KAAJ,CAAUrD,6BAAV,CAAN;AACD;;;WAED,qBAAYa,MAAZ,EAAyB;AACvB,YAAM,IAAIwC,KAAJ,CAAUrD,6BAAV,CAAN;AACD;;;WAED,8BAAqB;AACnB,YAAM,IAAIqD,KAAJ,CAAUrD,6BAAV,CAAN;AACD;;;WAED,uBAAc+B,KAAd,EAAyB5B,KAAzB,EAA6D;AAC3D,YAAM,IAAIkD,KAAJ,CAAUrD,6BAAV,CAAN;AACD;;;WAED,uBAAc+B,KAAd,EAAkCH,KAAlC,EAA8C;AAC5C,YAAM,IAAIyB,KAAJ,CAAUrD,6BAAV,CAAN;AACD;;;EAzQ+E2D,a","sourcesContent":["// luma.gl, MIT license\nimport {Resource, assert, uid, stubRemovedMethods} from '@luma.gl/api';\nimport type {Device, ResourceProps} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport {isWebGL2, assertWebGLContext} from '../../context/context/webgl-checks';\nimport WebGLDevice from '../webgl-device';\n\n// Requires full GL enum to be bundled... Make these bindings dependent on dynamic import (debug)?\nimport {getKey, getKeyValue} from './constants-to-keys';\n\nconst ERR_RESOURCE_METHOD_UNDEFINED = 'Resource subclass must define virtual methods';\n\n/**\n * Base class for WebGL object wrappers\n */\n export default abstract class WebGLResource<Props extends ResourceProps> extends Resource<Props> {\n readonly device: WebGLDevice;\n readonly gl: WebGLRenderingContext;\n readonly gl2: WebGL2RenderingContext;\n private _handle: any;\n\n private _bound = false;\n // Only meaningful for resources that allocate GPU memory\n byteLength = 0;\n\n constructor(device: Device, props: Props, defaultProps: Required<Props>) {\n super(device, props, defaultProps);\n\n this.device = WebGLDevice.attach(device);\n const gl = this.device.gl;\n\n assertWebGLContext(gl);\n\n // extends \n const {id} = props || {};\n this.gl = gl;\n this.gl2 = gl as WebGL2RenderingContext;\n this.id = id || uid(this.constructor.name);\n\n // Set the handle\n // If handle was provided, use it, otherwise create a new handle\n\n // TODO - Stores the handle with context loss information\n // this.glCount = glGetContextLossCount(this.gl);\n\n // Default VertexArray needs to be created with null handle, so compare against undefined\n this._handle = props?.handle;\n if (this._handle === undefined) {\n this._handle = this._createHandle();\n }\n\n this.byteLength = 0;\n }\n\n override toString(): string {\n return `${this.constructor.name}(${this.id})`;\n }\n\n get handle() {\n // TODO - Add context loss handling\n // Will regenerate and reinitialize the handle if necessary\n // const glCount = glGetContextLossCount(this.gl);\n // if (this.glCount !== glCount) {\n // this._handle = this._createHandle(this.props);\n // this._glCount = glCount;\n // // Reinitialize object\n // this.initialize(this.props);\n // }\n return this._handle;\n }\n\n override destroy(): void {\n this.delete();\n }\n\n override delete({deleteChildren = false} = {}) {\n // Delete this object, and get refs to any children\n // @ts-expect-error\n const children = this._handle && this._deleteHandle(this._handle);\n if (this._handle) {\n this.removeStats();\n }\n this._handle = null;\n\n // Optionally, recursively delete the children\n // @ts-expect-error\n if (children && deleteChildren) {\n // @ts-expect-error\n children.filter(Boolean).forEach((child) => child.delete());\n }\n\n return this;\n }\n\n bind(funcOrHandle = this.handle) {\n if (typeof funcOrHandle !== 'function') {\n this._bindHandle(funcOrHandle);\n return this;\n }\n\n let value;\n\n if (!this._bound) {\n this._bindHandle(this.handle);\n this._bound = true;\n\n value = funcOrHandle();\n\n this._bound = false;\n this._bindHandle(null);\n } else {\n value = funcOrHandle();\n }\n\n return value;\n }\n\n unbind() {\n this.bind(null);\n }\n\n /**\n * Query a Resource parameter\n *\n * @param name\n * @return param\n */\n getParameter(pname: number, props: any = {}): any {\n pname = getKeyValue(this.gl, pname);\n assert(pname);\n\n // @ts-expect-error\n const parameters = this.constructor.PARAMETERS || {};\n\n // Use parameter definitions to handle unsupported parameters\n const parameter = parameters[pname];\n if (parameter) {\n const isWebgl2 = isWebGL2(this.gl);\n\n // Check if we can query for this parameter\n const parameterAvailable =\n (!('webgl2' in parameter) || isWebgl2) &&\n (!('extension' in parameter) || this.gl.getExtension(parameter.extension));\n\n if (!parameterAvailable) {\n const webgl1Default = parameter.webgl1;\n const webgl2Default = 'webgl2' in parameter ? parameter.webgl2 : parameter.webgl1;\n const defaultValue = isWebgl2 ? webgl2Default : webgl1Default;\n return defaultValue;\n }\n }\n\n // If unknown parameter - Could be a valid parameter not covered by PARAMS\n // Attempt to query for it and let WebGL report errors\n return this._getParameter(pname, props);\n }\n\n // Many resources support a getParameter call -\n // getParameters will get all parameters - slow but useful for debugging\n // eslint-disable-next-line complexity\n getParameters(options: {parameters?: any, keys?: any} = {}) {\n const {parameters, keys} = options;\n\n // Get parameter definitions for this Resource\n // @ts-expect-error\n const PARAMETERS = this.constructor.PARAMETERS || {};\n\n const isWebgl2 = isWebGL2(this.gl);\n\n const values: Record<string, any> = {};\n\n // Query all parameters if no list provided\n const parameterKeys = parameters || Object.keys(PARAMETERS);\n\n // WEBGL limits\n for (const pname of parameterKeys) {\n const parameter = PARAMETERS[pname];\n\n // Check if this parameter is available on this platform\n const parameterAvailable =\n parameter &&\n (!('webgl2' in parameter) || isWebgl2) &&\n (!('extension' in parameter) || this.gl.getExtension(parameter.extension));\n\n if (parameterAvailable) {\n const key = keys ? getKey(this.gl, pname) : pname;\n values[key] = this.getParameter(pname, options);\n if (keys && parameter.type === 'GLenum') {\n values[key] = getKey(this.gl, values[key]);\n }\n }\n }\n\n return values;\n }\n\n /**\n * Update a Resource setting\n *\n * @todo - cache parameter to avoid issuing WebGL calls?\n *\n * @param pname - parameter (GL constant, value or key)\n * @param value {GLint|GLfloat|GLenum} \n * @return returns self to enable chaining\n */\n setParameter(pname: GL | string, value: any): this {\n pname = getKeyValue(this.gl, pname);\n assert(pname);\n\n // @ts-expect-error\n const parameters = this.constructor.PARAMETERS || {};\n\n const parameter = parameters[pname];\n if (parameter) {\n const isWebgl2 = isWebGL2(this.gl);\n\n // Check if this parameter is available on this platform\n const parameterAvailable =\n (!('webgl2' in parameter) || isWebgl2) &&\n (!('extension' in parameter) || this.gl.getExtension(parameter.extension));\n\n if (!parameterAvailable) {\n throw new Error('Parameter not available on this platform');\n }\n\n // Handle string keys\n if (parameter.type === 'GLenum') {\n // @ts-expect-error\n value = getKeyValue(value);\n }\n }\n\n // If unknown parameter - Could be a valid parameter not covered by PARAMS\n // attempt to set it and let WebGL report errors\n this._setParameter(pname, value);\n return this;\n }\n\n /*\n * Batch update resource parameters\n * Assumes the subclass supports a setParameter call\n */\n setParameters(parameters: Record<GL, any>) {\n for (const pname in parameters) {\n this.setParameter(pname, parameters[pname]);\n }\n return this;\n }\n\n // Install stubs for removed methods\n stubRemovedMethods(className: string, version: string, methodNames: string[]) {\n return stubRemovedMethods(this, className, version, methodNames);\n }\n\n // PUBLIC VIRTUAL METHODS\n initialize(props: ResourceProps) {}\n\n // PROTECTED METHODS - These must be overridden by subclass\n _createHandle() {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n _deleteHandle() {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n _bindHandle(handle: any) {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n _getOptsFromHandle() {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n _getParameter(pname: GL, props: Record<string, any>): number {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n _setParameter(pname: GL | string, value: any) {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n // PRIVATE METHODS\n\n /*\n _addStats() {\n const name = this.constructor.name;\n const stats = lumaStats.get('Resource Counts');\n\n stats.get('Resources Created').incrementCount();\n stats.get(`${name}s Created`).incrementCount();\n stats.get(`${name}s Active`).incrementCount();\n }\n\n _removeStats() {\n const name = this.constructor.name;\n const stats = lumaStats.get('Resource Counts');\n\n stats.get(`${name}s Active`).decrementCount();\n }\n\n trackAllocatedMemory(bytes, name = this.constructor.name) {\n const stats = lumaStats.get('Memory Usage');\n\n stats.get('GPU Memory').addCount(bytes);\n stats.get(`${name} Memory`).addCount(bytes);\n this.byteLength = bytes;\n }\n\n trackDeallocatedMemory(name = this.constructor.name) {\n const stats = lumaStats.get('Memory Usage');\n\n stats.get('GPU Memory').subtractCount(this.byteLength);\n stats.get(`${name} Memory`).subtractCount(this.byteLength);\n this.byteLength = 0;\n }\n */\n}\n"],"file":"webgl-resource.js"}
|
|
1
|
+
{"version":3,"file":"webgl-resource.js","names":["_api","require","_webglChecks","_webglDevice","_interopRequireDefault","_constantsToKeys","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","ERR_RESOURCE_METHOD_UNDEFINED","WebGLResource","_Resource","_inherits2","_super","device","props","defaultProps","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","WebGLDevice","attach","gl","assertWebGLContext","_ref","id","gl2","uid","_handle","handle","undefined","_createHandle","byteLength","_createClass2","key","concat","get","destroy","delete","_delete","_ref2","_ref2$deleteChildren","deleteChildren","children","_deleteHandle","removeStats","filter","forEach","child","bind","funcOrHandle","_bindHandle","_bound","unbind","getParameter","pname","getKeyValue","assert","parameters","PARAMETERS","parameter","isWebgl2","isWebGL2","parameterAvailable","getExtension","extension","webgl1Default","webgl1","webgl2Default","webgl2","defaultValue","_getParameter","getParameters","options","keys","values","parameterKeys","_iterator","_step","getKey","type","setParameter","Error","_setParameter","setParameters","stubRemovedMethods","className","version","methodNames","initialize","_getOptsFromHandle","Resource","exports"],"sources":["../../../../src/adapter/objects/webgl-resource.ts"],"sourcesContent":["// luma.gl, MIT license\nimport {Resource, assert, uid, stubRemovedMethods} from '@luma.gl/api';\nimport type {Device, ResourceProps} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport {isWebGL2, assertWebGLContext} from '../../context/context/webgl-checks';\nimport WebGLDevice from '../webgl-device';\n\n// Requires full GL enum to be bundled... Make these bindings dependent on dynamic import (debug)?\nimport {getKey, getKeyValue} from './constants-to-keys';\n\nconst ERR_RESOURCE_METHOD_UNDEFINED = 'Resource subclass must define virtual methods';\n\n/**\n * Base class for WebGL object wrappers\n */\n export default abstract class WebGLResource<Props extends ResourceProps> extends Resource<Props> {\n readonly device: WebGLDevice;\n readonly gl: WebGLRenderingContext;\n readonly gl2: WebGL2RenderingContext;\n private _handle: any;\n\n private _bound = false;\n // Only meaningful for resources that allocate GPU memory\n byteLength = 0;\n\n constructor(device: Device, props: Props, defaultProps: Required<Props>) {\n super(device, props, defaultProps);\n\n this.device = WebGLDevice.attach(device);\n const gl = this.device.gl;\n\n assertWebGLContext(gl);\n\n // extends \n const {id} = props || {};\n this.gl = gl;\n this.gl2 = gl as WebGL2RenderingContext;\n this.id = id || uid(this.constructor.name);\n\n // Set the handle\n // If handle was provided, use it, otherwise create a new handle\n\n // TODO - Stores the handle with context loss information\n // this.glCount = glGetContextLossCount(this.gl);\n\n // Default VertexArray needs to be created with null handle, so compare against undefined\n this._handle = props?.handle;\n if (this._handle === undefined) {\n this._handle = this._createHandle();\n }\n\n this.byteLength = 0;\n }\n\n override toString(): string {\n return `${this.constructor.name}(${this.id})`;\n }\n\n get handle() {\n // TODO - Add context loss handling\n // Will regenerate and reinitialize the handle if necessary\n // const glCount = glGetContextLossCount(this.gl);\n // if (this.glCount !== glCount) {\n // this._handle = this._createHandle(this.props);\n // this._glCount = glCount;\n // // Reinitialize object\n // this.initialize(this.props);\n // }\n return this._handle;\n }\n\n override destroy(): void {\n this.delete();\n }\n\n override delete({deleteChildren = false} = {}) {\n // Delete this object, and get refs to any children\n // @ts-expect-error\n const children = this._handle && this._deleteHandle(this._handle);\n if (this._handle) {\n this.removeStats();\n }\n this._handle = null;\n\n // Optionally, recursively delete the children\n // @ts-expect-error\n if (children && deleteChildren) {\n // @ts-expect-error\n children.filter(Boolean).forEach((child) => child.delete());\n }\n\n return this;\n }\n\n bind(funcOrHandle = this.handle) {\n if (typeof funcOrHandle !== 'function') {\n this._bindHandle(funcOrHandle);\n return this;\n }\n\n let value;\n\n if (!this._bound) {\n this._bindHandle(this.handle);\n this._bound = true;\n\n value = funcOrHandle();\n\n this._bound = false;\n this._bindHandle(null);\n } else {\n value = funcOrHandle();\n }\n\n return value;\n }\n\n unbind() {\n this.bind(null);\n }\n\n /**\n * Query a Resource parameter\n *\n * @param name\n * @return param\n */\n getParameter(pname: number, props: any = {}): any {\n pname = getKeyValue(this.gl, pname);\n assert(pname);\n\n // @ts-expect-error\n const parameters = this.constructor.PARAMETERS || {};\n\n // Use parameter definitions to handle unsupported parameters\n const parameter = parameters[pname];\n if (parameter) {\n const isWebgl2 = isWebGL2(this.gl);\n\n // Check if we can query for this parameter\n const parameterAvailable =\n (!('webgl2' in parameter) || isWebgl2) &&\n (!('extension' in parameter) || this.gl.getExtension(parameter.extension));\n\n if (!parameterAvailable) {\n const webgl1Default = parameter.webgl1;\n const webgl2Default = 'webgl2' in parameter ? parameter.webgl2 : parameter.webgl1;\n const defaultValue = isWebgl2 ? webgl2Default : webgl1Default;\n return defaultValue;\n }\n }\n\n // If unknown parameter - Could be a valid parameter not covered by PARAMS\n // Attempt to query for it and let WebGL report errors\n return this._getParameter(pname, props);\n }\n\n // Many resources support a getParameter call -\n // getParameters will get all parameters - slow but useful for debugging\n // eslint-disable-next-line complexity\n getParameters(options: {parameters?: any, keys?: any} = {}) {\n const {parameters, keys} = options;\n\n // Get parameter definitions for this Resource\n // @ts-expect-error\n const PARAMETERS = this.constructor.PARAMETERS || {};\n\n const isWebgl2 = isWebGL2(this.gl);\n\n const values: Record<string, any> = {};\n\n // Query all parameters if no list provided\n const parameterKeys = parameters || Object.keys(PARAMETERS);\n\n // WEBGL limits\n for (const pname of parameterKeys) {\n const parameter = PARAMETERS[pname];\n\n // Check if this parameter is available on this platform\n const parameterAvailable =\n parameter &&\n (!('webgl2' in parameter) || isWebgl2) &&\n (!('extension' in parameter) || this.gl.getExtension(parameter.extension));\n\n if (parameterAvailable) {\n const key = keys ? getKey(this.gl, pname) : pname;\n values[key] = this.getParameter(pname, options);\n if (keys && parameter.type === 'GLenum') {\n values[key] = getKey(this.gl, values[key]);\n }\n }\n }\n\n return values;\n }\n\n /**\n * Update a Resource setting\n *\n * @todo - cache parameter to avoid issuing WebGL calls?\n *\n * @param pname - parameter (GL constant, value or key)\n * @param value {GLint|GLfloat|GLenum} \n * @return returns self to enable chaining\n */\n setParameter(pname: GL | string, value: any): this {\n pname = getKeyValue(this.gl, pname);\n assert(pname);\n\n // @ts-expect-error\n const parameters = this.constructor.PARAMETERS || {};\n\n const parameter = parameters[pname];\n if (parameter) {\n const isWebgl2 = isWebGL2(this.gl);\n\n // Check if this parameter is available on this platform\n const parameterAvailable =\n (!('webgl2' in parameter) || isWebgl2) &&\n (!('extension' in parameter) || this.gl.getExtension(parameter.extension));\n\n if (!parameterAvailable) {\n throw new Error('Parameter not available on this platform');\n }\n\n // Handle string keys\n if (parameter.type === 'GLenum') {\n // @ts-expect-error\n value = getKeyValue(value);\n }\n }\n\n // If unknown parameter - Could be a valid parameter not covered by PARAMS\n // attempt to set it and let WebGL report errors\n this._setParameter(pname, value);\n return this;\n }\n\n /*\n * Batch update resource parameters\n * Assumes the subclass supports a setParameter call\n */\n setParameters(parameters: Record<GL, any>) {\n for (const pname in parameters) {\n this.setParameter(pname, parameters[pname]);\n }\n return this;\n }\n\n // Install stubs for removed methods\n stubRemovedMethods(className: string, version: string, methodNames: string[]) {\n return stubRemovedMethods(this, className, version, methodNames);\n }\n\n // PUBLIC VIRTUAL METHODS\n initialize(props: ResourceProps) {}\n\n // PROTECTED METHODS - These must be overridden by subclass\n _createHandle() {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n _deleteHandle() {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n _bindHandle(handle: any) {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n _getOptsFromHandle() {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n _getParameter(pname: GL, props: Record<string, any>): number {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n _setParameter(pname: GL | string, value: any) {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n // PRIVATE METHODS\n\n /*\n _addStats() {\n const name = this.constructor.name;\n const stats = lumaStats.get('Resource Counts');\n\n stats.get('Resources Created').incrementCount();\n stats.get(`${name}s Created`).incrementCount();\n stats.get(`${name}s Active`).incrementCount();\n }\n\n _removeStats() {\n const name = this.constructor.name;\n const stats = lumaStats.get('Resource Counts');\n\n stats.get(`${name}s Active`).decrementCount();\n }\n\n trackAllocatedMemory(bytes, name = this.constructor.name) {\n const stats = lumaStats.get('Memory Usage');\n\n stats.get('GPU Memory').addCount(bytes);\n stats.get(`${name} Memory`).addCount(bytes);\n this.byteLength = bytes;\n }\n\n trackDeallocatedMemory(name = this.constructor.name) {\n const stats = lumaStats.get('Memory Usage');\n\n stats.get('GPU Memory').subtractCount(this.byteLength);\n stats.get(`${name} Memory`).subtractCount(this.byteLength);\n this.byteLength = 0;\n }\n */\n}\n"],"mappings":"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"}
|
|
@@ -1,46 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
10
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
-
|
|
16
11
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
17
|
-
|
|
18
12
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
-
|
|
20
13
|
var _api = require("@luma.gl/api");
|
|
21
|
-
|
|
22
14
|
var _constants = _interopRequireDefault(require("@luma.gl/constants"));
|
|
23
|
-
|
|
24
15
|
var _env = require("@probe.gl/env");
|
|
25
|
-
|
|
26
16
|
var _webglResource = _interopRequireDefault(require("./webgl-resource"));
|
|
27
|
-
|
|
28
17
|
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); }; }
|
|
29
|
-
|
|
30
18
|
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; } }
|
|
31
|
-
|
|
32
19
|
var ERR_ELEMENTS = 'elements must be GL.ELEMENT_ARRAY_BUFFER';
|
|
33
|
-
|
|
34
20
|
var WEBGLVertexArrayObject = function (_WebGLResource, _Symbol$toStringTag) {
|
|
35
21
|
(0, _inherits2.default)(WEBGLVertexArrayObject, _WebGLResource);
|
|
36
|
-
|
|
37
22
|
var _super = _createSuper(WEBGLVertexArrayObject);
|
|
38
|
-
|
|
39
23
|
function WEBGLVertexArrayObject(device, props) {
|
|
40
24
|
(0, _classCallCheck2.default)(this, WEBGLVertexArrayObject);
|
|
41
25
|
return _super.call(this, device, props, {});
|
|
42
26
|
}
|
|
43
|
-
|
|
44
27
|
(0, _createClass2.default)(WEBGLVertexArrayObject, [{
|
|
45
28
|
key: _Symbol$toStringTag,
|
|
46
29
|
get: function get() {
|
|
@@ -66,7 +49,6 @@ var WEBGLVertexArrayObject = function (_WebGLResource, _Symbol$toStringTag) {
|
|
|
66
49
|
key: "setElementBuffer",
|
|
67
50
|
value: function setElementBuffer() {
|
|
68
51
|
var _this = this;
|
|
69
|
-
|
|
70
52
|
var elementBuffer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
71
53
|
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
72
54
|
(0, _api.assert)(!elementBuffer || elementBuffer.target === _constants.default.ELEMENT_ARRAY_BUFFER, ERR_ELEMENTS);
|
|
@@ -79,32 +61,27 @@ var WEBGLVertexArrayObject = function (_WebGLResource, _Symbol$toStringTag) {
|
|
|
79
61
|
key: "setBuffer",
|
|
80
62
|
value: function setBuffer(location, buffer, accessor) {
|
|
81
63
|
var _this2 = this;
|
|
82
|
-
|
|
83
64
|
if (buffer.target === _constants.default.ELEMENT_ARRAY_BUFFER) {
|
|
84
65
|
return this.setElementBuffer(buffer, accessor);
|
|
85
66
|
}
|
|
86
|
-
|
|
87
67
|
var size = accessor.size,
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
68
|
+
type = accessor.type,
|
|
69
|
+
stride = accessor.stride,
|
|
70
|
+
offset = accessor.offset,
|
|
71
|
+
normalized = accessor.normalized,
|
|
72
|
+
integer = accessor.integer,
|
|
73
|
+
divisor = accessor.divisor;
|
|
94
74
|
var gl = this.gl,
|
|
95
|
-
|
|
75
|
+
gl2 = this.gl2;
|
|
96
76
|
location = Number(location);
|
|
97
77
|
this.bind(function () {
|
|
98
78
|
gl.bindBuffer(gl.ARRAY_BUFFER, buffer.handle);
|
|
99
|
-
|
|
100
79
|
if (integer) {
|
|
101
80
|
_this2.device.assertWebGL2();
|
|
102
|
-
|
|
103
81
|
gl2.vertexAttribIPointer(location, size, type, stride, offset);
|
|
104
82
|
} else {
|
|
105
83
|
gl.vertexAttribPointer(location, size, type, normalized, stride, offset);
|
|
106
84
|
}
|
|
107
|
-
|
|
108
85
|
gl.enableVertexAttribArray(location);
|
|
109
86
|
gl2.vertexAttribDivisor(location, divisor || 0);
|
|
110
87
|
});
|
|
@@ -114,24 +91,19 @@ var WEBGLVertexArrayObject = function (_WebGLResource, _Symbol$toStringTag) {
|
|
|
114
91
|
key: "enable",
|
|
115
92
|
value: function enable(location) {
|
|
116
93
|
var _this3 = this;
|
|
117
|
-
|
|
118
94
|
var _enable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
119
|
-
|
|
120
95
|
var canDisableAttributeZero = this.device.isWebGL2 || (0, _env.getBrowser)() === 'Chrome';
|
|
121
96
|
var canDisableAttribute = canDisableAttributeZero || location !== 0;
|
|
122
|
-
|
|
123
97
|
if (_enable || canDisableAttribute) {
|
|
124
98
|
location = Number(location);
|
|
125
99
|
this.bind(function () {
|
|
126
100
|
return _enable ? _this3.gl.enableVertexAttribArray(location) : _this3.gl.disableVertexAttribArray(location);
|
|
127
101
|
});
|
|
128
102
|
}
|
|
129
|
-
|
|
130
103
|
return this;
|
|
131
104
|
}
|
|
132
105
|
}]);
|
|
133
106
|
return WEBGLVertexArrayObject;
|
|
134
107
|
}(_webglResource.default, Symbol.toStringTag);
|
|
135
|
-
|
|
136
108
|
exports.default = WEBGLVertexArrayObject;
|
|
137
109
|
//# sourceMappingURL=webgl-vertex-array-object.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"webgl-vertex-array-object.js","names":["_api","require","_constants","_interopRequireDefault","_env","_webglResource","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","ERR_ELEMENTS","WEBGLVertexArrayObject","_WebGLResource","_Symbol$toStringTag","_inherits2","_super","device","props","_classCallCheck2","_createClass2","key","get","value","_createHandle","gl2","createVertexArray","_deleteHandle","deleteVertexArray","handle","elements","_bindHandle","bindVertexArray","setElementBuffer","_this","elementBuffer","length","undefined","opts","assert","target","GL","ELEMENT_ARRAY_BUFFER","bind","gl","bindBuffer","setBuffer","location","buffer","accessor","_this2","size","type","stride","offset","normalized","integer","divisor","Number","ARRAY_BUFFER","assertWebGL2","vertexAttribIPointer","vertexAttribPointer","enableVertexAttribArray","vertexAttribDivisor","enable","_this3","canDisableAttributeZero","isWebGL2","getBrowser","canDisableAttribute","disableVertexAttribArray","WebGLResource","Symbol","toStringTag","exports"],"sources":["../../../../src/adapter/objects/webgl-vertex-array-object.ts"],"sourcesContent":["import {assert, ResourceProps} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport {getBrowser} from '@probe.gl/env';\n\nimport WebGLDevice from '../webgl-device';\nimport WebGLResource from './webgl-resource';\n\nimport Buffer from '../resources/webgl-buffer';\n\nconst ERR_ELEMENTS = 'elements must be GL.ELEMENT_ARRAY_BUFFER';\n\n/**\n * VertexArrayObject properties\n */\nexport type VertexArrayObjectProps = ResourceProps & {\n};\n\n/** VertexArrayObject wrapper */\nexport default class WEBGLVertexArrayObject extends WebGLResource<VertexArrayObjectProps> {\n override get [Symbol.toStringTag](): string {\n return 'BaseVertexArrayObject';\n }\n\n constructor(device: WebGLDevice, props?: VertexArrayObjectProps) {\n // @ts-expect-error\n super(device, props, {});\n }\n\n override _createHandle() {\n return this.gl2.createVertexArray();\n }\n\n override _deleteHandle(): void {\n this.gl2.deleteVertexArray(this.handle);\n // @ts-expect-error\n return [this.elements];\n // return [this.elements, ...this.buffers];\n }\n\n override _bindHandle(handle: WEBGLVertexArrayObject): void {\n this.gl2.bindVertexArray(handle);\n }\n\n // Set (bind) an elements buffer, for indexed rendering.\n // Must be a Buffer bound to GL.ELEMENT_ARRAY_BUFFER. Constants not supported\n setElementBuffer(elementBuffer: Buffer | null = null, opts = {}) {\n assert(!elementBuffer || elementBuffer.target === GL.ELEMENT_ARRAY_BUFFER, ERR_ELEMENTS);\n\n // The GL.ELEMENT_ARRAY_BUFFER_BINDING is stored on the VertexArrayObject...\n this.bind(() => {\n this.gl.bindBuffer(GL.ELEMENT_ARRAY_BUFFER, elementBuffer ? elementBuffer.handle : null);\n });\n\n return this;\n }\n\n /** Set a location in vertex attributes array to a buffer, enables the location, sets divisor */\n setBuffer(location: number, buffer: Buffer, accessor: any): this {\n // Check target\n if (buffer.target === GL.ELEMENT_ARRAY_BUFFER) {\n return this.setElementBuffer(buffer, accessor);\n }\n\n const {size, type, stride, offset, normalized, integer, divisor} = accessor;\n\n const {gl, gl2} = this;\n location = Number(location);\n\n this.bind(() => {\n // A non-zero buffer object must be bound to the GL_ARRAY_BUFFER target\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer.handle);\n\n // WebGL2 supports *integer* data formats, i.e. GPU will see integer values\n if (integer) {\n this.device.assertWebGL2();\n gl2.vertexAttribIPointer(location, size, type, stride, offset);\n } else {\n // Attaches ARRAY_BUFFER with specified buffer format to location\n gl.vertexAttribPointer(location, size, type, normalized, stride, offset);\n }\n gl.enableVertexAttribArray(location);\n gl2.vertexAttribDivisor(location, divisor || 0);\n\n // NOTE We don't unbind buffer here, typically another buffer will be bound just after\n });\n\n return this;\n }\n\n /**\n * Enabling an attribute location makes it reference the currently bound buffer\n * Disabling an attribute location makes it reference the global constant value\n * TODO - handle single values for size 1 attributes?\n * TODO - convert classic arrays based on known type?\n */\n enable(location: number, enable = true): this {\n // Attribute 0 cannot be disabled in most desktop OpenGL based browsers...\n const canDisableAttributeZero = this.device.isWebGL2 || getBrowser() === 'Chrome';\n const canDisableAttribute = canDisableAttributeZero || location !== 0;\n\n if (enable || canDisableAttribute) {\n location = Number(location);\n this.bind(() =>\n enable\n ? this.gl.enableVertexAttribArray(location)\n : this.gl.disableVertexAttribArray(location)\n );\n }\n return this;\n }\n}\n"],"mappings":"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"}
|