@luma.gl/webgl 9.0.0-alpha.3 → 9.0.0-alpha.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +2 -1
- package/dist/adapter/converters/device-parameters.d.ts +14 -4
- package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/device-parameters.js +28 -46
- package/dist/adapter/converters/device-parameters.js.map +1 -1
- package/dist/adapter/converters/sampler-parameters.d.ts +5 -5
- package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/sampler-parameters.js +20 -56
- package/dist/adapter/converters/sampler-parameters.js.map +1 -1
- package/dist/adapter/converters/texture-formats.d.ts +31 -42
- package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
- package/dist/adapter/converters/texture-formats.js +163 -178
- package/dist/adapter/converters/texture-formats.js.map +1 -1
- package/dist/adapter/converters/vertex-formats.d.ts +2 -2
- package/dist/adapter/converters/vertex-formats.d.ts.map +1 -1
- package/dist/adapter/converters/vertex-formats.js +3 -9
- package/dist/adapter/converters/vertex-formats.js.map +1 -1
- package/dist/adapter/device-helpers/device-features.d.ts +1 -1
- package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
- package/dist/adapter/device-helpers/device-features.js +13 -20
- package/dist/adapter/device-helpers/device-features.js.map +1 -1
- package/dist/adapter/device-helpers/device-limits.d.ts +3 -3
- package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
- package/dist/adapter/device-helpers/device-limits.js +2 -5
- package/dist/adapter/device-helpers/device-limits.js.map +1 -1
- package/dist/adapter/device-helpers/get-device-info.d.ts +1 -1
- package/dist/adapter/device-helpers/get-device-info.d.ts.map +1 -1
- package/dist/adapter/device-helpers/get-device-info.js +9 -11
- package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
- package/dist/adapter/device-helpers/is-old-ie.js +2 -1
- package/dist/adapter/device-helpers/is-old-ie.js.map +1 -1
- package/dist/adapter/helpers/attribute-utils.d.ts +4 -4
- package/dist/adapter/helpers/attribute-utils.d.ts.map +1 -1
- package/dist/adapter/helpers/attribute-utils.js +1 -18
- package/dist/adapter/helpers/attribute-utils.js.map +1 -1
- package/dist/adapter/helpers/get-shader-info.d.ts +9 -0
- package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -0
- package/dist/adapter/helpers/get-shader-info.js +25 -0
- package/dist/adapter/helpers/get-shader-info.js.map +1 -0
- package/dist/adapter/helpers/get-shader-layout.d.ts +10 -7
- package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
- package/dist/adapter/helpers/get-shader-layout.js +101 -84
- package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.js +0 -7
- package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
- package/dist/adapter/helpers/set-uniform.d.ts +2 -2
- package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
- package/dist/adapter/helpers/set-uniform.js +3 -33
- package/dist/adapter/helpers/set-uniform.js.map +1 -1
- package/dist/adapter/helpers/uniforms.d.ts +9 -10
- package/dist/adapter/helpers/uniforms.d.ts.map +1 -1
- package/dist/adapter/helpers/uniforms.js +8 -18
- package/dist/adapter/helpers/uniforms.js.map +1 -1
- package/dist/adapter/objects/constants-to-keys.d.ts +1 -3
- package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
- package/dist/adapter/objects/constants-to-keys.js +1 -28
- package/dist/adapter/objects/constants-to-keys.js.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.d.ts +15 -12
- package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.js +35 -41
- package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
- package/dist/adapter/objects/webgl-resource.d.ts +6 -9
- package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-resource.js +19 -75
- package/dist/adapter/objects/webgl-resource.js.map +1 -1
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts +38 -11
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-vertex-array-object.js +122 -32
- package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -1
- package/dist/adapter/resources/webgl-buffer.d.ts +18 -10
- package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-buffer.js +43 -71
- package/dist/adapter/resources/webgl-buffer.js.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.d.ts +15 -9
- package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.js +169 -41
- package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
- package/dist/adapter/resources/webgl-command-encoder.d.ts +7 -6
- package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-encoder.js +8 -17
- package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
- package/dist/adapter/resources/webgl-external-texture.js.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.d.ts +21 -24
- package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.js +41 -149
- package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.d.ts +19 -4
- package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.js +88 -9
- package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.d.ts +44 -11
- package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.js +90 -152
- package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
- package/dist/adapter/resources/webgl-sampler.d.ts +6 -5
- package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-sampler.js +7 -15
- package/dist/adapter/resources/webgl-sampler.js.map +1 -1
- package/dist/adapter/resources/webgl-shader.d.ts +3 -4
- package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-shader.js +9 -22
- package/dist/adapter/resources/webgl-shader.js.map +1 -1
- package/dist/adapter/resources/webgl-texture.d.ts +64 -44
- package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-texture.js +98 -213
- package/dist/adapter/resources/webgl-texture.js.map +1 -1
- package/dist/adapter/webgl-canvas-context.d.ts +6 -7
- package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
- package/dist/adapter/webgl-canvas-context.js +8 -20
- package/dist/adapter/webgl-canvas-context.js.map +1 -1
- package/dist/adapter/webgl-device.d.ts +64 -41
- package/dist/adapter/webgl-device.d.ts.map +1 -1
- package/dist/adapter/webgl-device.js +133 -113
- package/dist/adapter/webgl-device.js.map +1 -1
- package/dist/classic/accessor.d.ts +3 -3
- package/dist/classic/accessor.d.ts.map +1 -1
- package/dist/classic/accessor.js +14 -38
- package/dist/classic/accessor.js.map +1 -1
- package/dist/classic/{buffer.d.ts → buffer-with-accessor.d.ts} +16 -28
- package/dist/classic/buffer-with-accessor.d.ts.map +1 -0
- package/dist/classic/{buffer.js → buffer-with-accessor.js} +54 -122
- package/dist/classic/buffer-with-accessor.js.map +1 -0
- package/dist/classic/clear.d.ts +22 -0
- package/dist/classic/clear.d.ts.map +1 -0
- package/dist/classic/clear.js +88 -0
- package/dist/classic/clear.js.map +1 -0
- package/dist/classic/copy-and-blit.d.ts +62 -0
- package/dist/classic/copy-and-blit.d.ts.map +1 -0
- package/dist/classic/copy-and-blit.js +202 -0
- package/dist/classic/copy-and-blit.js.map +1 -0
- package/dist/classic/format-utils.d.ts +3 -0
- package/dist/classic/format-utils.d.ts.map +1 -0
- package/dist/classic/format-utils.js +38 -0
- package/dist/classic/format-utils.js.map +1 -0
- package/dist/classic/typed-array-utils.d.ts +15 -17
- package/dist/classic/typed-array-utils.d.ts.map +1 -1
- package/dist/classic/typed-array-utils.js +1 -21
- package/dist/classic/typed-array-utils.js.map +1 -1
- package/dist/context/context/create-browser-context.d.ts +40 -0
- package/dist/context/context/create-browser-context.d.ts.map +1 -0
- package/dist/{esm/context/context/create-context.js → context/context/create-browser-context.js} +23 -19
- package/dist/context/context/create-browser-context.js.map +1 -0
- package/dist/context/context/create-headless-context.d.ts +9 -0
- package/dist/context/context/create-headless-context.d.ts.map +1 -0
- package/dist/context/context/create-headless-context.js +42 -0
- package/dist/context/context/create-headless-context.js.map +1 -0
- package/dist/context/context/webgl-checks.js +1 -4
- package/dist/context/context/webgl-checks.js.map +1 -1
- package/dist/context/debug/spector.d.ts +1 -2
- package/dist/context/debug/spector.d.ts.map +1 -1
- package/dist/context/debug/spector.js +8 -20
- package/dist/context/debug/spector.js.map +1 -1
- package/dist/context/debug/webgl-developer-tools.d.ts +2 -2
- package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
- package/dist/context/debug/webgl-developer-tools.js +11 -34
- package/dist/context/debug/webgl-developer-tools.js.map +1 -1
- package/dist/context/parameters/unified-parameter-api.d.ts +8 -7
- package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
- package/dist/context/parameters/unified-parameter-api.js +8 -18
- package/dist/context/parameters/unified-parameter-api.js.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.d.ts +105 -106
- package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.js +18 -36
- package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
- package/dist/context/polyfill/context-data.d.ts +13 -0
- package/dist/context/polyfill/context-data.d.ts.map +1 -0
- package/dist/context/polyfill/context-data.js +12 -0
- package/dist/context/polyfill/context-data.js.map +1 -0
- package/dist/context/polyfill/get-parameter-polyfill.d.ts +1 -1
- package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -1
- package/dist/context/polyfill/get-parameter-polyfill.js +4 -9
- package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
- package/dist/context/polyfill/polyfill-context.js +21 -29
- package/dist/context/polyfill/polyfill-context.js.map +1 -1
- package/dist/context/polyfill/polyfill-table.d.ts +8 -8
- package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-table.js +10 -32
- package/dist/context/polyfill/polyfill-table.js.map +1 -1
- package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-vertex-array-object.js +0 -70
- package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
- package/dist/context/state-tracker/deep-array-equal.js +0 -4
- package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
- package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
- package/dist/context/state-tracker/track-context-state.js +16 -51
- package/dist/context/state-tracker/track-context-state.js.map +1 -1
- package/dist/context/state-tracker/with-parameters.d.ts +2 -1
- package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
- package/dist/context/state-tracker/with-parameters.js +7 -9
- package/dist/context/state-tracker/with-parameters.js.map +1 -1
- package/dist/dist.dev.js +10158 -0
- package/dist/index.cjs +6604 -0
- package/dist/index.d.ts +25 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -26
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist.min.js +37 -0
- package/package.json +21 -9
- package/src/adapter/converters/device-parameters.ts +88 -35
- package/src/adapter/converters/sampler-parameters.ts +19 -9
- package/src/adapter/converters/texture-formats.ts +261 -178
- package/src/adapter/converters/vertex-formats.ts +3 -2
- package/src/adapter/device-helpers/device-features.ts +10 -3
- package/src/adapter/device-helpers/device-limits.ts +3 -3
- package/src/adapter/device-helpers/get-device-info.ts +14 -10
- package/src/adapter/helpers/attribute-utils.ts +4 -5
- package/src/adapter/helpers/get-shader-info.ts +40 -0
- package/src/adapter/helpers/get-shader-layout.ts +150 -68
- package/src/adapter/helpers/parse-shader-compiler-log.ts +2 -2
- package/src/adapter/helpers/set-uniform.ts +7 -6
- package/src/adapter/helpers/uniforms.ts +23 -13
- package/src/adapter/objects/constants-to-keys.ts +3 -25
- package/src/adapter/objects/webgl-renderbuffer.ts +40 -37
- package/src/adapter/objects/webgl-resource.ts +14 -23
- package/src/adapter/objects/webgl-vertex-array-object.ts +201 -37
- package/src/adapter/resources/webgl-buffer.ts +56 -58
- package/src/adapter/resources/webgl-command-buffer.ts +332 -25
- package/src/adapter/resources/webgl-command-encoder.ts +16 -11
- package/src/adapter/resources/webgl-external-texture.ts +2 -2
- package/src/adapter/resources/webgl-framebuffer.ts +88 -133
- package/src/adapter/resources/webgl-render-pass.ts +155 -4
- package/src/adapter/resources/webgl-render-pipeline.ts +161 -104
- package/src/adapter/resources/webgl-sampler.ts +13 -8
- package/src/adapter/resources/webgl-shader.ts +11 -10
- package/src/adapter/resources/webgl-texture.ts +113 -85
- package/src/adapter/webgl-canvas-context.ts +14 -14
- package/src/adapter/webgl-device.ts +192 -77
- package/src/classic/accessor.ts +4 -17
- package/src/classic/{buffer.ts → buffer-with-accessor.ts} +67 -75
- package/src/classic/clear.ts +110 -0
- package/src/classic/copy-and-blit.ts +308 -0
- package/src/classic/format-utils.ts +43 -0
- package/src/classic/typed-array-utils.ts +18 -27
- package/src/context/context/{create-context.ts → create-browser-context.ts} +48 -31
- package/src/context/context/create-headless-context.ts +48 -0
- package/src/context/context/webgl-checks.ts +1 -1
- package/src/context/debug/spector.ts +7 -6
- package/src/context/debug/webgl-developer-tools.ts +21 -15
- package/src/context/parameters/unified-parameter-api.ts +20 -14
- package/src/context/parameters/webgl-parameter-tables.ts +117 -98
- package/src/context/polyfill/context-data.ts +27 -0
- package/src/context/polyfill/get-parameter-polyfill.ts +8 -7
- package/src/context/polyfill/polyfill-context.ts +7 -9
- package/src/context/polyfill/polyfill-table.ts +18 -16
- package/src/context/polyfill/polyfill-vertex-array-object.ts +2 -0
- package/src/context/state-tracker/track-context-state.ts +14 -13
- package/src/context/state-tracker/with-parameters.ts +8 -2
- package/src/index.ts +42 -33
- package/dist/adapter/converters/renderbuffer-formats.d.ts +0 -16
- package/dist/adapter/converters/renderbuffer-formats.d.ts.map +0 -1
- package/dist/adapter/converters/renderbuffer-formats.js +0 -185
- package/dist/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/bundle.d.ts +0 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/bundle.js +0 -5
- package/dist/bundle.js.map +0 -1
- package/dist/classic/buffer.d.ts.map +0 -1
- package/dist/classic/buffer.js.map +0 -1
- package/dist/context/context/context-state.d.ts +0 -18
- package/dist/context/context/context-state.d.ts.map +0 -1
- package/dist/context/context/context-state.js +0 -26
- package/dist/context/context/context-state.js.map +0 -1
- package/dist/context/context/create-context.d.ts +0 -41
- package/dist/context/context/create-context.d.ts.map +0 -1
- package/dist/context/context/create-context.js +0 -49
- package/dist/context/context/create-context.js.map +0 -1
- package/dist/context/context/device-pixels.d.ts +0 -25
- package/dist/context/context/device-pixels.d.ts.map +0 -1
- package/dist/context/context/device-pixels.js +0 -98
- package/dist/context/context/device-pixels.js.map +0 -1
- package/dist/es5/adapter/converters/device-parameters.js +0 -170
- package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
- package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -163
- package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/es5/adapter/converters/sampler-parameters.js +0 -226
- package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/es5/adapter/converters/texture-formats.js +0 -1031
- package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
- package/dist/es5/adapter/converters/vertex-formats.js +0 -45
- package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/es5/adapter/device-helpers/device-features.js +0 -144
- package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/es5/adapter/device-helpers/device-limits.js +0 -64
- package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/es5/adapter/device-helpers/get-device-info.js +0 -55
- package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -16
- package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/es5/adapter/helpers/attribute-utils.js +0 -91
- package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/es5/adapter/helpers/get-shader-layout.js +0 -371
- package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -72
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/es5/adapter/helpers/set-uniform.js +0 -125
- package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/es5/adapter/helpers/uniforms.js +0 -112
- package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
- package/dist/es5/adapter/objects/constants-to-keys.js +0 -54
- package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -150
- package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-resource.js +0 -292
- package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -137
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-buffer.js +0 -243
- package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -96
- package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -98
- package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
- package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -345
- package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-render-pass.js +0 -61
- package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -505
- package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-sampler.js +0 -96
- package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-shader.js +0 -149
- package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-texture.js +0 -986
- package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/es5/adapter/webgl-canvas-context.js +0 -97
- package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/es5/adapter/webgl-device.js +0 -399
- package/dist/es5/adapter/webgl-device.js.map +0 -1
- package/dist/es5/bundle.js +0 -7
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/classic/accessor.js +0 -181
- package/dist/es5/classic/accessor.js.map +0 -1
- package/dist/es5/classic/buffer.js +0 -470
- package/dist/es5/classic/buffer.js.map +0 -1
- package/dist/es5/classic/typed-array-utils.js +0 -126
- package/dist/es5/classic/typed-array-utils.js.map +0 -1
- package/dist/es5/context/context/context-state.js +0 -31
- package/dist/es5/context/context/context-state.js.map +0 -1
- package/dist/es5/context/context/create-context.js +0 -69
- package/dist/es5/context/context/create-context.js.map +0 -1
- package/dist/es5/context/context/device-pixels.js +0 -115
- package/dist/es5/context/context/device-pixels.js.map +0 -1
- package/dist/es5/context/context/webgl-checks.js +0 -54
- package/dist/es5/context/context/webgl-checks.js.map +0 -1
- package/dist/es5/context/debug/spector.js +0 -133
- package/dist/es5/context/debug/spector.js.map +0 -1
- package/dist/es5/context/debug/webgl-developer-tools.js +0 -198
- package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/es5/context/parameters/unified-parameter-api.js +0 -97
- package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -392
- package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -81
- package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-context.js +0 -135
- package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-table.js +0 -166
- package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -341
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/es5/context/state-tracker/deep-array-equal.js +0 -28
- package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/es5/context/state-tracker/track-context-state.js +0 -211
- package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/es5/context/state-tracker/with-parameters.js +0 -44
- package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
- package/dist/es5/index.js +0 -276
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/init.js +0 -10
- package/dist/es5/init.js.map +0 -1
- package/dist/es5/types/webgl.js +0 -6
- package/dist/es5/types/webgl.js.map +0 -1
- package/dist/es5/types.js +0 -2
- package/dist/es5/types.js.map +0 -1
- package/dist/esm/adapter/converters/device-parameters.js +0 -155
- package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
- package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -185
- package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/esm/adapter/converters/sampler-parameters.js +0 -208
- package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/esm/adapter/converters/texture-formats.js +0 -954
- package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
- package/dist/esm/adapter/converters/vertex-formats.js +0 -35
- package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/esm/adapter/device-helpers/device-features.js +0 -102
- package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/esm/adapter/device-helpers/device-limits.js +0 -91
- package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/esm/adapter/device-helpers/get-device-info.js +0 -44
- package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -8
- package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/esm/adapter/helpers/attribute-utils.js +0 -81
- package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/esm/adapter/helpers/get-shader-layout.js +0 -306
- package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -37
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/esm/adapter/helpers/set-uniform.js +0 -115
- package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/esm/adapter/helpers/uniforms.js +0 -99
- package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
- package/dist/esm/adapter/objects/constants-to-keys.js +0 -42
- package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -94
- package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-resource.js +0 -216
- package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -84
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-buffer.js +0 -164
- package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -65
- package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -53
- package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
- package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -265
- package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-render-pass.js +0 -19
- package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -400
- package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-sampler.js +0 -50
- package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-shader.js +0 -75
- package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-texture.js +0 -831
- package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/esm/adapter/webgl-canvas-context.js +0 -54
- package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/esm/adapter/webgl-device.js +0 -280
- package/dist/esm/adapter/webgl-device.js.map +0 -1
- package/dist/esm/bundle.js +0 -5
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/classic/accessor.js +0 -144
- package/dist/esm/classic/accessor.js.map +0 -1
- package/dist/esm/classic/buffer.js +0 -384
- package/dist/esm/classic/buffer.js.map +0 -1
- package/dist/esm/classic/typed-array-utils.js +0 -112
- package/dist/esm/classic/typed-array-utils.js.map +0 -1
- package/dist/esm/context/context/context-state.js +0 -26
- package/dist/esm/context/context/context-state.js.map +0 -1
- package/dist/esm/context/context/create-context.js.map +0 -1
- package/dist/esm/context/context/device-pixels.js +0 -98
- package/dist/esm/context/context/device-pixels.js.map +0 -1
- package/dist/esm/context/context/webgl-checks.js +0 -34
- package/dist/esm/context/context/webgl-checks.js.map +0 -1
- package/dist/esm/context/debug/spector.js +0 -76
- package/dist/esm/context/debug/spector.js.map +0 -1
- package/dist/esm/context/debug/webgl-developer-tools.js +0 -121
- package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/esm/context/parameters/unified-parameter-api.js +0 -65
- package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -445
- package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -91
- package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-context.js +0 -92
- package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-table.js +0 -160
- package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -335
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/esm/context/state-tracker/deep-array-equal.js +0 -21
- package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/esm/context/state-tracker/track-context-state.js +0 -183
- package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/esm/context/state-tracker/with-parameters.js +0 -36
- package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
- package/dist/esm/index.js +0 -27
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/init.js +0 -4
- package/dist/esm/init.js.map +0 -1
- package/dist/esm/types/webgl.js +0 -2
- package/dist/esm/types/webgl.js.map +0 -1
- package/dist/esm/types.js +0 -2
- package/dist/esm/types.js.map +0 -1
- package/dist/init.d.ts +0 -2
- package/dist/init.d.ts.map +0 -1
- package/dist/init.js +0 -4
- package/dist/init.js.map +0 -1
- package/dist/types/webgl.d.ts +0 -144
- package/dist/types/webgl.d.ts.map +0 -1
- package/dist/types/webgl.js +0 -2
- package/dist/types/webgl.js.map +0 -1
- package/src/adapter/converters/renderbuffer-formats.ts +0 -92
- package/src/bundle.ts +0 -4
- package/src/context/context/context-state.ts +0 -41
- package/src/context/context/device-pixels.ts +0 -152
- package/src/init.ts +0 -4
- package/src/types/webgl.ts +0 -283
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { decodeTextureFormat } from '@luma.gl/
|
|
2
|
-
import GL from '@luma.gl/constants';
|
|
3
|
-
import { isWebGL2 } from
|
|
1
|
+
import { decodeTextureFormat } from '@luma.gl/core';
|
|
2
|
+
import { GL } from '@luma.gl/constants';
|
|
3
|
+
import { isWebGL2 } from "../../context/context/webgl-checks.js";
|
|
4
4
|
const texture_compression_bc = 'texture-compression-bc';
|
|
5
5
|
const texture_compression_astc = 'texture-compression-astc';
|
|
6
6
|
const texture_compression_etc2 = 'texture-compression-etc2';
|
|
@@ -20,12 +20,8 @@ const EXT_SRGB = 'EXT_sRGB';
|
|
|
20
20
|
const EXT_TEXTURE_NORM16 = 'EXT_texture_norm16';
|
|
21
21
|
const EXT_FLOAT_WEBGL1 = 'WEBGL_color_buffer_float';
|
|
22
22
|
const EXT_FLOAT_RENDER_WEBGL2 = 'EXT_color_buffer_float';
|
|
23
|
-
const EXT_HALF_FLOAT_WEBGL1 = 'WEBGL_color_buffer_half_float';
|
|
24
|
-
|
|
25
23
|
const checkExtension = (gl, extension) => gl.getExtension(extension);
|
|
26
|
-
|
|
27
24
|
const checkExtensions = (gl, extensions) => extensions.every(extension => gl.getExtension(extension));
|
|
28
|
-
|
|
29
25
|
const TEXTURE_FEATURE_CHECKS = {
|
|
30
26
|
'texture-blend-float-webgl1': gl => isWebGL2(gl) ? true : checkExtension(gl, 'EXT_float_blend'),
|
|
31
27
|
'texture-formats-srgb-webgl1': gl => isWebGL2(gl) ? true : checkExtension(gl, EXT_SRGB),
|
|
@@ -48,12 +44,9 @@ const TEXTURE_FEATURE_CHECKS = {
|
|
|
48
44
|
};
|
|
49
45
|
export function checkTextureFeature(gl, feature) {
|
|
50
46
|
var _TEXTURE_FEATURE_CHEC;
|
|
51
|
-
|
|
52
|
-
return (_TEXTURE_FEATURE_CHEC = TEXTURE_FEATURE_CHECKS[feature]) === null || _TEXTURE_FEATURE_CHEC === void 0 ? void 0 : _TEXTURE_FEATURE_CHEC.call(TEXTURE_FEATURE_CHECKS, gl);
|
|
47
|
+
return ((_TEXTURE_FEATURE_CHEC = TEXTURE_FEATURE_CHECKS[feature]) === null || _TEXTURE_FEATURE_CHEC === void 0 ? void 0 : _TEXTURE_FEATURE_CHEC.call(TEXTURE_FEATURE_CHECKS, gl)) || false;
|
|
53
48
|
}
|
|
54
|
-
|
|
55
49
|
const checkTextureFeatures = (gl, features) => features.every(feature => checkTextureFeature(gl, feature));
|
|
56
|
-
|
|
57
50
|
export function getTextureFeatures(gl) {
|
|
58
51
|
const textureFeatures = Object.keys(TEXTURE_FEATURE_CHECKS);
|
|
59
52
|
return textureFeatures.filter(feature => checkTextureFeature(gl, feature));
|
|
@@ -80,7 +73,8 @@ export const TEXTURE_FORMATS = {
|
|
|
80
73
|
'r8unorm': {
|
|
81
74
|
gl: GL.R8,
|
|
82
75
|
b: 1,
|
|
83
|
-
c: 1
|
|
76
|
+
c: 1,
|
|
77
|
+
renderbuffer: true
|
|
84
78
|
},
|
|
85
79
|
'r8snorm': {
|
|
86
80
|
gl: GL.R8_SNORM,
|
|
@@ -90,17 +84,20 @@ export const TEXTURE_FORMATS = {
|
|
|
90
84
|
'r8uint': {
|
|
91
85
|
gl: GL.R8UI,
|
|
92
86
|
b: 1,
|
|
93
|
-
c: 1
|
|
87
|
+
c: 1,
|
|
88
|
+
renderbuffer: true
|
|
94
89
|
},
|
|
95
90
|
'r8sint': {
|
|
96
91
|
gl: GL.R8I,
|
|
97
92
|
b: 1,
|
|
98
|
-
c: 1
|
|
93
|
+
c: 1,
|
|
94
|
+
renderbuffer: true
|
|
99
95
|
},
|
|
100
96
|
'rg8unorm': {
|
|
101
97
|
gl: GL.RG8,
|
|
102
98
|
b: 2,
|
|
103
|
-
c: 2
|
|
99
|
+
c: 2,
|
|
100
|
+
renderbuffer: true
|
|
104
101
|
},
|
|
105
102
|
'rg8snorm': {
|
|
106
103
|
gl: GL.RG8_SNORM,
|
|
@@ -110,67 +107,78 @@ export const TEXTURE_FORMATS = {
|
|
|
110
107
|
'rg8uint': {
|
|
111
108
|
gl: GL.RG8UI,
|
|
112
109
|
b: 2,
|
|
113
|
-
c: 2
|
|
110
|
+
c: 2,
|
|
111
|
+
renderbuffer: true
|
|
114
112
|
},
|
|
115
113
|
'rg8sint': {
|
|
116
114
|
gl: GL.RG8I,
|
|
117
115
|
b: 2,
|
|
118
|
-
c: 2
|
|
116
|
+
c: 2,
|
|
117
|
+
renderbuffer: true
|
|
119
118
|
},
|
|
120
119
|
'r16uint': {
|
|
121
120
|
gl: GL.R16UI,
|
|
122
121
|
b: 2,
|
|
123
|
-
c: 1
|
|
122
|
+
c: 1,
|
|
123
|
+
renderbuffer: true
|
|
124
124
|
},
|
|
125
125
|
'r16sint': {
|
|
126
126
|
gl: GL.R16I,
|
|
127
127
|
b: 2,
|
|
128
|
-
c: 1
|
|
128
|
+
c: 1,
|
|
129
|
+
renderbuffer: true
|
|
129
130
|
},
|
|
130
131
|
'r16float': {
|
|
131
132
|
gl: GL.R16F,
|
|
132
133
|
b: 2,
|
|
133
134
|
c: 1,
|
|
134
135
|
render: 'texture-renderable-float16-webgl',
|
|
135
|
-
filter: 'texture-filter-linear-float16-webgl'
|
|
136
|
+
filter: 'texture-filter-linear-float16-webgl',
|
|
137
|
+
renderbuffer: true
|
|
136
138
|
},
|
|
137
139
|
'r16unorm-webgl': {
|
|
138
140
|
gl: GL.R16_EXT,
|
|
139
141
|
b: 2,
|
|
140
142
|
c: 1,
|
|
141
|
-
f: 'texture-formats-norm16-webgl'
|
|
143
|
+
f: 'texture-formats-norm16-webgl',
|
|
144
|
+
renderbuffer: true,
|
|
145
|
+
x: EXT_TEXTURE_NORM16
|
|
142
146
|
},
|
|
143
147
|
'r16snorm-webgl': {
|
|
144
148
|
gl: GL.R16_SNORM_EXT,
|
|
145
149
|
b: 2,
|
|
146
150
|
c: 1,
|
|
147
|
-
f: 'texture-formats-norm16-webgl'
|
|
151
|
+
f: 'texture-formats-norm16-webgl',
|
|
152
|
+
x: EXT_TEXTURE_NORM16
|
|
148
153
|
},
|
|
149
154
|
'rgba4unorm-webgl': {
|
|
150
155
|
gl: GL.RGBA4,
|
|
151
156
|
b: 2,
|
|
152
157
|
c: 4,
|
|
153
|
-
wgpu: false
|
|
158
|
+
wgpu: false,
|
|
159
|
+
renderbuffer: true
|
|
154
160
|
},
|
|
155
161
|
'rgb565unorm-webgl': {
|
|
156
162
|
gl: GL.RGB565,
|
|
157
163
|
b: 2,
|
|
158
164
|
c: 4,
|
|
159
|
-
wgpu: false
|
|
165
|
+
wgpu: false,
|
|
166
|
+
renderbuffer: true
|
|
160
167
|
},
|
|
161
168
|
'rgb5a1unorm-webgl': {
|
|
162
169
|
gl: GL.RGB5_A1,
|
|
163
170
|
b: 2,
|
|
164
171
|
c: 4,
|
|
165
|
-
wgpu: false
|
|
172
|
+
wgpu: false,
|
|
173
|
+
renderbuffer: true
|
|
166
174
|
},
|
|
167
|
-
'
|
|
175
|
+
'rgb8unorm-webgl': {
|
|
168
176
|
gl: GL.RGB8,
|
|
169
177
|
b: 3,
|
|
170
178
|
c: 3,
|
|
171
179
|
wgpu: false
|
|
172
180
|
},
|
|
173
|
-
'
|
|
181
|
+
'rgb8snorm-webgl': {
|
|
174
182
|
gl: GL.RGB8_SNORM,
|
|
175
183
|
b: 3,
|
|
176
184
|
c: 3,
|
|
@@ -234,31 +242,36 @@ export const TEXTURE_FORMATS = {
|
|
|
234
242
|
b: 4,
|
|
235
243
|
c: 2,
|
|
236
244
|
render: 'texture-renderable-float16-webgl',
|
|
237
|
-
filter: 'texture-filter-linear-float16-webgl'
|
|
245
|
+
filter: 'texture-filter-linear-float16-webgl',
|
|
246
|
+
renderbuffer: true
|
|
238
247
|
},
|
|
239
248
|
'rg16unorm-webgl': {
|
|
240
249
|
gl: GL.RG16_EXT,
|
|
241
250
|
b: 2,
|
|
242
251
|
c: 2,
|
|
243
|
-
f: 'texture-formats-norm16-webgl'
|
|
252
|
+
f: 'texture-formats-norm16-webgl',
|
|
253
|
+
x: EXT_TEXTURE_NORM16
|
|
244
254
|
},
|
|
245
255
|
'rg16snorm-webgl': {
|
|
246
256
|
gl: GL.RG16_SNORM_EXT,
|
|
247
257
|
b: 2,
|
|
248
258
|
c: 2,
|
|
249
|
-
f: 'texture-formats-norm16-webgl'
|
|
259
|
+
f: 'texture-formats-norm16-webgl',
|
|
260
|
+
x: EXT_TEXTURE_NORM16
|
|
250
261
|
},
|
|
251
262
|
'r32uint': {
|
|
252
263
|
gl: GL.R32UI,
|
|
253
264
|
b: 4,
|
|
254
265
|
c: 1,
|
|
255
|
-
bpp: 4
|
|
266
|
+
bpp: 4,
|
|
267
|
+
renderbuffer: true
|
|
256
268
|
},
|
|
257
269
|
'r32sint': {
|
|
258
270
|
gl: GL.R32I,
|
|
259
271
|
b: 4,
|
|
260
272
|
c: 1,
|
|
261
|
-
bpp: 4
|
|
273
|
+
bpp: 4,
|
|
274
|
+
renderbuffer: true
|
|
262
275
|
},
|
|
263
276
|
'r32float': {
|
|
264
277
|
gl: GL.R32F,
|
|
@@ -281,13 +294,15 @@ export const TEXTURE_FORMATS = {
|
|
|
281
294
|
b: 4,
|
|
282
295
|
c: 3,
|
|
283
296
|
p: 1,
|
|
284
|
-
render: 'texture-renderable-float32-webgl'
|
|
297
|
+
render: 'texture-renderable-float32-webgl',
|
|
298
|
+
renderbuffer: true
|
|
285
299
|
},
|
|
286
300
|
'rgb10a2unorm': {
|
|
287
301
|
gl: GL.RGB10_A2,
|
|
288
302
|
b: 4,
|
|
289
303
|
c: 4,
|
|
290
|
-
p: 1
|
|
304
|
+
p: 1,
|
|
305
|
+
renderbuffer: true
|
|
291
306
|
},
|
|
292
307
|
'rgb10a2unorm-webgl': {
|
|
293
308
|
b: 4,
|
|
@@ -295,46 +310,54 @@ export const TEXTURE_FORMATS = {
|
|
|
295
310
|
gl: GL.RGB10_A2UI,
|
|
296
311
|
p: 1,
|
|
297
312
|
wgpu: false,
|
|
298
|
-
bpp: 4
|
|
313
|
+
bpp: 4,
|
|
314
|
+
renderbuffer: true
|
|
299
315
|
},
|
|
300
316
|
'rgb16unorm-webgl': {
|
|
301
317
|
gl: GL.RGB16_EXT,
|
|
302
318
|
b: 2,
|
|
303
319
|
c: 3,
|
|
304
|
-
f: 'texture-formats-norm16-webgl'
|
|
320
|
+
f: 'texture-formats-norm16-webgl',
|
|
321
|
+
x: EXT_TEXTURE_NORM16
|
|
305
322
|
},
|
|
306
323
|
'rgb16snorm-webgl': {
|
|
307
324
|
gl: GL.RGB16_SNORM_EXT,
|
|
308
325
|
b: 2,
|
|
309
326
|
c: 3,
|
|
310
|
-
f: 'texture-formats-norm16-webgl'
|
|
327
|
+
f: 'texture-formats-norm16-webgl',
|
|
328
|
+
x: EXT_TEXTURE_NORM16
|
|
311
329
|
},
|
|
312
330
|
'rg32uint': {
|
|
313
331
|
gl: GL.RG32UI,
|
|
314
332
|
b: 8,
|
|
315
|
-
c: 2
|
|
333
|
+
c: 2,
|
|
334
|
+
renderbuffer: true
|
|
316
335
|
},
|
|
317
336
|
'rg32sint': {
|
|
318
337
|
gl: GL.RG32I,
|
|
319
338
|
b: 8,
|
|
320
|
-
c: 2
|
|
339
|
+
c: 2,
|
|
340
|
+
renderbuffer: true
|
|
321
341
|
},
|
|
322
342
|
'rg32float': {
|
|
323
343
|
gl: GL.RG32F,
|
|
324
344
|
b: 8,
|
|
325
345
|
c: 2,
|
|
326
346
|
render: 'texture-renderable-float32-webgl',
|
|
327
|
-
filter: 'texture-filter-linear-float32-webgl'
|
|
347
|
+
filter: 'texture-filter-linear-float32-webgl',
|
|
348
|
+
renderbuffer: true
|
|
328
349
|
},
|
|
329
350
|
'rgba16uint': {
|
|
330
351
|
gl: GL.RGBA16UI,
|
|
331
352
|
b: 8,
|
|
332
|
-
c: 4
|
|
353
|
+
c: 4,
|
|
354
|
+
renderbuffer: true
|
|
333
355
|
},
|
|
334
356
|
'rgba16sint': {
|
|
335
357
|
gl: GL.RGBA16I,
|
|
336
358
|
b: 8,
|
|
337
|
-
c: 4
|
|
359
|
+
c: 4,
|
|
360
|
+
renderbuffer: true
|
|
338
361
|
},
|
|
339
362
|
'rgba16float': {
|
|
340
363
|
gl: GL.RGBA16F,
|
|
@@ -348,13 +371,16 @@ export const TEXTURE_FORMATS = {
|
|
|
348
371
|
gl: GL.RGBA16_EXT,
|
|
349
372
|
b: 2,
|
|
350
373
|
c: 4,
|
|
351
|
-
f: 'texture-formats-norm16-webgl'
|
|
374
|
+
f: 'texture-formats-norm16-webgl',
|
|
375
|
+
renderbuffer: true,
|
|
376
|
+
x: EXT_TEXTURE_NORM16
|
|
352
377
|
},
|
|
353
378
|
'rgba16snorm-webgl': {
|
|
354
379
|
gl: GL.RGBA16_SNORM_EXT,
|
|
355
380
|
b: 2,
|
|
356
381
|
c: 4,
|
|
357
|
-
f: 'texture-formats-norm16-webgl'
|
|
382
|
+
f: 'texture-formats-norm16-webgl',
|
|
383
|
+
x: EXT_TEXTURE_NORM16
|
|
358
384
|
},
|
|
359
385
|
'rgb32float-webgl': {
|
|
360
386
|
gl: GL.RGB32F,
|
|
@@ -369,33 +395,38 @@ export const TEXTURE_FORMATS = {
|
|
|
369
395
|
'rgba32uint': {
|
|
370
396
|
gl: GL.RGBA32UI,
|
|
371
397
|
b: 16,
|
|
372
|
-
c: 4
|
|
398
|
+
c: 4,
|
|
399
|
+
renderbuffer: true
|
|
373
400
|
},
|
|
374
401
|
'rgba32sint': {
|
|
375
402
|
gl: GL.RGBA32I,
|
|
376
403
|
b: 16,
|
|
377
|
-
c: 4
|
|
404
|
+
c: 4,
|
|
405
|
+
renderbuffer: true
|
|
378
406
|
},
|
|
379
407
|
'rgba32float': {
|
|
380
408
|
gl: GL.RGBA32F,
|
|
381
|
-
gl1: GL.RGBA,
|
|
382
409
|
b: 16,
|
|
383
410
|
c: 4,
|
|
384
411
|
render: 'texture-renderable-float32-webgl',
|
|
385
|
-
filter: 'texture-filter-linear-float32-webgl'
|
|
412
|
+
filter: 'texture-filter-linear-float32-webgl',
|
|
413
|
+
renderbuffer: true
|
|
386
414
|
},
|
|
387
415
|
'stencil8': {
|
|
388
416
|
gl: GL.STENCIL_INDEX8,
|
|
417
|
+
gl1: GL.STENCIL_INDEX8,
|
|
389
418
|
b: 1,
|
|
390
419
|
c: 1,
|
|
391
|
-
attachment: GL.STENCIL_ATTACHMENT
|
|
420
|
+
attachment: GL.STENCIL_ATTACHMENT,
|
|
421
|
+
renderbuffer: true
|
|
392
422
|
},
|
|
393
423
|
'depth16unorm': {
|
|
394
424
|
gl: GL.DEPTH_COMPONENT16,
|
|
395
425
|
gl1: GL.DEPTH_COMPONENT16,
|
|
396
426
|
b: 2,
|
|
397
427
|
c: 1,
|
|
398
|
-
attachment: GL.DEPTH_ATTACHMENT
|
|
428
|
+
attachment: GL.DEPTH_ATTACHMENT,
|
|
429
|
+
renderbuffer: true
|
|
399
430
|
},
|
|
400
431
|
'depth24plus': {
|
|
401
432
|
gl: GL.DEPTH_COMPONENT24,
|
|
@@ -407,29 +438,34 @@ export const TEXTURE_FORMATS = {
|
|
|
407
438
|
gl: GL.DEPTH_COMPONENT32F,
|
|
408
439
|
b: 4,
|
|
409
440
|
c: 1,
|
|
410
|
-
attachment: GL.DEPTH_ATTACHMENT
|
|
441
|
+
attachment: GL.DEPTH_ATTACHMENT,
|
|
442
|
+
renderbuffer: true
|
|
411
443
|
},
|
|
412
444
|
'depth24plus-stencil8': {
|
|
413
|
-
|
|
414
|
-
gl: GL.UNSIGNED_INT_24_8,
|
|
445
|
+
gl: GL.DEPTH_STENCIL,
|
|
415
446
|
gl1: GL.DEPTH_STENCIL,
|
|
447
|
+
b: 4,
|
|
416
448
|
c: 2,
|
|
417
449
|
p: 1,
|
|
418
|
-
attachment: GL.DEPTH_STENCIL_ATTACHMENT
|
|
450
|
+
attachment: GL.DEPTH_STENCIL_ATTACHMENT,
|
|
451
|
+
renderbuffer: true,
|
|
452
|
+
depthTexture: true
|
|
419
453
|
},
|
|
420
454
|
'depth24unorm-stencil8': {
|
|
421
455
|
gl: GL.DEPTH24_STENCIL8,
|
|
422
456
|
b: 4,
|
|
423
457
|
c: 2,
|
|
424
458
|
p: 1,
|
|
425
|
-
attachment: GL.DEPTH_STENCIL_ATTACHMENT
|
|
459
|
+
attachment: GL.DEPTH_STENCIL_ATTACHMENT,
|
|
460
|
+
renderbuffer: true
|
|
426
461
|
},
|
|
427
|
-
|
|
462
|
+
'depth32float-stencil8': {
|
|
428
463
|
gl: GL.DEPTH32F_STENCIL8,
|
|
429
464
|
b: 5,
|
|
430
465
|
c: 2,
|
|
431
466
|
p: 1,
|
|
432
|
-
attachment: GL.DEPTH_STENCIL_ATTACHMENT
|
|
467
|
+
attachment: GL.DEPTH_STENCIL_ATTACHMENT,
|
|
468
|
+
renderbuffer: true
|
|
433
469
|
},
|
|
434
470
|
'bc1-rgb-unorm-webgl': {
|
|
435
471
|
gl: GL.COMPRESSED_RGB_S3TC_DXT1_EXT,
|
|
@@ -696,61 +732,81 @@ export const TEXTURE_FORMATS = {
|
|
|
696
732
|
f: texture_compression_atc_webgl
|
|
697
733
|
}
|
|
698
734
|
};
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
735
|
+
const DATA_FORMAT_CHANNELS = {
|
|
736
|
+
[GL.RED]: 1,
|
|
737
|
+
[GL.RED_INTEGER]: 1,
|
|
738
|
+
[GL.RG]: 2,
|
|
739
|
+
[GL.RG_INTEGER]: 2,
|
|
740
|
+
[GL.RGB]: 3,
|
|
741
|
+
[GL.RGB_INTEGER]: 3,
|
|
742
|
+
[GL.RGBA]: 4,
|
|
743
|
+
[GL.RGBA_INTEGER]: 4,
|
|
744
|
+
[GL.DEPTH_COMPONENT]: 1,
|
|
745
|
+
[GL.DEPTH_STENCIL]: 1,
|
|
746
|
+
[GL.ALPHA]: 1,
|
|
747
|
+
[GL.LUMINANCE]: 1,
|
|
748
|
+
[GL.LUMINANCE_ALPHA]: 2
|
|
749
|
+
};
|
|
750
|
+
const TYPE_SIZES = {
|
|
751
|
+
[GL.FLOAT]: 4,
|
|
752
|
+
[GL.UNSIGNED_INT]: 4,
|
|
753
|
+
[GL.INT]: 4,
|
|
754
|
+
[GL.UNSIGNED_SHORT]: 2,
|
|
755
|
+
[GL.SHORT]: 2,
|
|
756
|
+
[GL.HALF_FLOAT]: 2,
|
|
757
|
+
[GL.BYTE]: 1,
|
|
758
|
+
[GL.UNSIGNED_BYTE]: 1
|
|
759
|
+
};
|
|
714
760
|
export function isTextureFormatSupported(gl, formatOrGL) {
|
|
715
|
-
const format =
|
|
761
|
+
const format = convertGLToTextureFormat(formatOrGL);
|
|
716
762
|
const info = TEXTURE_FORMATS[format];
|
|
717
|
-
|
|
718
763
|
if (!info) {
|
|
719
764
|
return false;
|
|
720
765
|
}
|
|
721
|
-
|
|
722
766
|
if (isWebGL2(gl) ? info.gl === undefined : info.gl1 === undefined) {
|
|
723
767
|
return false;
|
|
724
768
|
}
|
|
725
|
-
|
|
726
769
|
const extension = info.x || (isWebGL2(gl) ? info.gl2ext || info.gl1ext : info.gl1ext);
|
|
727
|
-
|
|
728
770
|
if (extension) {
|
|
729
771
|
return Boolean(gl.getExtension(extension));
|
|
730
772
|
}
|
|
731
|
-
|
|
732
773
|
return true;
|
|
733
774
|
}
|
|
775
|
+
export function isRenderbufferFormatSupported(gl, format) {
|
|
776
|
+
var _TEXTURE_FORMATS$form;
|
|
777
|
+
return isTextureFormatSupported(gl, format) && ((_TEXTURE_FORMATS$form = TEXTURE_FORMATS[format]) === null || _TEXTURE_FORMATS$form === void 0 ? void 0 : _TEXTURE_FORMATS$form.renderbuffer);
|
|
778
|
+
}
|
|
779
|
+
export function convertGLToTextureFormat(format) {
|
|
780
|
+
if (typeof format === 'string') {
|
|
781
|
+
return format;
|
|
782
|
+
}
|
|
783
|
+
const entry = Object.entries(TEXTURE_FORMATS).find(_ref => {
|
|
784
|
+
let [, entry] = _ref;
|
|
785
|
+
return entry.gl === format || entry.gl1 === format;
|
|
786
|
+
});
|
|
787
|
+
if (!entry) {
|
|
788
|
+
throw new Error("Unknown texture format ".concat(format));
|
|
789
|
+
}
|
|
790
|
+
return entry[0];
|
|
791
|
+
}
|
|
792
|
+
export function convertTextureFormatToGL(format, isWebGL2) {
|
|
793
|
+
const formatInfo = TEXTURE_FORMATS[format];
|
|
794
|
+
const webglFormat = isWebGL2 ? formatInfo === null || formatInfo === void 0 ? void 0 : formatInfo.gl : formatInfo === null || formatInfo === void 0 ? void 0 : formatInfo.gl1;
|
|
795
|
+
if (webglFormat === undefined) {
|
|
796
|
+
throw new Error("Unsupported texture format ".concat(format));
|
|
797
|
+
}
|
|
798
|
+
return webglFormat;
|
|
799
|
+
}
|
|
734
800
|
export function getTextureFormatSupport(gl, formatOrGL) {
|
|
735
|
-
const format =
|
|
801
|
+
const format = convertGLToTextureFormat(formatOrGL);
|
|
736
802
|
const info = TEXTURE_FORMATS[format];
|
|
737
|
-
|
|
738
803
|
if (!info) {
|
|
739
804
|
return {
|
|
740
805
|
supported: false
|
|
741
806
|
};
|
|
742
807
|
}
|
|
743
|
-
|
|
744
|
-
let decoded;
|
|
745
|
-
|
|
746
|
-
try {
|
|
747
|
-
decoded = decodeTextureFormat(format);
|
|
748
|
-
} catch {}
|
|
749
|
-
|
|
750
808
|
let supported = isWebGL2(gl) ? info.gl === undefined : info.gl1 === undefined;
|
|
751
809
|
supported = supported && checkTextureFeatures(gl, [info.f]);
|
|
752
|
-
const filterable = info.filter ? checkTextureFeatures(gl, [info.filter]) : decoded && !decoded.signed;
|
|
753
|
-
const renderable = info.filter ? checkTextureFeatures(gl, [info.render]) : decoded && !decoded.signed;
|
|
754
810
|
return {
|
|
755
811
|
supported,
|
|
756
812
|
renderable: supported && checkTextureFeatures(gl, [info.render]),
|
|
@@ -760,63 +816,39 @@ export function getTextureFormatSupport(gl, formatOrGL) {
|
|
|
760
816
|
};
|
|
761
817
|
}
|
|
762
818
|
export function isTextureFormatFilterable(gl, formatOrGL) {
|
|
763
|
-
const format =
|
|
764
|
-
|
|
819
|
+
const format = convertGLToTextureFormat(formatOrGL);
|
|
765
820
|
if (!isTextureFormatSupported(gl, format)) {
|
|
766
821
|
return false;
|
|
767
822
|
}
|
|
768
|
-
|
|
769
823
|
try {
|
|
770
824
|
const decoded = decodeTextureFormat(format);
|
|
771
|
-
|
|
772
825
|
if (decoded.signed) {
|
|
773
826
|
return false;
|
|
774
827
|
}
|
|
775
828
|
} catch {
|
|
776
829
|
return false;
|
|
777
830
|
}
|
|
778
|
-
|
|
779
831
|
if (format.endsWith('32float')) {
|
|
780
832
|
return Boolean(gl.getExtension('OES_texture_float_linear'));
|
|
781
833
|
}
|
|
782
|
-
|
|
783
834
|
if (format.endsWith('16float')) {
|
|
784
835
|
return Boolean(gl.getExtension('OES_texture_half_float_linear'));
|
|
785
836
|
}
|
|
786
|
-
|
|
787
837
|
return true;
|
|
788
838
|
}
|
|
789
839
|
export function isTextureFormatRenderable(gl, formatOrGL) {
|
|
790
|
-
const format =
|
|
791
|
-
|
|
840
|
+
const format = convertGLToTextureFormat(formatOrGL);
|
|
792
841
|
if (!isTextureFormatSupported(gl, format)) {
|
|
793
842
|
return false;
|
|
794
843
|
}
|
|
795
|
-
|
|
796
844
|
if (typeof format === 'number') {
|
|
797
845
|
return false;
|
|
798
846
|
}
|
|
799
|
-
|
|
800
847
|
return true;
|
|
801
848
|
}
|
|
802
|
-
export function
|
|
803
|
-
const format =
|
|
804
|
-
const
|
|
805
|
-
const webglFormat = isWebGL2(gl) ? formatInfo === null || formatInfo === void 0 ? void 0 : formatInfo.gl : formatInfo === null || formatInfo === void 0 ? void 0 : formatInfo.gl1;
|
|
806
|
-
|
|
807
|
-
if (typeof format === 'number') {
|
|
808
|
-
return webglFormat || format;
|
|
809
|
-
}
|
|
810
|
-
|
|
811
|
-
if (webglFormat === undefined) {
|
|
812
|
-
throw new Error("Unsupported texture format ".concat(format));
|
|
813
|
-
}
|
|
814
|
-
|
|
815
|
-
return webglFormat;
|
|
816
|
-
}
|
|
817
|
-
export function getWebGLTextureParameters(gl, formatOrGL) {
|
|
818
|
-
const format = getTextureFormat(formatOrGL);
|
|
819
|
-
const webglFormat = getWebGLTextureFormat(gl, format);
|
|
849
|
+
export function getWebGLTextureParameters(formatOrGL, isWebGL2) {
|
|
850
|
+
const format = convertGLToTextureFormat(formatOrGL);
|
|
851
|
+
const webglFormat = convertTextureFormatToGL(format, isWebGL2);
|
|
820
852
|
const decoded = decodeTextureFormat(format);
|
|
821
853
|
return {
|
|
822
854
|
format: webglFormat,
|
|
@@ -825,26 +857,19 @@ export function getWebGLTextureParameters(gl, formatOrGL) {
|
|
|
825
857
|
compressed: decoded.compressed
|
|
826
858
|
};
|
|
827
859
|
}
|
|
828
|
-
export function
|
|
829
|
-
const format = getTextureFormat(formatOrGL);
|
|
830
|
-
|
|
831
|
-
if (typeof format === 'number') {
|
|
832
|
-
throw new Error('unsupported depth stencil format');
|
|
833
|
-
}
|
|
834
|
-
|
|
860
|
+
export function getDepthStencilAttachmentWebGL(format) {
|
|
835
861
|
const info = TEXTURE_FORMATS[format];
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
if (!attachment) {
|
|
839
|
-
throw new Error('not a depth stencil format');
|
|
862
|
+
if (!(info !== null && info !== void 0 && info.attachment)) {
|
|
863
|
+
throw new Error("".concat(format, " is not a depth stencil format"));
|
|
840
864
|
}
|
|
841
|
-
|
|
842
|
-
return attachment;
|
|
865
|
+
return info.attachment;
|
|
843
866
|
}
|
|
844
|
-
export function _checkFloat32ColorAttachment(gl
|
|
845
|
-
let
|
|
846
|
-
let
|
|
847
|
-
|
|
867
|
+
export function _checkFloat32ColorAttachment(gl) {
|
|
868
|
+
let internalFormat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : gl.RGBA;
|
|
869
|
+
let srcFormat = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : GL.RGBA;
|
|
870
|
+
let srcType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : GL.UNSIGNED_BYTE;
|
|
871
|
+
let texture = null;
|
|
872
|
+
let framebuffer = null;
|
|
848
873
|
try {
|
|
849
874
|
texture = gl.createTexture();
|
|
850
875
|
gl.bindTexture(GL.TEXTURE_2D, texture);
|
|
@@ -865,88 +890,48 @@ export function _checkFloat32ColorAttachment(gl, internalFormat = gl.RGBA, srcFo
|
|
|
865
890
|
gl.deleteFramebuffer(framebuffer);
|
|
866
891
|
}
|
|
867
892
|
}
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
[GL.RG]: 2,
|
|
872
|
-
[GL.RG_INTEGER]: 2,
|
|
873
|
-
[GL.RGB]: 3,
|
|
874
|
-
[GL.RGB_INTEGER]: 3,
|
|
875
|
-
[GL.RGBA]: 4,
|
|
876
|
-
[GL.RGBA_INTEGER]: 4,
|
|
877
|
-
[GL.DEPTH_COMPONENT]: 1,
|
|
878
|
-
[GL.DEPTH_STENCIL]: 1,
|
|
879
|
-
[GL.ALPHA]: 1,
|
|
880
|
-
[GL.LUMINANCE]: 1,
|
|
881
|
-
[GL.LUMINANCE_ALPHA]: 2
|
|
882
|
-
};
|
|
883
|
-
const TYPE_SIZES = {
|
|
884
|
-
[GL.FLOAT]: 4,
|
|
885
|
-
[GL.UNSIGNED_INT]: 4,
|
|
886
|
-
[GL.INT]: 4,
|
|
887
|
-
[GL.UNSIGNED_SHORT]: 2,
|
|
888
|
-
[GL.SHORT]: 2,
|
|
889
|
-
[GL.HALF_FLOAT]: 2,
|
|
890
|
-
[GL.BYTE]: 1,
|
|
891
|
-
[GL.UNSIGNED_BYTE]: 1
|
|
892
|
-
};
|
|
893
|
-
export function getTextureFormatBytesPerPixel(gl, formatOrGL) {
|
|
894
|
-
const format = getTextureFormat(formatOrGL);
|
|
895
|
-
const params = getWebGLTextureParameters(gl, format);
|
|
893
|
+
export function getTextureFormatBytesPerPixel(formatOrGL, isWebGL2) {
|
|
894
|
+
const format = convertGLToTextureFormat(formatOrGL);
|
|
895
|
+
const params = getWebGLTextureParameters(format, isWebGL2);
|
|
896
896
|
const channels = DATA_FORMAT_CHANNELS[params.dataFormat] || 4;
|
|
897
897
|
const channelSize = TYPE_SIZES[params.type] || 1;
|
|
898
898
|
return channels * channelSize;
|
|
899
899
|
}
|
|
900
|
-
|
|
901
900
|
function getWebGLPixelDataFormat(dataFormat, integer, normalized, format) {
|
|
902
901
|
if (format === GL.RGBA || format === GL.RGB) {
|
|
903
902
|
return format;
|
|
904
903
|
}
|
|
905
|
-
|
|
906
904
|
switch (dataFormat) {
|
|
907
905
|
case 'r':
|
|
908
906
|
return integer && !normalized ? GL.RED_INTEGER : GL.RED;
|
|
909
|
-
|
|
910
907
|
case 'rg':
|
|
911
908
|
return integer && !normalized ? GL.RG_INTEGER : GL.RG;
|
|
912
|
-
|
|
913
909
|
case 'rgb':
|
|
914
910
|
return integer && !normalized ? GL.RGB_INTEGER : GL.RGB;
|
|
915
|
-
|
|
916
911
|
case 'rgba':
|
|
917
912
|
return integer && !normalized ? GL.RGBA_INTEGER : GL.RGBA;
|
|
918
|
-
|
|
919
913
|
default:
|
|
920
914
|
return GL.RGBA;
|
|
921
915
|
}
|
|
922
916
|
}
|
|
923
|
-
|
|
924
917
|
export function getWebGLDataType(dataType) {
|
|
925
918
|
switch (dataType) {
|
|
926
919
|
case 'uint8':
|
|
927
920
|
return GL.UNSIGNED_BYTE;
|
|
928
|
-
|
|
929
921
|
case 'sint8':
|
|
930
922
|
return GL.BYTE;
|
|
931
|
-
|
|
932
923
|
case 'uint16':
|
|
933
924
|
return GL.UNSIGNED_SHORT;
|
|
934
|
-
|
|
935
925
|
case 'sint16':
|
|
936
926
|
return GL.SHORT;
|
|
937
|
-
|
|
938
927
|
case 'uint32':
|
|
939
928
|
return GL.UNSIGNED_INT;
|
|
940
|
-
|
|
941
929
|
case 'sint32':
|
|
942
930
|
return GL.INT;
|
|
943
|
-
|
|
944
931
|
case 'float16':
|
|
945
932
|
return GL.HALF_FLOAT;
|
|
946
|
-
|
|
947
933
|
case 'float32':
|
|
948
934
|
return GL.FLOAT;
|
|
949
|
-
|
|
950
935
|
default:
|
|
951
936
|
return GL.UNSIGNED_BYTE;
|
|
952
937
|
}
|