@luma.gl/webgl 9.0.0-alpha.2 → 9.0.0-alpha.21
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 +11 -1
- package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/device-parameters.js +17 -35
- package/dist/adapter/converters/device-parameters.js.map +1 -1
- package/dist/adapter/converters/renderbuffer-formats.d.ts +2 -2
- package/dist/adapter/converters/renderbuffer-formats.d.ts.map +1 -1
- package/dist/adapter/converters/renderbuffer-formats.js +2 -7
- package/dist/adapter/converters/renderbuffer-formats.js.map +1 -1
- package/dist/adapter/converters/sampler-parameters.d.ts +4 -4
- package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/sampler-parameters.js +19 -55
- package/dist/adapter/converters/sampler-parameters.js.map +1 -1
- package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
- package/dist/adapter/converters/texture-formats.js +13 -66
- package/dist/adapter/converters/texture-formats.js.map +1 -1
- package/dist/adapter/converters/vertex-formats.d.ts.map +1 -1
- package/dist/adapter/converters/vertex-formats.js +2 -8
- package/dist/adapter/converters/vertex-formats.js.map +1 -1
- package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
- package/dist/adapter/device-helpers/device-features.js +13 -20
- package/dist/adapter/device-helpers/device-features.js.map +1 -1
- package/dist/adapter/device-helpers/device-limits.js +1 -4
- package/dist/adapter/device-helpers/device-limits.js.map +1 -1
- package/dist/adapter/device-helpers/get-device-info.js +8 -10
- package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
- package/dist/adapter/device-helpers/is-old-ie.js +2 -1
- package/dist/adapter/device-helpers/is-old-ie.js.map +1 -1
- package/dist/adapter/helpers/attribute-utils.js +0 -17
- package/dist/adapter/helpers/attribute-utils.js.map +1 -1
- package/dist/adapter/helpers/get-shader-info.d.ts +9 -0
- package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -0
- package/dist/adapter/helpers/get-shader-info.js +25 -0
- package/dist/adapter/helpers/get-shader-info.js.map +1 -0
- package/dist/adapter/helpers/get-shader-layout.d.ts +1 -1
- package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
- package/dist/adapter/helpers/get-shader-layout.js +41 -67
- package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.js +0 -7
- package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
- package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
- package/dist/adapter/helpers/set-uniform.js +1 -31
- package/dist/adapter/helpers/set-uniform.js.map +1 -1
- package/dist/adapter/helpers/uniforms.d.ts +1 -1
- package/dist/adapter/helpers/uniforms.d.ts.map +1 -1
- package/dist/adapter/helpers/uniforms.js +4 -14
- package/dist/adapter/helpers/uniforms.js.map +1 -1
- package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
- package/dist/adapter/objects/constants-to-keys.js +0 -7
- package/dist/adapter/objects/constants-to-keys.js.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.d.ts +3 -3
- package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.js +6 -22
- package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
- package/dist/adapter/objects/webgl-resource.d.ts +3 -5
- package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-resource.js +15 -68
- package/dist/adapter/objects/webgl-resource.js.map +1 -1
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts +6 -6
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-vertex-array-object.js +7 -17
- package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -1
- package/dist/adapter/resources/webgl-buffer.d.ts +3 -4
- package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-buffer.js +18 -49
- package/dist/adapter/resources/webgl-buffer.js.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.d.ts +2 -2
- package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.js +3 -18
- package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
- package/dist/adapter/resources/webgl-command-encoder.d.ts +3 -3
- package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-encoder.js +2 -15
- package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
- package/dist/adapter/resources/webgl-external-texture.js.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.d.ts +16 -16
- package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.js +17 -75
- package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.d.ts +3 -3
- package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.js +3 -8
- package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.d.ts +5 -5
- package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.js +51 -140
- package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
- package/dist/adapter/resources/webgl-sampler.d.ts +5 -4
- package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-sampler.js +5 -13
- package/dist/adapter/resources/webgl-sampler.js.map +1 -1
- package/dist/adapter/resources/webgl-shader.d.ts +3 -4
- package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-shader.js +8 -21
- package/dist/adapter/resources/webgl-shader.js.map +1 -1
- package/dist/adapter/resources/webgl-texture.d.ts +26 -26
- package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-texture.js +66 -183
- package/dist/adapter/resources/webgl-texture.js.map +1 -1
- package/dist/adapter/webgl-canvas-context.d.ts +3 -3
- package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
- package/dist/adapter/webgl-canvas-context.js +6 -19
- package/dist/adapter/webgl-canvas-context.js.map +1 -1
- package/dist/adapter/webgl-device.d.ts +53 -37
- package/dist/adapter/webgl-device.d.ts.map +1 -1
- package/dist/adapter/webgl-device.js +108 -109
- package/dist/adapter/webgl-device.js.map +1 -1
- package/dist/classic/accessor.d.ts +1 -1
- package/dist/classic/accessor.d.ts.map +1 -1
- package/dist/classic/accessor.js +12 -36
- package/dist/classic/accessor.js.map +1 -1
- package/dist/classic/buffer.d.ts +3 -4
- package/dist/classic/buffer.d.ts.map +1 -1
- package/dist/classic/buffer.js +30 -87
- package/dist/classic/buffer.js.map +1 -1
- 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 +0 -20
- package/dist/classic/typed-array-utils.js.map +1 -1
- package/dist/context/context/{create-context.d.ts → create-browser-context.d.ts} +2 -1
- package/dist/context/context/create-browser-context.d.ts.map +1 -0
- package/dist/context/context/{create-context.js → create-browser-context.js} +19 -15
- package/dist/context/context/create-browser-context.js.map +1 -0
- package/dist/context/context/create-headless-context.d.ts +9 -0
- package/dist/context/context/create-headless-context.d.ts.map +1 -0
- package/dist/context/context/create-headless-context.js +42 -0
- package/dist/context/context/create-headless-context.js.map +1 -0
- package/dist/context/context/webgl-checks.js +0 -3
- package/dist/context/context/webgl-checks.js.map +1 -1
- package/dist/context/debug/spector.d.ts +1 -0
- package/dist/context/debug/spector.d.ts.map +1 -1
- package/dist/context/debug/spector.js +7 -19
- package/dist/context/debug/spector.js.map +1 -1
- 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 +8 -32
- package/dist/context/debug/webgl-developer-tools.js.map +1 -1
- package/dist/context/parameters/unified-parameter-api.d.ts +6 -5
- package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
- package/dist/context/parameters/unified-parameter-api.js +8 -18
- package/dist/context/parameters/unified-parameter-api.js.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.d.ts +103 -103
- package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.js +16 -34
- package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
- package/dist/context/polyfill/context-data.d.ts +13 -0
- package/dist/context/polyfill/context-data.d.ts.map +1 -0
- package/dist/context/polyfill/context-data.js +12 -0
- package/dist/context/polyfill/context-data.js.map +1 -0
- package/dist/context/polyfill/get-parameter-polyfill.d.ts +1 -1
- package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -1
- package/dist/context/polyfill/get-parameter-polyfill.js +1 -6
- package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
- package/dist/context/polyfill/polyfill-context.js +20 -28
- package/dist/context/polyfill/polyfill-context.js.map +1 -1
- package/dist/context/polyfill/polyfill-table.d.ts +8 -8
- package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-table.js +8 -30
- package/dist/context/polyfill/polyfill-table.js.map +1 -1
- package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-vertex-array-object.js +0 -70
- package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
- package/dist/context/state-tracker/deep-array-equal.js +0 -4
- package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
- package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
- package/dist/context/state-tracker/track-context-state.js +15 -50
- package/dist/context/state-tracker/track-context-state.js.map +1 -1
- package/dist/context/state-tracker/with-parameters.d.ts +2 -1
- package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
- package/dist/context/state-tracker/with-parameters.js +7 -9
- package/dist/context/state-tracker/with-parameters.js.map +1 -1
- package/dist/dist.dev.js +9204 -0
- package/dist/index.cjs +5948 -0
- package/dist/index.d.ts +19 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -26
- package/dist/index.js.map +1 -1
- package/dist/types/webgl.d.ts +8 -7
- package/dist/types/webgl.d.ts.map +1 -1
- package/dist/types/webgl.js.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist.min.js +36 -0
- package/package.json +18 -9
- package/src/.DS_Store +0 -0
- package/src/adapter/.DS_Store +0 -0
- package/src/adapter/converters/device-parameters.ts +45 -16
- package/src/adapter/converters/renderbuffer-formats.ts +1 -3
- package/src/adapter/converters/sampler-parameters.ts +18 -7
- package/src/adapter/converters/texture-formats.ts +18 -16
- package/src/adapter/converters/vertex-formats.ts +1 -0
- package/src/adapter/device-helpers/device-features.ts +9 -2
- package/src/adapter/device-helpers/device-limits.ts +1 -1
- package/src/adapter/device-helpers/get-device-info.ts +12 -8
- package/src/adapter/helpers/get-shader-info.ts +37 -0
- package/src/adapter/helpers/get-shader-layout.ts +59 -37
- package/src/adapter/helpers/parse-shader-compiler-log.ts +2 -2
- package/src/adapter/helpers/set-uniform.ts +3 -1
- package/src/adapter/helpers/uniforms.ts +21 -10
- package/src/adapter/objects/constants-to-keys.ts +4 -1
- package/src/adapter/objects/webgl-renderbuffer.ts +8 -8
- package/src/adapter/objects/webgl-resource.ts +8 -13
- package/src/adapter/objects/webgl-vertex-array-object.ts +10 -10
- package/src/adapter/resources/webgl-buffer.ts +16 -16
- package/src/adapter/resources/webgl-command-buffer.ts +3 -3
- package/src/adapter/resources/webgl-command-encoder.ts +8 -8
- package/src/adapter/resources/webgl-external-texture.ts +1 -1
- package/src/adapter/resources/webgl-framebuffer.ts +36 -33
- package/src/adapter/resources/webgl-render-pass.ts +4 -3
- package/src/adapter/resources/webgl-render-pipeline.ts +89 -77
- package/src/adapter/resources/webgl-sampler.ts +12 -6
- package/src/adapter/resources/webgl-shader.ts +10 -9
- package/src/adapter/resources/webgl-texture.ts +55 -45
- package/src/adapter/webgl-canvas-context.ts +8 -9
- package/src/adapter/webgl-device.ts +153 -69
- package/src/classic/accessor.ts +2 -15
- package/src/classic/buffer.ts +18 -25
- package/src/classic/typed-array-utils.ts +4 -2
- package/src/context/.DS_Store +0 -0
- package/src/context/context/{create-context.ts → create-browser-context.ts} +17 -7
- package/src/context/context/create-headless-context.ts +48 -0
- package/src/context/debug/spector.ts +6 -5
- package/src/context/debug/webgl-developer-tools.ts +13 -13
- package/src/context/parameters/unified-parameter-api.ts +18 -12
- package/src/context/parameters/webgl-parameter-tables.ts +113 -94
- package/src/context/polyfill/context-data.ts +27 -0
- package/src/context/polyfill/get-parameter-polyfill.ts +7 -6
- package/src/context/polyfill/polyfill-context.ts +6 -8
- package/src/context/polyfill/polyfill-table.ts +16 -14
- package/src/context/polyfill/polyfill-vertex-array-object.ts +2 -0
- package/src/context/state-tracker/track-context-state.ts +13 -12
- package/src/context/state-tracker/with-parameters.ts +8 -2
- package/src/index.ts +28 -26
- package/src/types/webgl.ts +10 -7
- package/dist/bundle.d.ts +0 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/bundle.js +0 -5
- package/dist/bundle.js.map +0 -1
- package/dist/context/context/context-state.d.ts +0 -18
- package/dist/context/context/context-state.d.ts.map +0 -1
- package/dist/context/context/context-state.js +0 -26
- package/dist/context/context/context-state.js.map +0 -1
- package/dist/context/context/create-context.d.ts.map +0 -1
- package/dist/context/context/create-context.js.map +0 -1
- package/dist/context/context/device-pixels.d.ts +0 -25
- package/dist/context/context/device-pixels.d.ts.map +0 -1
- package/dist/context/context/device-pixels.js +0 -98
- package/dist/context/context/device-pixels.js.map +0 -1
- package/dist/es5/adapter/converters/device-parameters.js +0 -170
- package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
- package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -163
- package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/es5/adapter/converters/sampler-parameters.js +0 -226
- package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/es5/adapter/converters/texture-formats.js +0 -1031
- package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
- package/dist/es5/adapter/converters/vertex-formats.js +0 -45
- package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/es5/adapter/device-helpers/device-features.js +0 -144
- package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/es5/adapter/device-helpers/device-limits.js +0 -64
- package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/es5/adapter/device-helpers/get-device-info.js +0 -55
- package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -16
- package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/es5/adapter/helpers/attribute-utils.js +0 -91
- package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/es5/adapter/helpers/get-shader-layout.js +0 -371
- package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -72
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/es5/adapter/helpers/set-uniform.js +0 -125
- package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/es5/adapter/helpers/uniforms.js +0 -112
- package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
- package/dist/es5/adapter/objects/constants-to-keys.js +0 -54
- package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -150
- package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-resource.js +0 -292
- package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -137
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-buffer.js +0 -243
- package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -96
- package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -98
- package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
- package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -345
- package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-render-pass.js +0 -61
- package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -505
- package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-sampler.js +0 -96
- package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-shader.js +0 -149
- package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-texture.js +0 -986
- package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/es5/adapter/webgl-canvas-context.js +0 -97
- package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/es5/adapter/webgl-device.js +0 -399
- package/dist/es5/adapter/webgl-device.js.map +0 -1
- package/dist/es5/bundle.js +0 -7
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/classic/accessor.js +0 -181
- package/dist/es5/classic/accessor.js.map +0 -1
- package/dist/es5/classic/buffer.js +0 -470
- package/dist/es5/classic/buffer.js.map +0 -1
- package/dist/es5/classic/typed-array-utils.js +0 -126
- package/dist/es5/classic/typed-array-utils.js.map +0 -1
- package/dist/es5/context/context/context-state.js +0 -31
- package/dist/es5/context/context/context-state.js.map +0 -1
- package/dist/es5/context/context/create-context.js +0 -69
- package/dist/es5/context/context/create-context.js.map +0 -1
- package/dist/es5/context/context/device-pixels.js +0 -115
- package/dist/es5/context/context/device-pixels.js.map +0 -1
- package/dist/es5/context/context/webgl-checks.js +0 -54
- package/dist/es5/context/context/webgl-checks.js.map +0 -1
- package/dist/es5/context/debug/spector.js +0 -133
- package/dist/es5/context/debug/spector.js.map +0 -1
- package/dist/es5/context/debug/webgl-developer-tools.js +0 -198
- package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/es5/context/parameters/unified-parameter-api.js +0 -97
- package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -392
- package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -81
- package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-context.js +0 -135
- package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-table.js +0 -166
- package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -341
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/es5/context/state-tracker/deep-array-equal.js +0 -28
- package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/es5/context/state-tracker/track-context-state.js +0 -211
- package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/es5/context/state-tracker/with-parameters.js +0 -44
- package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
- package/dist/es5/index.js +0 -276
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/init.js +0 -10
- package/dist/es5/init.js.map +0 -1
- package/dist/es5/types/webgl.js +0 -6
- package/dist/es5/types/webgl.js.map +0 -1
- package/dist/es5/types.js +0 -2
- package/dist/es5/types.js.map +0 -1
- package/dist/esm/adapter/converters/device-parameters.js +0 -155
- package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
- package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -185
- package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/esm/adapter/converters/sampler-parameters.js +0 -208
- package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/esm/adapter/converters/texture-formats.js +0 -954
- package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
- package/dist/esm/adapter/converters/vertex-formats.js +0 -35
- package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/esm/adapter/device-helpers/device-features.js +0 -102
- package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/esm/adapter/device-helpers/device-limits.js +0 -91
- package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/esm/adapter/device-helpers/get-device-info.js +0 -44
- package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -8
- package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/esm/adapter/helpers/attribute-utils.js +0 -81
- package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/esm/adapter/helpers/get-shader-layout.js +0 -306
- package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -37
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/esm/adapter/helpers/set-uniform.js +0 -115
- package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/esm/adapter/helpers/uniforms.js +0 -99
- package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
- package/dist/esm/adapter/objects/constants-to-keys.js +0 -42
- package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -94
- package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-resource.js +0 -216
- package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -84
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-buffer.js +0 -164
- package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -65
- package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -53
- package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
- package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -265
- package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-render-pass.js +0 -19
- package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -400
- package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-sampler.js +0 -50
- package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-shader.js +0 -75
- package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-texture.js +0 -831
- package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/esm/adapter/webgl-canvas-context.js +0 -54
- package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/esm/adapter/webgl-device.js +0 -280
- package/dist/esm/adapter/webgl-device.js.map +0 -1
- package/dist/esm/bundle.js +0 -5
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/classic/accessor.js +0 -144
- package/dist/esm/classic/accessor.js.map +0 -1
- package/dist/esm/classic/buffer.js +0 -384
- package/dist/esm/classic/buffer.js.map +0 -1
- package/dist/esm/classic/typed-array-utils.js +0 -112
- package/dist/esm/classic/typed-array-utils.js.map +0 -1
- package/dist/esm/context/context/context-state.js +0 -26
- package/dist/esm/context/context/context-state.js.map +0 -1
- package/dist/esm/context/context/create-context.js +0 -49
- package/dist/esm/context/context/create-context.js.map +0 -1
- package/dist/esm/context/context/device-pixels.js +0 -98
- package/dist/esm/context/context/device-pixels.js.map +0 -1
- package/dist/esm/context/context/webgl-checks.js +0 -34
- package/dist/esm/context/context/webgl-checks.js.map +0 -1
- package/dist/esm/context/debug/spector.js +0 -76
- package/dist/esm/context/debug/spector.js.map +0 -1
- package/dist/esm/context/debug/webgl-developer-tools.js +0 -121
- package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/esm/context/parameters/unified-parameter-api.js +0 -65
- package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -445
- package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -91
- package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-context.js +0 -92
- package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-table.js +0 -160
- package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -335
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/esm/context/state-tracker/deep-array-equal.js +0 -21
- package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/esm/context/state-tracker/track-context-state.js +0 -183
- package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/esm/context/state-tracker/with-parameters.js +0 -36
- package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
- package/dist/esm/index.js +0 -27
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/init.js +0 -4
- package/dist/esm/init.js.map +0 -1
- package/dist/esm/types/webgl.js +0 -2
- package/dist/esm/types/webgl.js.map +0 -1
- package/dist/esm/types.js +0 -2
- package/dist/esm/types.js.map +0 -1
- package/dist/init.d.ts +0 -2
- package/dist/init.d.ts.map +0 -1
- package/dist/init.js +0 -4
- package/dist/init.js.map +0 -1
- package/src/bundle.ts +0 -4
- package/src/context/context/context-state.ts +0 -41
- package/src/context/context/device-pixels.ts +0 -152
- package/src/init.ts +0 -4
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
// luma.gl, MIT license
|
|
2
|
-
import {log, uid, Shader, ShaderProps} from '@luma.gl/api';
|
|
2
|
+
import {log, uid, Shader, ShaderProps, CompilerMessage, formatCompilerLog} from '@luma.gl/api';
|
|
3
3
|
import GL from '@luma.gl/constants';
|
|
4
|
-
import {getShaderInfo
|
|
4
|
+
import {getShaderInfo} from '../helpers/get-shader-info';
|
|
5
5
|
import {parseShaderCompilerLog} from '../helpers/parse-shader-compiler-log';
|
|
6
|
-
import WebGLDevice from '../webgl-device';
|
|
6
|
+
import {WebGLDevice} from '../webgl-device';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* An immutable compiled shader program that execute portions of the GPU Pipeline
|
|
10
10
|
*/
|
|
11
|
-
|
|
11
|
+
export class WEBGLShader extends Shader {
|
|
12
12
|
readonly device: WebGLDevice;
|
|
13
13
|
readonly handle: WebGLShader;
|
|
14
14
|
|
|
@@ -28,18 +28,18 @@ import WebGLDevice from '../webgl-device';
|
|
|
28
28
|
this._compile(this.source);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
destroy(): void {
|
|
31
|
+
override destroy(): void {
|
|
32
32
|
if (this.handle) {
|
|
33
33
|
this.removeStats();
|
|
34
34
|
this.device.gl.deleteShader(this.handle);
|
|
35
|
-
//
|
|
36
|
-
this.
|
|
35
|
+
// this.handle = null;
|
|
36
|
+
this.destroyed = true;
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
async compilationInfo(): Promise<readonly CompilerMessage[]> {
|
|
41
41
|
const log = this.device.gl.getShaderInfoLog(this.handle);
|
|
42
|
-
return parseShaderCompilerLog(log);
|
|
42
|
+
return log ? parseShaderCompilerLog(log) : [];
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
// PRIVATE METHODS
|
|
@@ -58,7 +58,8 @@ import WebGLDevice from '../webgl-device';
|
|
|
58
58
|
const compileStatus = gl.getShaderParameter(this.handle, GL.COMPILE_STATUS);
|
|
59
59
|
if (!compileStatus) {
|
|
60
60
|
const shaderLog = gl.getShaderInfoLog(this.handle);
|
|
61
|
-
const
|
|
61
|
+
const parsedLog = shaderLog ? parseShaderCompilerLog(shaderLog) : [];
|
|
62
|
+
const messages = parsedLog.filter(message => message.type === 'error');
|
|
62
63
|
const formattedLog = formatCompilerLog(messages, source);
|
|
63
64
|
const shaderName: string = getShaderInfo(source).name;
|
|
64
65
|
const shaderDescription = `${this.stage} shader ${shaderName}`;
|
|
@@ -10,11 +10,12 @@ import {
|
|
|
10
10
|
Sampler,
|
|
11
11
|
SamplerProps,
|
|
12
12
|
SamplerParameters,
|
|
13
|
+
TypedArray,
|
|
13
14
|
isObjectEmpty
|
|
14
15
|
} from '@luma.gl/api';
|
|
15
16
|
import {Texture, cast, log, assert, isPowerOfTwo, loadImage} from '@luma.gl/api';
|
|
16
17
|
import GL from '@luma.gl/constants';
|
|
17
|
-
import type {
|
|
18
|
+
import type {GLSamplerParameters} from '../../types/webgl';
|
|
18
19
|
import {withParameters} from '../../context/state-tracker/with-parameters';
|
|
19
20
|
import {
|
|
20
21
|
getWebGLTextureFormat,
|
|
@@ -25,28 +26,37 @@ import {
|
|
|
25
26
|
convertSamplerParametersToWebGL,
|
|
26
27
|
updateSamplerParametersForNPOT
|
|
27
28
|
} from '../converters/sampler-parameters';
|
|
28
|
-
import WebGLDevice from '../webgl-device';
|
|
29
|
-
import WEBGLBuffer from './webgl-buffer';
|
|
30
|
-
import WEBGLSampler from './webgl-sampler';
|
|
29
|
+
import {WebGLDevice} from '../webgl-device';
|
|
30
|
+
import {WEBGLBuffer} from './webgl-buffer';
|
|
31
|
+
import {WEBGLSampler} from './webgl-sampler';
|
|
31
32
|
|
|
32
33
|
export type {TextureProps};
|
|
33
34
|
|
|
35
|
+
export type TextureSourceData =
|
|
36
|
+
TypedArray |
|
|
37
|
+
ImageData |
|
|
38
|
+
HTMLImageElement |
|
|
39
|
+
HTMLCanvasElement |
|
|
40
|
+
ImageBitmap |
|
|
41
|
+
HTMLVideoElement
|
|
42
|
+
;
|
|
43
|
+
|
|
34
44
|
type SetImageDataOptions = {
|
|
35
45
|
target?: number;
|
|
36
46
|
level?: number;
|
|
37
47
|
dataFormat?: any;
|
|
38
|
-
width
|
|
39
|
-
height
|
|
48
|
+
width?: number;
|
|
49
|
+
height?: number;
|
|
40
50
|
depth?: number;
|
|
41
|
-
format
|
|
51
|
+
format?: any;
|
|
42
52
|
type?: any;
|
|
43
53
|
offset?: number;
|
|
44
|
-
data: any;
|
|
54
|
+
data: any; // TextureSourceData;
|
|
45
55
|
compressed?: boolean;
|
|
46
56
|
parameters?: Record<GL, any>;
|
|
47
57
|
/** @deprecated */
|
|
48
58
|
pixels?: any;
|
|
49
|
-
}
|
|
59
|
+
}
|
|
50
60
|
|
|
51
61
|
/**
|
|
52
62
|
* @param {*} pixels, data -
|
|
@@ -92,10 +102,10 @@ type SetSubImageDataOptions = {
|
|
|
92
102
|
type SetImageData3DOptions = {
|
|
93
103
|
level?: number;
|
|
94
104
|
dataFormat?: any;
|
|
95
|
-
width
|
|
96
|
-
height
|
|
105
|
+
width?: number;
|
|
106
|
+
height?: number;
|
|
97
107
|
depth?: number;
|
|
98
|
-
format
|
|
108
|
+
format?: any;
|
|
99
109
|
type?: any;
|
|
100
110
|
offset?: number;
|
|
101
111
|
data: any;
|
|
@@ -104,7 +114,7 @@ type SetImageData3DOptions = {
|
|
|
104
114
|
|
|
105
115
|
|
|
106
116
|
// Polyfill
|
|
107
|
-
export
|
|
117
|
+
export class WEBGLTexture extends Texture {
|
|
108
118
|
// TODO - remove?
|
|
109
119
|
static FACES: number[] = [
|
|
110
120
|
GL.TEXTURE_CUBE_MAP_POSITIVE_X,
|
|
@@ -166,8 +176,7 @@ export default class WEBGLTexture extends Texture {
|
|
|
166
176
|
this.gl = this.device.gl;
|
|
167
177
|
this.gl2 = this.device.gl2;
|
|
168
178
|
this.handle = this.props.handle || this.gl.createTexture();
|
|
169
|
-
|
|
170
|
-
this.handle.__SPECTOR_Metadata = {...this.props, data: typeof this.props.data}; // {name: this.props.id};
|
|
179
|
+
this.device.setSpectorMetadata(this.handle, {...this.props, data: typeof this.props.data}); // {name: this.props.id};
|
|
171
180
|
|
|
172
181
|
this.target = getWebGLTextureTarget(this.props);
|
|
173
182
|
|
|
@@ -184,17 +193,17 @@ export default class WEBGLTexture extends Texture {
|
|
|
184
193
|
Object.seal(this);
|
|
185
194
|
}
|
|
186
195
|
|
|
187
|
-
destroy(): void {
|
|
196
|
+
override destroy(): void {
|
|
188
197
|
if (this.handle) {
|
|
189
198
|
this.gl.deleteTexture(this.handle);
|
|
190
199
|
this.removeStats();
|
|
191
200
|
this.trackDeallocatedMemory('Texture');
|
|
192
|
-
//
|
|
193
|
-
this.
|
|
201
|
+
// this.handle = null;
|
|
202
|
+
this.destroyed = true;
|
|
194
203
|
}
|
|
195
204
|
}
|
|
196
205
|
|
|
197
|
-
toString(): string {
|
|
206
|
+
override toString(): string {
|
|
198
207
|
return `Texture(${this.id},${this.width}x${this.height})`;
|
|
199
208
|
}
|
|
200
209
|
|
|
@@ -228,7 +237,7 @@ export default class WEBGLTexture extends Texture {
|
|
|
228
237
|
return this;
|
|
229
238
|
}
|
|
230
239
|
|
|
231
|
-
|
|
240
|
+
const {parameters = {} as Record<GL, any>} = props;
|
|
232
241
|
|
|
233
242
|
const {
|
|
234
243
|
pixels = null, recreate = false, pixelStore = {}, textureUnit = undefined} = props;
|
|
@@ -357,7 +366,8 @@ export default class WEBGLTexture extends Texture {
|
|
|
357
366
|
* If size has changed, reinitializes with current format
|
|
358
367
|
* @note note clears image and mipmaps
|
|
359
368
|
*/
|
|
360
|
-
resize({height, width, mipmaps
|
|
369
|
+
resize(options: {height: number, width: number, mipmaps?: boolean}): this {
|
|
370
|
+
const {height, width, mipmaps = false} = options;
|
|
361
371
|
if (width !== this.width || height !== this.height) {
|
|
362
372
|
return this.initialize({
|
|
363
373
|
width,
|
|
@@ -372,7 +382,7 @@ export default class WEBGLTexture extends Texture {
|
|
|
372
382
|
}
|
|
373
383
|
|
|
374
384
|
/** Update external texture (video frame) */
|
|
375
|
-
update():
|
|
385
|
+
update(): void {
|
|
376
386
|
if (this._video) {
|
|
377
387
|
const {video, parameters, lastTime} = this._video;
|
|
378
388
|
// @ts-expect-error
|
|
@@ -479,7 +489,7 @@ export default class WEBGLTexture extends Texture {
|
|
|
479
489
|
withParameters(this.gl, parameters, () => {
|
|
480
490
|
switch (dataType) {
|
|
481
491
|
case 'null':
|
|
482
|
-
gl.texImage2D(target, level, format, width, height, 0 /*border*/, dataFormat, type, data);
|
|
492
|
+
gl.texImage2D(target, level, format, width, height, 0 /* border*/, dataFormat, type, data);
|
|
483
493
|
break;
|
|
484
494
|
case 'typed-array':
|
|
485
495
|
// Looks like this assert is not necessary, as offset is ignored under WebGL1
|
|
@@ -508,7 +518,7 @@ export default class WEBGLTexture extends Texture {
|
|
|
508
518
|
format,
|
|
509
519
|
width,
|
|
510
520
|
height,
|
|
511
|
-
0 /*border*/,
|
|
521
|
+
0 /* border*/,
|
|
512
522
|
dataFormat,
|
|
513
523
|
type,
|
|
514
524
|
offset
|
|
@@ -523,7 +533,7 @@ export default class WEBGLTexture extends Texture {
|
|
|
523
533
|
format,
|
|
524
534
|
width,
|
|
525
535
|
height,
|
|
526
|
-
0 /*border*/,
|
|
536
|
+
0 /* border*/,
|
|
527
537
|
dataFormat,
|
|
528
538
|
type,
|
|
529
539
|
data
|
|
@@ -713,7 +723,7 @@ export default class WEBGLTexture extends Texture {
|
|
|
713
723
|
|
|
714
724
|
// HELPER METHODS
|
|
715
725
|
|
|
716
|
-
_deduceParameters(opts) {
|
|
726
|
+
_deduceParameters(opts: TextureProps) {
|
|
717
727
|
const {format, data} = opts;
|
|
718
728
|
let {width, height, dataFormat, type, compressed} = opts;
|
|
719
729
|
|
|
@@ -808,7 +818,7 @@ export default class WEBGLTexture extends Texture {
|
|
|
808
818
|
resolvedFaces[index].forEach((image, lodLevel) => {
|
|
809
819
|
// TODO: adjust width & height for LOD!
|
|
810
820
|
if (width && height) {
|
|
811
|
-
gl.texImage2D(face, lodLevel, format, width, height, 0 /*border*/, format, type, image);
|
|
821
|
+
gl.texImage2D(face, lodLevel, format, width, height, 0 /* border*/, format, type, image);
|
|
812
822
|
} else {
|
|
813
823
|
gl.texImage2D(face, lodLevel, format, format, type, image);
|
|
814
824
|
}
|
|
@@ -847,7 +857,7 @@ export default class WEBGLTexture extends Texture {
|
|
|
847
857
|
)
|
|
848
858
|
);
|
|
849
859
|
} else if (this.width || this.height) {
|
|
850
|
-
gl.texImage2D(face, 0, format, width, height, 0 /*border*/, format, type, imageData);
|
|
860
|
+
gl.texImage2D(face, 0, format, width, height, 0 /* border*/, format, type, imageData);
|
|
851
861
|
} else {
|
|
852
862
|
gl.texImage2D(face, 0, format, format, type, imageData);
|
|
853
863
|
}
|
|
@@ -856,18 +866,20 @@ export default class WEBGLTexture extends Texture {
|
|
|
856
866
|
}
|
|
857
867
|
|
|
858
868
|
/** Image 3D copies from Typed Array or WebGLBuffer */
|
|
859
|
-
setImageData3D({
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
869
|
+
setImageData3D(options: SetImageData3DOptions) {
|
|
870
|
+
const {
|
|
871
|
+
level = 0,
|
|
872
|
+
dataFormat,
|
|
873
|
+
format,
|
|
874
|
+
type, // = GL.UNSIGNED_BYTE,
|
|
875
|
+
width,
|
|
876
|
+
height,
|
|
877
|
+
depth = 1,
|
|
878
|
+
offset = 0,
|
|
879
|
+
data,
|
|
880
|
+
parameters = {}
|
|
881
|
+
} = options;
|
|
882
|
+
|
|
871
883
|
this.trackDeallocatedMemory('Texture');
|
|
872
884
|
|
|
873
885
|
this.gl.bindTexture(this.target, this.handle);
|
|
@@ -927,7 +939,7 @@ export default class WEBGLTexture extends Texture {
|
|
|
927
939
|
* Sets sampler parameters on texture
|
|
928
940
|
* @note: Applies NPOT workaround if appropriate
|
|
929
941
|
*/
|
|
930
|
-
_setSamplerParameters(parameters:
|
|
942
|
+
_setSamplerParameters(parameters: GLSamplerParameters): void {
|
|
931
943
|
// Work around WebGL1 sampling restrictions on NPOT textures
|
|
932
944
|
if (this.device.isWebGL1 && isNPOT(this.width, this.height)) {
|
|
933
945
|
parameters = updateSamplerParametersForNPOT(parameters);
|
|
@@ -943,7 +955,7 @@ export default class WEBGLTexture extends Texture {
|
|
|
943
955
|
this.gl.bindTexture(this.target, this.handle);
|
|
944
956
|
for (const [pname, pvalue] of Object.entries(parameters)) {
|
|
945
957
|
const param = Number(pname);
|
|
946
|
-
|
|
958
|
+
const value = pvalue;
|
|
947
959
|
|
|
948
960
|
// Apparently there are integer/float conversion issues requires two parameter setting functions in JavaScript.
|
|
949
961
|
// For now, pick the float version for parameters specified as GLfloat.
|
|
@@ -959,7 +971,7 @@ export default class WEBGLTexture extends Texture {
|
|
|
959
971
|
}
|
|
960
972
|
}
|
|
961
973
|
this.gl.bindTexture(this.target, null);
|
|
962
|
-
return
|
|
974
|
+
return;
|
|
963
975
|
}
|
|
964
976
|
|
|
965
977
|
/** @deprecated For LegacyTexture subclass */
|
|
@@ -1018,6 +1030,4 @@ function isNPOT(width: number, height: number): boolean {
|
|
|
1018
1030
|
|
|
1019
1031
|
function logParameters(parameters: Record<number, GL | number>) {
|
|
1020
1032
|
log.log(1, 'texture sampler parameters', parameters)();
|
|
1021
|
-
for (const [pname, pvalue] of Object.entries(parameters)) {
|
|
1022
|
-
}
|
|
1023
1033
|
}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
// luma.gl, MIT license
|
|
2
2
|
import type {CanvasContextProps} from '@luma.gl/api';
|
|
3
3
|
import {CanvasContext} from '@luma.gl/api';
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import WEBGLFramebuffer from './resources/webgl-framebuffer';
|
|
4
|
+
import {WebGLDevice} from './webgl-device';
|
|
5
|
+
import {WEBGLFramebuffer} from './resources/webgl-framebuffer';
|
|
7
6
|
|
|
8
7
|
/**
|
|
9
8
|
* Holds a WebGL Canvas Context which will handle drawing buffer resizing etc
|
|
10
9
|
* @todo This class is WIP, intended to replace the old gltools-based context size tracking
|
|
11
10
|
*/
|
|
12
|
-
export
|
|
11
|
+
export class WebGLCanvasContext extends CanvasContext {
|
|
13
12
|
readonly device: WebGLDevice;
|
|
14
13
|
presentationSize: [number, number];
|
|
15
|
-
private _framebuffer: WEBGLFramebuffer;
|
|
14
|
+
private _framebuffer: WEBGLFramebuffer | null = null;
|
|
16
15
|
|
|
17
16
|
constructor(device: WebGLDevice, props: CanvasContextProps) {
|
|
18
17
|
// Note: Base class creates / looks up the canvas (unless under Node.js)
|
|
19
18
|
super(props);
|
|
20
19
|
this.device = device;
|
|
21
20
|
this.presentationSize = [-1, -1];
|
|
21
|
+
this._setAutoCreatedCanvasId(`${this.device.id}-canvas`);
|
|
22
22
|
this.update();
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -49,17 +49,16 @@ export default class WebGLCanvasContext extends CanvasContext {
|
|
|
49
49
|
* canvas CSS width * devicePixelRatio x canvas CSS height * devicePixelRatio
|
|
50
50
|
* See http://webgl2fundamentals.org/webgl/lessons/webgl-resizing-the-canvas.html
|
|
51
51
|
*/
|
|
52
|
-
|
|
52
|
+
resize(options?: {width?: number; height?: number; useDevicePixels?: boolean | number}): void {
|
|
53
53
|
// Resize browser context .
|
|
54
54
|
if (this.canvas) {
|
|
55
|
-
|
|
56
|
-
setDevicePixelRatio(this.device.gl, devicePixelRatio, options);
|
|
55
|
+
this.setDevicePixelRatio(devicePixelRatio, options);
|
|
57
56
|
return;
|
|
58
57
|
}
|
|
59
58
|
|
|
60
59
|
// Resize headless gl context
|
|
61
60
|
const ext = this.device.gl.getExtension('STACKGL_resize_drawingbuffer');
|
|
62
|
-
if (ext && options &&
|
|
61
|
+
if (ext && options && 'width' in options && 'height' in options) {
|
|
63
62
|
ext.resize(options.width, options.height);
|
|
64
63
|
}
|
|
65
64
|
}
|