@luma.gl/webgl 9.0.0-alpha.2 → 9.0.0-alpha.20
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.js +1 -5
- 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.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.js +5 -21
- package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
- package/dist/adapter/objects/webgl-resource.d.ts +2 -4
- package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-resource.js +14 -67
- package/dist/adapter/objects/webgl-resource.js.map +1 -1
- 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 +6 -16
- package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -1
- package/dist/adapter/resources/webgl-buffer.d.ts +1 -2
- package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-buffer.js +17 -48
- package/dist/adapter/resources/webgl-buffer.js.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.js +2 -17
- package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
- package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-encoder.js +1 -14
- 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 +1 -1
- package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.js +9 -67
- package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
- 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 +2 -7
- package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.d.ts +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.js +50 -139
- package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
- package/dist/adapter/resources/webgl-sampler.d.ts +3 -2
- package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-sampler.js +4 -12
- package/dist/adapter/resources/webgl-sampler.js.map +1 -1
- 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 +7 -20
- package/dist/adapter/resources/webgl-shader.js.map +1 -1
- package/dist/adapter/resources/webgl-texture.d.ts +23 -23
- package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-texture.js +65 -182
- package/dist/adapter/resources/webgl-texture.js.map +1 -1
- package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
- package/dist/adapter/webgl-canvas-context.js +5 -18
- package/dist/adapter/webgl-canvas-context.js.map +1 -1
- package/dist/adapter/webgl-device.d.ts +45 -29
- package/dist/adapter/webgl-device.d.ts.map +1 -1
- package/dist/adapter/webgl-device.js +107 -108
- package/dist/adapter/webgl-device.js.map +1 -1
- package/dist/classic/accessor.d.ts.map +1 -1
- package/dist/classic/accessor.js +11 -35
- package/dist/classic/accessor.js.map +1 -1
- package/dist/classic/buffer.d.ts +0 -1
- package/dist/classic/buffer.d.ts.map +1 -1
- package/dist/classic/buffer.js +29 -86
- 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 +9205 -0
- package/dist/index.cjs +5948 -0
- package/dist/index.d.ts +6 -6
- 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/adapter/converters/device-parameters.ts +44 -15
- 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 +58 -36
- 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 +5 -5
- package/src/adapter/objects/webgl-resource.ts +7 -12
- package/src/adapter/objects/webgl-vertex-array-object.ts +5 -5
- package/src/adapter/resources/webgl-buffer.ts +14 -14
- package/src/adapter/resources/webgl-command-encoder.ts +5 -5
- package/src/adapter/resources/webgl-framebuffer.ts +14 -11
- package/src/adapter/resources/webgl-render-pass.ts +2 -1
- package/src/adapter/resources/webgl-render-pipeline.ts +83 -71
- package/src/adapter/resources/webgl-sampler.ts +10 -4
- package/src/adapter/resources/webgl-shader.ts +9 -8
- package/src/adapter/resources/webgl-texture.ts +51 -41
- package/src/adapter/webgl-canvas-context.ts +5 -6
- package/src/adapter/webgl-device.ts +144 -60
- package/src/classic/accessor.ts +1 -14
- package/src/classic/buffer.ts +14 -21
- package/src/classic/typed-array-utils.ts +4 -2
- 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 +17 -11
- 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 +14 -12
- 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,5 +1,5 @@
|
|
|
1
1
|
// luma.gl, MIT license
|
|
2
|
-
import type {CompilerMessage} from '@luma.gl/
|
|
2
|
+
import type {CompilerMessage} from '@luma.gl/api';
|
|
3
3
|
|
|
4
4
|
const MESSAGE_TYPES = ['warning', 'error', 'info'];
|
|
5
5
|
|
|
@@ -16,7 +16,7 @@ export function parseShaderCompilerLog(errLog: string) : readonly CompilerMessag
|
|
|
16
16
|
|
|
17
17
|
for (const line of lines) {
|
|
18
18
|
if (line.length <= 1) {
|
|
19
|
-
continue;
|
|
19
|
+
continue; // eslint-disable-line no-continue
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
const segments: string[] = line.split(':');
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
1
3
|
// Uniforms
|
|
2
4
|
import GL from '@luma.gl/constants';
|
|
3
5
|
|
|
@@ -60,7 +62,7 @@ export function setUniform(
|
|
|
60
62
|
case GL.BOOL: return gl.uniform1iv(location, arrayValue);
|
|
61
63
|
case GL.BOOL_VEC2: return gl.uniform2iv(location, arrayValue);
|
|
62
64
|
case GL.BOOL_VEC3: return gl.uniform3iv(location, arrayValue);
|
|
63
|
-
case GL.BOOL_VEC4: gl.uniform4iv(location, arrayValue);
|
|
65
|
+
case GL.BOOL_VEC4: return gl.uniform4iv(location, arrayValue);
|
|
64
66
|
|
|
65
67
|
// WEBGL2 - unsigned integers
|
|
66
68
|
case GL.UNSIGNED_INT: return gl2.uniform1uiv(location, arrayValue, 1);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {UniformFormat, VertexFormat} from '@luma.gl/api';
|
|
2
2
|
import GL from '@luma.gl/constants';
|
|
3
|
-
import {GLUniformType, GLSamplerType, GLCompositeType, GLType} from '../../types/webgl'
|
|
3
|
+
import {GLUniformType, GLSamplerType, GLCompositeType, GLType} from '../../types/webgl';
|
|
4
4
|
|
|
5
5
|
/** Check is uniform is of sampler type */
|
|
6
6
|
export function isSamplerUniform(type: GLUniformType): boolean {
|
|
@@ -25,8 +25,11 @@ const SAMPLER_TYPES: GLSamplerType[] = [
|
|
|
25
25
|
GL.UNSIGNED_INT_SAMPLER_2D_ARRAY
|
|
26
26
|
];
|
|
27
27
|
|
|
28
|
-
// Composite types table
|
|
29
|
-
const COMPOSITE_GL_TYPES: Record<
|
|
28
|
+
// Composite types table
|
|
29
|
+
const COMPOSITE_GL_TYPES: Record<
|
|
30
|
+
GLCompositeType,
|
|
31
|
+
[GLType, number, string, UniformFormat, VertexFormat?]
|
|
32
|
+
> = {
|
|
30
33
|
[GL.FLOAT]: [GL.FLOAT, 1, 'float', 'f32', 'float32'],
|
|
31
34
|
[GL.FLOAT_VEC2]: [GL.FLOAT, 2, 'vec2', 'vec2<f32>', 'float32x2'],
|
|
32
35
|
[GL.FLOAT_VEC3]: [GL.FLOAT, 3, 'vec3', 'vec3<f32>', 'float32x3'],
|
|
@@ -61,26 +64,34 @@ const COMPOSITE_GL_TYPES: Record<GLCompositeType, [GLType, number, string, Unifo
|
|
|
61
64
|
};
|
|
62
65
|
|
|
63
66
|
/** Decomposes a composite type GL.VEC3 into a basic type (GL.FLOAT) and components (3) */
|
|
64
|
-
export function decodeUniformType(
|
|
67
|
+
export function decodeUniformType(
|
|
68
|
+
uniformType: GL
|
|
69
|
+
): {format: UniformFormat; components: number; glType: GLType} {
|
|
65
70
|
const typeAndSize = COMPOSITE_GL_TYPES[uniformType];
|
|
66
71
|
if (!typeAndSize) {
|
|
67
|
-
|
|
72
|
+
throw new Error('uniform');
|
|
68
73
|
}
|
|
69
74
|
const [glType, components, , format] = typeAndSize;
|
|
70
75
|
return {format, components, glType};
|
|
71
76
|
}
|
|
72
77
|
|
|
73
|
-
export function decodeAttributeType(
|
|
74
|
-
|
|
78
|
+
export function decodeAttributeType(attributeType: GL): {
|
|
79
|
+
format: VertexFormat;
|
|
80
|
+
components: number;
|
|
81
|
+
glType: GLType;
|
|
82
|
+
} {
|
|
83
|
+
const typeAndSize = COMPOSITE_GL_TYPES[attributeType];
|
|
75
84
|
if (!typeAndSize) {
|
|
76
|
-
|
|
85
|
+
throw new Error('attribute')
|
|
77
86
|
}
|
|
78
87
|
const [glType, components, , , format] = typeAndSize;
|
|
79
88
|
return {format, components, glType};
|
|
80
89
|
}
|
|
81
90
|
|
|
82
91
|
/** Decomposes a composite type GL.VEC3 into a basic type (GL.FLOAT) and components (3) */
|
|
83
|
-
export function decomposeCompositeGLType(
|
|
92
|
+
export function decomposeCompositeGLType(
|
|
93
|
+
compositeGLType: GLCompositeType
|
|
94
|
+
): {type: GLType; components: number} | null {
|
|
84
95
|
const typeAndSize = COMPOSITE_GL_TYPES[compositeGLType];
|
|
85
96
|
if (!typeAndSize) {
|
|
86
97
|
return null;
|
|
@@ -89,7 +100,7 @@ export function decomposeCompositeGLType(compositeGLType: GLCompositeType): {typ
|
|
|
89
100
|
return {type, components};
|
|
90
101
|
}
|
|
91
102
|
|
|
92
|
-
export function getCompositeGLType(type: GL, components): {glType: GLType
|
|
103
|
+
export function getCompositeGLType(type: GL, components): {glType: GLType; name: string} | null {
|
|
93
104
|
switch (type) {
|
|
94
105
|
case GL.BYTE:
|
|
95
106
|
case GL.UNSIGNED_BYTE:
|
|
@@ -16,16 +16,18 @@ export function getKeyValue(gl: WebGLRenderingContext, name: string | GL): GL {
|
|
|
16
16
|
|
|
17
17
|
// Look up string, after removing any 'GL.' or 'gl.' prefix
|
|
18
18
|
name = name.replace(/^.*\./, '');
|
|
19
|
+
// @ts-ignore expect-error depends on settings
|
|
19
20
|
const value = gl[name];
|
|
20
21
|
assert(value !== undefined, `Accessing undefined constant GL.${name}`);
|
|
21
22
|
return value;
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
export function getKey(gl: WebGLRenderingContext, value: any): string {
|
|
25
|
-
// @ts-expect-error
|
|
26
|
+
// @ts-ignore expect-error depends on settings
|
|
26
27
|
gl = gl.gl || gl;
|
|
27
28
|
value = Number(value);
|
|
28
29
|
for (const key in gl) {
|
|
30
|
+
// @ts-ignore expect-error depends on settings
|
|
29
31
|
if (gl[key] === value) {
|
|
30
32
|
return `GL.${key}`;
|
|
31
33
|
}
|
|
@@ -37,6 +39,7 @@ export function getKeyType(gl: WebGLRenderingContext, value: any): string {
|
|
|
37
39
|
assert(value !== undefined, 'undefined key');
|
|
38
40
|
value = Number(value);
|
|
39
41
|
for (const key in gl) {
|
|
42
|
+
// @ts-ignore expect-error depends on settings
|
|
40
43
|
if (gl[key] === value) {
|
|
41
44
|
return `GL.${key}`;
|
|
42
45
|
}
|
|
@@ -35,7 +35,7 @@ const DEFAULT_RENDERBUFFER_PROPS: Required<RenderbufferProps> = {
|
|
|
35
35
|
* Renderbuffer objects also natively accommodate Multisampling (MSAA).
|
|
36
36
|
*/
|
|
37
37
|
export default class WEBGLRenderbuffer extends WebGLResource<RenderbufferProps> {
|
|
38
|
-
get [Symbol.toStringTag](): string { return 'Renderbuffer'; }
|
|
38
|
+
override get [Symbol.toStringTag](): string { return 'Renderbuffer'; }
|
|
39
39
|
|
|
40
40
|
get width(): number { return this.props.width; }
|
|
41
41
|
get height(): number { return this.props.height; }
|
|
@@ -43,7 +43,7 @@ export default class WEBGLRenderbuffer extends WebGLResource<RenderbufferProps>
|
|
|
43
43
|
get samples(): number { return this.props.samples; }
|
|
44
44
|
|
|
45
45
|
static isSupported(gl: WebGLRenderingContext, options?: {format?: number}): boolean {
|
|
46
|
-
return !options
|
|
46
|
+
return !options?.format || isRenderbufferFormatSupported(gl, options.format);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
constructor(device: WebGLDevice, props: RenderbufferProps) {
|
|
@@ -89,16 +89,16 @@ export default class WEBGLRenderbuffer extends WebGLResource<RenderbufferProps>
|
|
|
89
89
|
|
|
90
90
|
// RESOURCE IMPLEMENTATION
|
|
91
91
|
|
|
92
|
-
_createHandle() {
|
|
92
|
+
override _createHandle() {
|
|
93
93
|
return this.gl.createRenderbuffer();
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
_deleteHandle(): void {
|
|
96
|
+
override _deleteHandle(): void {
|
|
97
97
|
this.gl.deleteRenderbuffer(this.handle);
|
|
98
98
|
this.trackDeallocatedMemory();
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
_bindHandle(handle: WEBGLRenderbuffer): void {
|
|
101
|
+
override _bindHandle(handle: WEBGLRenderbuffer): void {
|
|
102
102
|
this.gl.bindRenderbuffer(GL.RENDERBUFFER, handle);
|
|
103
103
|
}
|
|
104
104
|
}
|
|
@@ -13,9 +13,7 @@ const ERR_RESOURCE_METHOD_UNDEFINED = 'Resource subclass must define virtual met
|
|
|
13
13
|
/**
|
|
14
14
|
* Base class for WebGL object wrappers
|
|
15
15
|
*/
|
|
16
|
-
|
|
17
|
-
id: string;
|
|
18
|
-
userData: any;
|
|
16
|
+
export default abstract class WebGLResource<Props extends ResourceProps> extends Resource<Props> {
|
|
19
17
|
readonly device: WebGLDevice;
|
|
20
18
|
readonly gl: WebGLRenderingContext;
|
|
21
19
|
readonly gl2: WebGL2RenderingContext;
|
|
@@ -34,12 +32,10 @@ const ERR_RESOURCE_METHOD_UNDEFINED = 'Resource subclass must define virtual met
|
|
|
34
32
|
assertWebGLContext(gl);
|
|
35
33
|
|
|
36
34
|
// extends
|
|
37
|
-
|
|
38
|
-
const {id, userData = {}} = props || {};
|
|
35
|
+
const {id} = props || {};
|
|
39
36
|
this.gl = gl;
|
|
40
37
|
this.gl2 = gl as WebGL2RenderingContext;
|
|
41
38
|
this.id = id || uid(this.constructor.name);
|
|
42
|
-
this.userData = userData;
|
|
43
39
|
|
|
44
40
|
// Set the handle
|
|
45
41
|
// If handle was provided, use it, otherwise create a new handle
|
|
@@ -48,7 +44,6 @@ const ERR_RESOURCE_METHOD_UNDEFINED = 'Resource subclass must define virtual met
|
|
|
48
44
|
// this.glCount = glGetContextLossCount(this.gl);
|
|
49
45
|
|
|
50
46
|
// Default VertexArray needs to be created with null handle, so compare against undefined
|
|
51
|
-
// @ts-expect-error
|
|
52
47
|
this._handle = props?.handle;
|
|
53
48
|
if (this._handle === undefined) {
|
|
54
49
|
this._handle = this._createHandle();
|
|
@@ -57,7 +52,7 @@ const ERR_RESOURCE_METHOD_UNDEFINED = 'Resource subclass must define virtual met
|
|
|
57
52
|
this.byteLength = 0;
|
|
58
53
|
}
|
|
59
54
|
|
|
60
|
-
toString(): string {
|
|
55
|
+
override toString(): string {
|
|
61
56
|
return `${this.constructor.name}(${this.id})`;
|
|
62
57
|
}
|
|
63
58
|
|
|
@@ -74,11 +69,11 @@ const ERR_RESOURCE_METHOD_UNDEFINED = 'Resource subclass must define virtual met
|
|
|
74
69
|
return this._handle;
|
|
75
70
|
}
|
|
76
71
|
|
|
77
|
-
destroy(): void {
|
|
72
|
+
override destroy(): void {
|
|
78
73
|
this.delete();
|
|
79
74
|
}
|
|
80
75
|
|
|
81
|
-
delete({deleteChildren = false} = {}) {
|
|
76
|
+
override delete({deleteChildren = false} = {}) {
|
|
82
77
|
// Delete this object, and get refs to any children
|
|
83
78
|
// @ts-expect-error
|
|
84
79
|
const children = this._handle && this._deleteHandle(this._handle);
|
|
@@ -130,7 +125,7 @@ const ERR_RESOURCE_METHOD_UNDEFINED = 'Resource subclass must define virtual met
|
|
|
130
125
|
* @param name
|
|
131
126
|
* @return param
|
|
132
127
|
*/
|
|
133
|
-
getParameter(pname: number, props = {}): any {
|
|
128
|
+
getParameter(pname: number, props: any = {}): any {
|
|
134
129
|
pname = getKeyValue(this.gl, pname);
|
|
135
130
|
assert(pname);
|
|
136
131
|
|
|
@@ -163,7 +158,7 @@ const ERR_RESOURCE_METHOD_UNDEFINED = 'Resource subclass must define virtual met
|
|
|
163
158
|
// Many resources support a getParameter call -
|
|
164
159
|
// getParameters will get all parameters - slow but useful for debugging
|
|
165
160
|
// eslint-disable-next-line complexity
|
|
166
|
-
getParameters(options: {parameters
|
|
161
|
+
getParameters(options: {parameters?: any, keys?: any} = {}) {
|
|
167
162
|
const {parameters, keys} = options;
|
|
168
163
|
|
|
169
164
|
// Get parameter definitions for this Resource
|
|
@@ -17,7 +17,7 @@ export type VertexArrayObjectProps = ResourceProps & {
|
|
|
17
17
|
|
|
18
18
|
/** VertexArrayObject wrapper */
|
|
19
19
|
export default class WEBGLVertexArrayObject extends WebGLResource<VertexArrayObjectProps> {
|
|
20
|
-
get [Symbol.toStringTag](): string {
|
|
20
|
+
override get [Symbol.toStringTag](): string {
|
|
21
21
|
return 'BaseVertexArrayObject';
|
|
22
22
|
}
|
|
23
23
|
|
|
@@ -26,24 +26,24 @@ export default class WEBGLVertexArrayObject extends WebGLResource<VertexArrayObj
|
|
|
26
26
|
super(device, props, {});
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
_createHandle() {
|
|
29
|
+
override _createHandle() {
|
|
30
30
|
return this.gl2.createVertexArray();
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
_deleteHandle(): void {
|
|
33
|
+
override _deleteHandle(): void {
|
|
34
34
|
this.gl2.deleteVertexArray(this.handle);
|
|
35
35
|
// @ts-expect-error
|
|
36
36
|
return [this.elements];
|
|
37
37
|
// return [this.elements, ...this.buffers];
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
_bindHandle(handle: WEBGLVertexArrayObject): void {
|
|
40
|
+
override _bindHandle(handle: WEBGLVertexArrayObject): void {
|
|
41
41
|
this.gl2.bindVertexArray(handle);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
// Set (bind) an elements buffer, for indexed rendering.
|
|
45
45
|
// Must be a Buffer bound to GL.ELEMENT_ARRAY_BUFFER. Constants not supported
|
|
46
|
-
setElementBuffer(elementBuffer: Buffer = null, opts = {}) {
|
|
46
|
+
setElementBuffer(elementBuffer: Buffer | null = null, opts = {}) {
|
|
47
47
|
assert(!elementBuffer || elementBuffer.target === GL.ELEMENT_ARRAY_BUFFER, ERR_ELEMENTS);
|
|
48
48
|
|
|
49
49
|
// The GL.ELEMENT_ARRAY_BUFFER_BINDING is stored on the VertexArrayObject...
|
|
@@ -15,12 +15,13 @@ export default class WEBGLBuffer extends Buffer {
|
|
|
15
15
|
|
|
16
16
|
byteLength: number;
|
|
17
17
|
bytesUsed: number;
|
|
18
|
-
debugData: ArrayBuffer;
|
|
18
|
+
debugData: ArrayBuffer | null = null;
|
|
19
19
|
|
|
20
20
|
webglUsage: number;
|
|
21
21
|
|
|
22
|
-
accessor: {};
|
|
22
|
+
// accessor: {};
|
|
23
23
|
|
|
24
|
+
|
|
24
25
|
constructor(device: WebGLDevice, props: BufferProps = {}) {
|
|
25
26
|
super(device, props);
|
|
26
27
|
|
|
@@ -28,10 +29,9 @@ export default class WEBGLBuffer extends Buffer {
|
|
|
28
29
|
this.gl = this.device.gl;
|
|
29
30
|
this.gl2 = this.device.gl2;
|
|
30
31
|
|
|
31
|
-
const handle = typeof props === 'object' ? (props
|
|
32
|
+
const handle = typeof props === 'object' ? (props ).handle : undefined;
|
|
32
33
|
this.handle = handle || this.gl.createBuffer();
|
|
33
|
-
|
|
34
|
-
this.handle.__SPECTOR_Metadata = {...this.props, data: typeof this.props.data}; // {name: this.props.id};
|
|
34
|
+
device.setSpectorMetadata(this.handle, {...this.props, data: typeof this.props.data});
|
|
35
35
|
|
|
36
36
|
// In WebGL1, need to make sure we use GL.ELEMENT_ARRAY_BUFFER when initializing element buffers
|
|
37
37
|
// otherwise buffer type will lock to generic (non-element) buffer
|
|
@@ -55,7 +55,7 @@ export default class WEBGLBuffer extends Buffer {
|
|
|
55
55
|
// Object.seal(this);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
// PRIVATE METHODS
|
|
59
59
|
|
|
60
60
|
// Allocate a new buffer and initialize to contents of typed array
|
|
61
61
|
_initWithData(data, byteOffset: number = 0, byteLength: number = data.byteLength + byteOffset): this {
|
|
@@ -101,17 +101,17 @@ export default class WEBGLBuffer extends Buffer {
|
|
|
101
101
|
return this;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
destroy(): void {
|
|
105
|
-
if (this.handle) {
|
|
104
|
+
override destroy(): void {
|
|
105
|
+
if (!this.destroyed && this.handle) {
|
|
106
106
|
this.removeStats();
|
|
107
107
|
this.trackDeallocatedMemory();
|
|
108
108
|
this.gl.deleteBuffer(this.handle);
|
|
109
|
-
|
|
110
|
-
this.handle = null;
|
|
109
|
+
this.destroyed = true;
|
|
110
|
+
// this.handle = null;
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
-
write(data: ArrayBufferView, byteOffset: number = 0): void {
|
|
114
|
+
override write(data: ArrayBufferView, byteOffset: number = 0): void {
|
|
115
115
|
const srcOffset = 0;
|
|
116
116
|
const byteLength = data.byteLength;
|
|
117
117
|
|
|
@@ -124,7 +124,7 @@ export default class WEBGLBuffer extends Buffer {
|
|
|
124
124
|
this.device.assertWebGL2();
|
|
125
125
|
|
|
126
126
|
// @ts-expect-error
|
|
127
|
-
this.gl.bufferSubData(this.target,
|
|
127
|
+
this.gl.bufferSubData(this.target, byteOffset, data, srcOffset, byteLength);
|
|
128
128
|
} else {
|
|
129
129
|
this.gl.bufferSubData(target, byteOffset, data);
|
|
130
130
|
}
|
|
@@ -135,7 +135,7 @@ export default class WEBGLBuffer extends Buffer {
|
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
/** Read data from the buffer */
|
|
138
|
-
async readAsync(
|
|
138
|
+
override async readAsync(
|
|
139
139
|
byteOffset: number = 0,
|
|
140
140
|
byteLength?: number
|
|
141
141
|
): Promise<ArrayBuffer> {
|
|
@@ -168,7 +168,7 @@ export default class WEBGLBuffer extends Buffer {
|
|
|
168
168
|
|
|
169
169
|
_getReadTarget() {
|
|
170
170
|
return this.target;
|
|
171
|
-
return this.device.isWebGL2 ? GL.COPY_READ_BUFFER : this.target;
|
|
171
|
+
// return this.device.isWebGL2 ? GL.COPY_READ_BUFFER : this.target;
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
174
|
|
|
@@ -19,7 +19,7 @@ export default class WEBGLCommandEncoder extends CommandEncoder {
|
|
|
19
19
|
this.device = device;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
destroy() {}
|
|
22
|
+
override destroy(): void {}
|
|
23
23
|
|
|
24
24
|
// beginRenderPass(GPURenderPassDescriptor descriptor): GPURenderPassEncoder;
|
|
25
25
|
// beginComputePass(optional GPUComputePassDescriptor descriptor = {}): GPUComputePassEncoder;
|
|
@@ -41,10 +41,10 @@ export default class WEBGLCommandEncoder extends CommandEncoder {
|
|
|
41
41
|
this.commandBuffer.commands.push({name: 'copy-texture-to-texture', options});
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
pushDebugGroup(groupLabel: string): void {}
|
|
45
|
-
popDebugGroup() {}
|
|
44
|
+
override pushDebugGroup(groupLabel: string): void {}
|
|
45
|
+
override popDebugGroup() {}
|
|
46
46
|
|
|
47
|
-
insertDebugMarker(markerLabel: string): void {}
|
|
47
|
+
override insertDebugMarker(markerLabel: string): void {}
|
|
48
48
|
|
|
49
49
|
// writeTimestamp(querySet: Query, queryIndex: number): void {}
|
|
50
50
|
|
|
@@ -55,4 +55,4 @@ export default class WEBGLCommandEncoder extends CommandEncoder {
|
|
|
55
55
|
// destination: Buffer,
|
|
56
56
|
// destinationOffset?: number;
|
|
57
57
|
// }): void;
|
|
58
|
-
}
|
|
58
|
+
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
// luma.gl, MIT license
|
|
2
|
+
|
|
3
|
+
import type {FramebufferProps, ColorTextureFormat} from '@luma.gl/api';
|
|
2
4
|
import {Framebuffer, Texture, log, assert} from '@luma.gl/api';
|
|
3
5
|
import GL from '@luma.gl/constants';
|
|
4
6
|
import WebGLDevice from '../webgl-device';
|
|
@@ -17,7 +19,7 @@ export default class WEBGLFramebuffer extends Framebuffer {
|
|
|
17
19
|
|
|
18
20
|
get texture() { return this.colorAttachments[0]; }
|
|
19
21
|
readonly colorAttachments: WebGLTexture[] = [];
|
|
20
|
-
readonly depthStencilAttachment: WebGLTexture |
|
|
22
|
+
readonly depthStencilAttachment: WebGLTexture | null = null;
|
|
21
23
|
protected _ownResources: (WebGLTexture | Renderbuffer)[] = [];
|
|
22
24
|
|
|
23
25
|
constructor(device: WebGLDevice, props: FramebufferProps) {
|
|
@@ -27,8 +29,7 @@ export default class WEBGLFramebuffer extends Framebuffer {
|
|
|
27
29
|
this.handle = this.props.handle !== undefined ? this.props.handle : this.gl.createFramebuffer();
|
|
28
30
|
|
|
29
31
|
if (this.handle) { // default framebuffer is null...
|
|
30
|
-
|
|
31
|
-
this.handle.__SPECTOR_Metadata = {id: this.props.id, props: this.props};
|
|
32
|
+
device.setSpectorMetadata(this.handle, {id: this.props.id, props: this.props});
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
this.colorAttachments = this._createColorAttachments();
|
|
@@ -60,13 +61,14 @@ export default class WEBGLFramebuffer extends Framebuffer {
|
|
|
60
61
|
}
|
|
61
62
|
}
|
|
62
63
|
|
|
63
|
-
destroy() {
|
|
64
|
+
override destroy(): void {
|
|
64
65
|
if (this.handle !== null) {
|
|
65
66
|
for (const resource of this._ownResources) {
|
|
66
67
|
resource.destroy();
|
|
67
68
|
}
|
|
68
69
|
this.gl.deleteFramebuffer(this.handle);
|
|
69
|
-
this.handle = null;
|
|
70
|
+
// this.handle = null;
|
|
71
|
+
this.destroyed = true;
|
|
70
72
|
}
|
|
71
73
|
}
|
|
72
74
|
|
|
@@ -128,7 +130,7 @@ export default class WEBGLFramebuffer extends Framebuffer {
|
|
|
128
130
|
// [GL.TEXTURE_WRAP_S]: GL.CLAMP_TO_EDGE,
|
|
129
131
|
// [GL.TEXTURE_WRAP_T]: GL.CLAMP_TO_EDGE
|
|
130
132
|
// }
|
|
131
|
-
})
|
|
133
|
+
}) ;
|
|
132
134
|
this._ownResources.push(texture);
|
|
133
135
|
return texture;
|
|
134
136
|
}
|
|
@@ -199,6 +201,7 @@ export default class WEBGLFramebuffer extends Framebuffer {
|
|
|
199
201
|
this._attachTexture(attachmentPoint, attachment, 0, 0);
|
|
200
202
|
return attachment;
|
|
201
203
|
}
|
|
204
|
+
throw new Error('attach');
|
|
202
205
|
}
|
|
203
206
|
|
|
204
207
|
protected _attachRenderbuffer(attachment: GL, renderbuffer: Renderbuffer): void {
|
|
@@ -216,7 +219,7 @@ export default class WEBGLFramebuffer extends Framebuffer {
|
|
|
216
219
|
* @param layer = 0 - index into WebGLTextureArray and Texture3D or face for `TextureCubeMap`
|
|
217
220
|
* @param level = 0 - mipmapLevel (must be 0 in WebGL1)
|
|
218
221
|
*/
|
|
219
|
-
|
|
222
|
+
protected _attachTexture(attachment: GL, texture: WebGLTexture, layer: number, level: number): void {
|
|
220
223
|
const {gl, gl2} = this.device;
|
|
221
224
|
gl.bindTexture(texture.target, texture.handle);
|
|
222
225
|
|
|
@@ -224,7 +227,7 @@ export default class WEBGLFramebuffer extends Framebuffer {
|
|
|
224
227
|
case GL.TEXTURE_2D_ARRAY:
|
|
225
228
|
case GL.TEXTURE_3D:
|
|
226
229
|
this.device.assertWebGL2();
|
|
227
|
-
gl2
|
|
230
|
+
gl2?.framebufferTextureLayer(GL.FRAMEBUFFER, attachment, texture.target, level, layer);
|
|
228
231
|
break;
|
|
229
232
|
|
|
230
233
|
case GL.TEXTURE_CUBE_MAP:
|
|
@@ -248,7 +251,7 @@ export default class WEBGLFramebuffer extends Framebuffer {
|
|
|
248
251
|
// Helper functions
|
|
249
252
|
|
|
250
253
|
// Map an index to a cube map face constant
|
|
251
|
-
function mapIndexToCubeMapFace(layer) {
|
|
254
|
+
function mapIndexToCubeMapFace(layer: number | GL): GL {
|
|
252
255
|
// TEXTURE_CUBE_MAP_POSITIVE_X is a big value (0x8515)
|
|
253
256
|
// if smaller assume layer is index, otherwise assume it is already a cube map face constant
|
|
254
257
|
return layer < GL.TEXTURE_CUBE_MAP_POSITIVE_X ? layer + GL.TEXTURE_CUBE_MAP_POSITIVE_X : layer;
|
|
@@ -256,7 +259,7 @@ function mapIndexToCubeMapFace(layer) {
|
|
|
256
259
|
|
|
257
260
|
// Helper METHODS
|
|
258
261
|
// Get a string describing the framebuffer error if installed
|
|
259
|
-
function _getFrameBufferStatus(status) {
|
|
262
|
+
function _getFrameBufferStatus(status: GL) {
|
|
260
263
|
switch (status) {
|
|
261
264
|
case GL.FRAMEBUFFER_COMPLETE:
|
|
262
265
|
return 'success';
|
|
@@ -6,9 +6,10 @@ export default class WEBGLRenderPass extends RenderPass {
|
|
|
6
6
|
|
|
7
7
|
constructor(device: WebGLDevice, props: RenderPassProps) {
|
|
8
8
|
super(device, props);
|
|
9
|
+
this.device = device;
|
|
9
10
|
}
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
end(): void {}
|
|
12
13
|
|
|
13
14
|
pushDebugGroup(groupLabel: string): void {}
|
|
14
15
|
popDebugGroup(): void {}
|