@luma.gl/webgl 8.6.0-alpha.5 → 9.0.0-alpha.10
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/README.md +3 -67
- package/dist/adapter/converters/device-parameters.d.ts +27 -0
- package/dist/adapter/converters/device-parameters.d.ts.map +1 -0
- package/dist/adapter/converters/{set-device-parameters.js → device-parameters.js} +50 -6
- package/dist/adapter/converters/device-parameters.js.map +1 -0
- package/dist/{classes → adapter/converters}/renderbuffer-formats.d.ts +0 -0
- package/dist/adapter/converters/renderbuffer-formats.d.ts.map +1 -0
- package/dist/{classes → adapter/converters}/renderbuffer-formats.js +1 -1
- package/dist/adapter/converters/renderbuffer-formats.js.map +1 -0
- package/dist/adapter/converters/sampler-parameters.d.ts +19 -0
- package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -0
- package/dist/adapter/converters/sampler-parameters.js +227 -0
- package/dist/adapter/converters/sampler-parameters.js.map +1 -0
- package/dist/adapter/converters/texture-formats.d.ts +93 -0
- package/dist/adapter/converters/texture-formats.d.ts.map +1 -0
- package/dist/adapter/converters/texture-formats.js +954 -0
- package/dist/adapter/converters/texture-formats.js.map +1 -0
- package/dist/adapter/converters/vertex-formats.d.ts +4 -0
- package/dist/adapter/converters/vertex-formats.d.ts.map +1 -0
- package/dist/adapter/converters/vertex-formats.js +35 -0
- package/dist/adapter/converters/vertex-formats.js.map +1 -0
- package/dist/adapter/device-helpers/device-features.d.ts +3 -6
- package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
- package/dist/adapter/device-helpers/device-features.js +39 -50
- package/dist/adapter/device-helpers/device-features.js.map +1 -1
- package/dist/adapter/device-helpers/device-limits.d.ts +1 -0
- package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
- package/dist/adapter/device-helpers/device-limits.js +1 -0
- package/dist/adapter/device-helpers/device-limits.js.map +1 -1
- package/dist/adapter/device-helpers/get-device-info.js +7 -7
- package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
- package/dist/adapter/helpers/attribute-utils.d.ts +11 -0
- package/dist/adapter/helpers/attribute-utils.d.ts.map +1 -0
- package/dist/adapter/helpers/attribute-utils.js +81 -0
- package/dist/adapter/helpers/attribute-utils.js.map +1 -0
- package/dist/adapter/helpers/get-shader-layout.d.ts +55 -0
- package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -0
- package/dist/adapter/helpers/get-shader-layout.js +330 -0
- package/dist/adapter/helpers/get-shader-layout.js.map +1 -0
- package/dist/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.d.ts +0 -0
- package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -0
- package/dist/{esm/webgl-utils → adapter/helpers}/parse-shader-compiler-log.js +0 -0
- package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
- package/dist/adapter/helpers/set-uniform.d.ts +4 -0
- package/dist/adapter/helpers/set-uniform.d.ts.map +1 -0
- package/dist/adapter/helpers/set-uniform.js +115 -0
- package/dist/adapter/helpers/set-uniform.js.map +1 -0
- package/dist/adapter/helpers/uniforms.d.ts +26 -0
- package/dist/adapter/helpers/uniforms.d.ts.map +1 -0
- package/dist/adapter/helpers/uniforms.js +99 -0
- package/dist/adapter/helpers/uniforms.js.map +1 -0
- package/dist/adapter/objects/constants-to-keys.d.ts +5 -0
- package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -0
- package/dist/{esm/webgl-utils → adapter/objects}/constants-to-keys.js +1 -0
- package/dist/adapter/objects/constants-to-keys.js.map +1 -0
- package/dist/adapter/objects/webgl-renderbuffer.d.ts +40 -0
- package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -0
- package/dist/{esm/classes/renderbuffer.js → adapter/objects/webgl-renderbuffer.js} +38 -72
- package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -0
- package/dist/{classes → adapter/objects}/webgl-resource.d.ts +15 -14
- package/dist/adapter/objects/webgl-resource.d.ts.map +1 -0
- package/dist/{classes → adapter/objects}/webgl-resource.js +7 -3
- package/dist/adapter/objects/webgl-resource.js.map +1 -0
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts +27 -0
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -0
- package/dist/adapter/objects/webgl-vertex-array-object.js +84 -0
- package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -0
- package/dist/adapter/resources/webgl-buffer.d.ts +27 -0
- package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -0
- package/dist/adapter/resources/webgl-buffer.js +164 -0
- package/dist/adapter/resources/webgl-buffer.js.map +1 -0
- package/dist/adapter/resources/webgl-command-buffer.d.ts +25 -0
- package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -0
- package/dist/adapter/resources/webgl-command-buffer.js +65 -0
- package/dist/adapter/resources/webgl-command-buffer.js.map +1 -0
- package/dist/adapter/resources/webgl-command-encoder.d.ts +18 -0
- package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -0
- package/dist/adapter/resources/webgl-command-encoder.js +53 -0
- package/dist/adapter/resources/webgl-command-encoder.js.map +1 -0
- package/dist/adapter/resources/webgl-external-texture.d.ts +1 -0
- package/dist/adapter/resources/webgl-external-texture.d.ts.map +1 -0
- package/dist/adapter/resources/webgl-external-texture.js +2 -0
- package/dist/{es5/helpers/program-bindings.js.map → adapter/resources/webgl-external-texture.js.map} +1 -1
- package/dist/adapter/resources/webgl-framebuffer.d.ts +41 -0
- package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -0
- package/dist/adapter/resources/webgl-framebuffer.js +267 -0
- package/dist/adapter/resources/webgl-framebuffer.js.map +1 -0
- package/dist/adapter/resources/webgl-render-pass.d.ts +11 -0
- package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -0
- package/dist/adapter/resources/webgl-render-pass.js +21 -0
- package/dist/adapter/resources/webgl-render-pass.js.map +1 -0
- package/dist/adapter/resources/webgl-render-pipeline.d.ts +55 -0
- package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -0
- package/dist/adapter/resources/webgl-render-pipeline.js +428 -0
- package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -0
- package/dist/adapter/resources/webgl-sampler.d.ts +20 -0
- package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -0
- package/dist/adapter/resources/webgl-sampler.js +50 -0
- package/dist/adapter/resources/webgl-sampler.js.map +1 -0
- package/dist/adapter/{webgl-shader.d.ts → resources/webgl-shader.d.ts} +3 -6
- package/dist/adapter/resources/webgl-shader.d.ts.map +1 -0
- package/dist/{esm/adapter → adapter/resources}/webgl-shader.js +17 -23
- package/dist/adapter/resources/webgl-shader.js.map +1 -0
- package/dist/adapter/resources/webgl-texture.d.ts +193 -0
- package/dist/adapter/resources/webgl-texture.d.ts.map +1 -0
- package/dist/{classes/texture.js → adapter/resources/webgl-texture.js} +280 -232
- package/dist/adapter/resources/webgl-texture.js.map +1 -0
- package/dist/adapter/webgl-canvas-context.d.ts +36 -0
- package/dist/adapter/webgl-canvas-context.d.ts.map +1 -0
- package/dist/adapter/webgl-canvas-context.js +54 -0
- package/dist/adapter/webgl-canvas-context.js.map +1 -0
- package/dist/adapter/webgl-device.d.ts +63 -75
- package/dist/adapter/webgl-device.d.ts.map +1 -1
- package/dist/adapter/webgl-device.js +242 -112
- package/dist/adapter/webgl-device.js.map +1 -1
- package/dist/classic/accessor.d.ts +32 -0
- package/dist/classic/accessor.d.ts.map +1 -0
- package/dist/{classes → classic}/accessor.js +33 -1
- package/dist/classic/accessor.js.map +1 -0
- package/dist/{classes/webgl-buffer.d.ts → classic/buffer.d.ts} +28 -33
- package/dist/classic/buffer.d.ts.map +1 -0
- package/dist/{classes/webgl-buffer.js → classic/buffer.js} +67 -57
- package/dist/classic/buffer.js.map +1 -0
- package/dist/{webgl-utils → classic}/typed-array-utils.d.ts +3 -2
- package/dist/classic/typed-array-utils.d.ts.map +1 -0
- package/dist/{esm/webgl-utils → classic}/typed-array-utils.js +0 -0
- package/dist/classic/typed-array-utils.js.map +1 -0
- package/dist/context/context/context-state.d.ts.map +1 -1
- package/dist/context/context/context-state.js +1 -1
- package/dist/context/context/context-state.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/{esm/context/context/create-context.js → context/context/create-browser-context.js} +27 -3
- 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 +43 -0
- package/dist/context/context/create-headless-context.js.map +1 -0
- package/dist/context/context/device-pixels.d.ts +1 -1
- package/dist/context/context/device-pixels.d.ts.map +1 -1
- package/dist/context/context/device-pixels.js +13 -8
- package/dist/context/context/device-pixels.js.map +1 -1
- package/dist/context/debug/spector.d.ts +18 -0
- package/dist/context/debug/spector.d.ts.map +1 -0
- package/dist/context/debug/spector.js +76 -0
- package/dist/context/debug/spector.js.map +1 -0
- package/dist/context/debug/webgl-developer-tools.d.ts +19 -0
- package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -0
- package/dist/context/debug/webgl-developer-tools.js +121 -0
- package/dist/context/debug/webgl-developer-tools.js.map +1 -0
- package/dist/context/parameters/unified-parameter-api.d.ts +9 -7
- package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
- package/dist/context/parameters/unified-parameter-api.js +9 -8
- package/dist/context/parameters/unified-parameter-api.js.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.d.ts +40 -36
- package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
- package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
- package/dist/context/polyfill/polyfill-context.js +3 -3
- package/dist/context/polyfill/polyfill-context.js.map +1 -1
- package/dist/context/polyfill/polyfill-table.d.ts +1 -1
- package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-table.js +1 -1
- package/dist/context/polyfill/polyfill-table.js.map +1 -1
- package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
- 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 +26 -12
- 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 +6 -2
- package/dist/context/state-tracker/with-parameters.js.map +1 -1
- package/dist/es5/adapter/converters/{set-device-parameters.js → device-parameters.js} +53 -6
- package/dist/es5/adapter/converters/device-parameters.js.map +1 -0
- package/dist/es5/{classes → adapter/converters}/renderbuffer-formats.js +1 -1
- package/dist/es5/adapter/converters/renderbuffer-formats.js.map +1 -0
- package/dist/es5/adapter/converters/sampler-parameters.js +245 -0
- package/dist/es5/adapter/converters/sampler-parameters.js.map +1 -0
- package/dist/es5/adapter/converters/texture-formats.js +1031 -0
- package/dist/es5/adapter/converters/texture-formats.js.map +1 -0
- package/dist/es5/adapter/converters/vertex-formats.js +45 -0
- package/dist/es5/adapter/converters/vertex-formats.js.map +1 -0
- package/dist/es5/adapter/device-helpers/device-features.js +61 -58
- package/dist/es5/adapter/device-helpers/device-features.js.map +1 -1
- package/dist/es5/adapter/device-helpers/device-limits.js +1 -1
- package/dist/es5/adapter/device-helpers/device-limits.js.map +1 -1
- package/dist/es5/adapter/device-helpers/get-device-info.js +7 -7
- package/dist/es5/adapter/device-helpers/get-device-info.js.map +1 -1
- package/dist/es5/adapter/helpers/attribute-utils.js +91 -0
- package/dist/es5/adapter/helpers/attribute-utils.js.map +1 -0
- package/dist/es5/{helpers/get-program-bindings.js → adapter/helpers/get-shader-layout.js} +211 -94
- package/dist/es5/adapter/helpers/get-shader-layout.js.map +1 -0
- package/dist/es5/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.js +0 -0
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
- package/dist/es5/adapter/helpers/set-uniform.js +125 -0
- package/dist/es5/adapter/helpers/set-uniform.js.map +1 -0
- package/dist/es5/adapter/helpers/uniforms.js +112 -0
- package/dist/es5/adapter/helpers/uniforms.js.map +1 -0
- package/dist/es5/{webgl-utils → adapter/objects}/constants-to-keys.js +1 -0
- package/dist/es5/adapter/objects/constants-to-keys.js.map +1 -0
- package/dist/es5/{classes/renderbuffer.js → adapter/objects/webgl-renderbuffer.js} +48 -98
- package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +1 -0
- package/dist/es5/{classes → adapter/objects}/webgl-resource.js +8 -3
- package/dist/es5/adapter/objects/webgl-resource.js.map +1 -0
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js +137 -0
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +1 -0
- package/dist/es5/adapter/resources/webgl-buffer.js +243 -0
- package/dist/es5/adapter/resources/webgl-buffer.js.map +1 -0
- package/dist/es5/adapter/resources/webgl-command-buffer.js +96 -0
- package/dist/es5/adapter/resources/webgl-command-buffer.js.map +1 -0
- package/dist/es5/adapter/resources/webgl-command-encoder.js +98 -0
- package/dist/es5/adapter/resources/webgl-command-encoder.js.map +1 -0
- package/dist/es5/adapter/resources/webgl-external-texture.js +2 -0
- package/dist/{esm/helpers/program-bindings.js.map → es5/adapter/resources/webgl-external-texture.js.map} +1 -1
- package/dist/es5/adapter/resources/webgl-framebuffer.js +346 -0
- package/dist/es5/adapter/resources/webgl-framebuffer.js.map +1 -0
- package/dist/es5/{classes/texture-2d.js → adapter/resources/webgl-render-pass.js} +26 -45
- package/dist/es5/adapter/resources/webgl-render-pass.js.map +1 -0
- package/dist/es5/adapter/resources/webgl-render-pipeline.js +530 -0
- package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +1 -0
- package/dist/es5/adapter/resources/webgl-sampler.js +96 -0
- package/dist/es5/adapter/resources/webgl-sampler.js.map +1 -0
- package/dist/es5/adapter/{webgl-shader.js → resources/webgl-shader.js} +16 -21
- package/dist/es5/adapter/resources/webgl-shader.js.map +1 -0
- package/dist/es5/{classes/texture.js → adapter/resources/webgl-texture.js} +374 -298
- package/dist/es5/adapter/resources/webgl-texture.js.map +1 -0
- package/dist/es5/adapter/webgl-canvas-context.js +97 -0
- package/dist/es5/adapter/webgl-canvas-context.js.map +1 -0
- package/dist/es5/adapter/webgl-device.js +314 -130
- package/dist/es5/adapter/webgl-device.js.map +1 -1
- package/dist/es5/{classes → classic}/accessor.js +25 -1
- package/dist/es5/classic/accessor.js.map +1 -0
- package/dist/es5/{classes/webgl-buffer.js → classic/buffer.js} +88 -72
- package/dist/es5/classic/buffer.js.map +1 -0
- package/dist/es5/{webgl-utils → classic}/typed-array-utils.js +0 -0
- package/dist/es5/classic/typed-array-utils.js.map +1 -0
- package/dist/es5/context/context/context-state.js +1 -1
- package/dist/es5/context/context/context-state.js.map +1 -1
- package/dist/es5/context/context/{create-context.js → create-browser-context.js} +29 -3
- package/dist/es5/context/context/create-browser-context.js.map +1 -0
- package/dist/es5/context/context/create-headless-context.js +60 -0
- package/dist/es5/context/context/create-headless-context.js.map +1 -0
- package/dist/es5/context/context/device-pixels.js +14 -8
- package/dist/es5/context/context/device-pixels.js.map +1 -1
- package/dist/es5/context/debug/spector.js +133 -0
- package/dist/es5/context/debug/spector.js.map +1 -0
- package/dist/es5/context/debug/webgl-developer-tools.js +198 -0
- package/dist/es5/context/debug/webgl-developer-tools.js.map +1 -0
- package/dist/es5/context/parameters/unified-parameter-api.js +15 -9
- package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -1
- package/dist/es5/context/parameters/webgl-parameter-tables.js.map +1 -1
- package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +1 -1
- package/dist/es5/context/polyfill/polyfill-context.js +3 -3
- package/dist/es5/context/polyfill/polyfill-context.js.map +1 -1
- package/dist/es5/context/polyfill/polyfill-table.js +1 -1
- package/dist/es5/context/polyfill/polyfill-table.js.map +1 -1
- package/dist/es5/context/state-tracker/deep-array-equal.js.map +1 -1
- package/dist/es5/context/state-tracker/track-context-state.js +39 -24
- package/dist/es5/context/state-tracker/track-context-state.js.map +1 -1
- package/dist/es5/context/state-tracker/with-parameters.js +8 -2
- package/dist/es5/context/state-tracker/with-parameters.js.map +1 -1
- package/dist/es5/index.js +72 -300
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/init.js +1 -41
- package/dist/es5/init.js.map +1 -1
- package/dist/es5/{context/parameters/webgl-parameters.js → types/webgl.js} +1 -1
- package/dist/es5/types/webgl.js.map +1 -0
- package/dist/esm/adapter/converters/{set-device-parameters.js → device-parameters.js} +50 -6
- package/dist/esm/adapter/converters/device-parameters.js.map +1 -0
- package/dist/esm/{classes → adapter/converters}/renderbuffer-formats.js +1 -1
- package/dist/esm/adapter/converters/renderbuffer-formats.js.map +1 -0
- package/dist/esm/adapter/converters/sampler-parameters.js +227 -0
- package/dist/esm/adapter/converters/sampler-parameters.js.map +1 -0
- package/dist/esm/adapter/converters/texture-formats.js +954 -0
- package/dist/esm/adapter/converters/texture-formats.js.map +1 -0
- package/dist/esm/adapter/converters/vertex-formats.js +35 -0
- package/dist/esm/adapter/converters/vertex-formats.js.map +1 -0
- package/dist/esm/adapter/device-helpers/device-features.js +39 -50
- package/dist/esm/adapter/device-helpers/device-features.js.map +1 -1
- package/dist/esm/adapter/device-helpers/device-limits.js +1 -0
- package/dist/esm/adapter/device-helpers/device-limits.js.map +1 -1
- package/dist/esm/adapter/device-helpers/get-device-info.js +7 -7
- package/dist/esm/adapter/device-helpers/get-device-info.js.map +1 -1
- package/dist/esm/adapter/helpers/attribute-utils.js +81 -0
- package/dist/esm/adapter/helpers/attribute-utils.js.map +1 -0
- package/dist/esm/adapter/helpers/get-shader-layout.js +330 -0
- package/dist/esm/adapter/helpers/get-shader-layout.js.map +1 -0
- package/dist/{webgl-utils → esm/adapter/helpers}/parse-shader-compiler-log.js +0 -0
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
- package/dist/esm/adapter/helpers/set-uniform.js +115 -0
- package/dist/esm/adapter/helpers/set-uniform.js.map +1 -0
- package/dist/esm/adapter/helpers/uniforms.js +99 -0
- package/dist/esm/adapter/helpers/uniforms.js.map +1 -0
- package/dist/{webgl-utils → esm/adapter/objects}/constants-to-keys.js +1 -0
- package/dist/esm/adapter/objects/constants-to-keys.js.map +1 -0
- package/dist/{classes/renderbuffer.js → esm/adapter/objects/webgl-renderbuffer.js} +38 -72
- package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +1 -0
- package/dist/esm/{classes → adapter/objects}/webgl-resource.js +7 -3
- package/dist/esm/adapter/objects/webgl-resource.js.map +1 -0
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js +84 -0
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +1 -0
- package/dist/esm/adapter/resources/webgl-buffer.js +164 -0
- package/dist/esm/adapter/resources/webgl-buffer.js.map +1 -0
- package/dist/esm/adapter/resources/webgl-command-buffer.js +65 -0
- package/dist/esm/adapter/resources/webgl-command-buffer.js.map +1 -0
- package/dist/esm/adapter/resources/webgl-command-encoder.js +53 -0
- package/dist/esm/adapter/resources/webgl-command-encoder.js.map +1 -0
- package/dist/esm/adapter/resources/webgl-external-texture.js +2 -0
- package/dist/{helpers/program-bindings.js.map → esm/adapter/resources/webgl-external-texture.js.map} +1 -1
- package/dist/esm/adapter/resources/webgl-framebuffer.js +267 -0
- package/dist/esm/adapter/resources/webgl-framebuffer.js.map +1 -0
- package/dist/esm/adapter/resources/webgl-render-pass.js +21 -0
- package/dist/esm/adapter/resources/webgl-render-pass.js.map +1 -0
- package/dist/esm/adapter/resources/webgl-render-pipeline.js +428 -0
- package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +1 -0
- package/dist/esm/adapter/resources/webgl-sampler.js +50 -0
- package/dist/esm/adapter/resources/webgl-sampler.js.map +1 -0
- package/dist/{adapter → esm/adapter/resources}/webgl-shader.js +17 -23
- package/dist/esm/adapter/resources/webgl-shader.js.map +1 -0
- package/dist/esm/{classes/texture.js → adapter/resources/webgl-texture.js} +280 -232
- package/dist/esm/adapter/resources/webgl-texture.js.map +1 -0
- package/dist/esm/adapter/webgl-canvas-context.js +54 -0
- package/dist/esm/adapter/webgl-canvas-context.js.map +1 -0
- package/dist/esm/adapter/webgl-device.js +242 -112
- package/dist/esm/adapter/webgl-device.js.map +1 -1
- package/dist/esm/{classes → classic}/accessor.js +33 -1
- package/dist/esm/classic/accessor.js.map +1 -0
- package/dist/esm/{classes/webgl-buffer.js → classic/buffer.js} +67 -57
- package/dist/esm/classic/buffer.js.map +1 -0
- package/dist/{webgl-utils → esm/classic}/typed-array-utils.js +0 -0
- package/dist/esm/classic/typed-array-utils.js.map +1 -0
- package/dist/esm/context/context/context-state.js +1 -1
- package/dist/esm/context/context/context-state.js.map +1 -1
- package/dist/{context/context/create-context.js → esm/context/context/create-browser-context.js} +27 -3
- package/dist/esm/context/context/create-browser-context.js.map +1 -0
- package/dist/esm/context/context/create-headless-context.js +43 -0
- package/dist/esm/context/context/create-headless-context.js.map +1 -0
- package/dist/esm/context/context/device-pixels.js +13 -8
- package/dist/esm/context/context/device-pixels.js.map +1 -1
- package/dist/esm/context/debug/spector.js +76 -0
- package/dist/esm/context/debug/spector.js.map +1 -0
- package/dist/esm/context/debug/webgl-developer-tools.js +121 -0
- package/dist/esm/context/debug/webgl-developer-tools.js.map +1 -0
- package/dist/esm/context/parameters/unified-parameter-api.js +9 -8
- package/dist/esm/context/parameters/unified-parameter-api.js.map +1 -1
- package/dist/esm/context/parameters/webgl-parameter-tables.js.map +1 -1
- package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +1 -1
- package/dist/esm/context/polyfill/polyfill-context.js +3 -3
- package/dist/esm/context/polyfill/polyfill-context.js.map +1 -1
- package/dist/esm/context/polyfill/polyfill-table.js +1 -1
- package/dist/esm/context/polyfill/polyfill-table.js.map +1 -1
- package/dist/esm/context/state-tracker/deep-array-equal.js.map +1 -1
- package/dist/esm/context/state-tracker/track-context-state.js +26 -12
- package/dist/esm/context/state-tracker/track-context-state.js.map +1 -1
- package/dist/esm/context/state-tracker/with-parameters.js +6 -2
- package/dist/esm/context/state-tracker/with-parameters.js.map +1 -1
- package/dist/esm/index.js +20 -31
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/init.js +2 -31
- package/dist/esm/init.js.map +1 -1
- package/dist/esm/types/webgl.js +2 -0
- package/dist/esm/types/webgl.js.map +1 -0
- package/dist/index.d.ts +25 -46
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -31
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts +1 -4
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +2 -31
- package/dist/init.js.map +1 -1
- package/dist/types/webgl.d.ts +145 -0
- package/dist/types/webgl.d.ts.map +1 -0
- package/dist/types/webgl.js +2 -0
- package/dist/types/webgl.js.map +1 -0
- package/package.json +5 -5
- package/src/adapter/converters/{set-device-parameters.ts → device-parameters.ts} +81 -12
- package/src/{classes → adapter/converters}/renderbuffer-formats.ts +1 -1
- package/src/adapter/converters/sampler-parameters.ts +184 -0
- package/src/adapter/converters/texture-formats.ts +633 -0
- package/src/adapter/converters/vertex-formats.ts +22 -0
- package/src/adapter/device-helpers/device-features.ts +55 -124
- package/src/adapter/device-helpers/device-limits.ts +6 -3
- package/src/adapter/device-helpers/get-device-info.ts +8 -8
- package/src/adapter/helpers/attribute-utils.ts +61 -0
- package/src/adapter/helpers/get-shader-layout.ts +407 -0
- package/src/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.ts +0 -0
- package/src/adapter/helpers/set-uniform.ts +87 -0
- package/src/adapter/helpers/uniforms.ts +121 -0
- package/src/{webgl-utils → adapter/objects}/constants-to-keys.ts +6 -3
- package/src/adapter/objects/webgl-renderbuffer.ts +104 -0
- package/src/{classes → adapter/objects}/webgl-resource.ts +23 -17
- package/src/adapter/objects/webgl-vertex-array-object.ts +111 -0
- package/src/adapter/resources/webgl-buffer.ts +219 -0
- package/src/adapter/resources/webgl-command-buffer.ts +94 -0
- package/src/adapter/resources/webgl-command-encoder.ts +58 -0
- package/src/adapter/resources/webgl-external-texture.ts +92 -0
- package/src/adapter/resources/webgl-framebuffer.ts +282 -0
- package/src/adapter/resources/webgl-render-pass.ts +24 -0
- package/src/adapter/resources/webgl-render-pipeline.ts +425 -0
- package/src/adapter/resources/webgl-sampler.ts +56 -0
- package/src/adapter/{webgl-shader.ts → resources/webgl-shader.ts} +19 -24
- package/src/adapter/resources/webgl-texture.ts +1036 -0
- package/src/adapter/webgl-canvas-context.ts +74 -0
- package/src/adapter/webgl-device.ts +293 -278
- package/{dist/esm/classes/accessor.ts.disabled → src/classic/accessor.ts} +38 -37
- package/src/{classes/webgl-buffer.ts → classic/buffer.ts} +76 -84
- package/src/{webgl-utils → classic}/typed-array-utils.ts +5 -1
- package/src/context/context/context-state.ts +4 -2
- package/src/context/context/{create-context.ts → create-browser-context.ts} +41 -6
- package/src/context/context/create-headless-context.ts +48 -0
- package/src/context/context/device-pixels.ts +24 -13
- package/src/context/debug/spector.ts +92 -0
- package/src/context/debug/webgl-developer-tools.ts +162 -0
- package/src/context/parameters/unified-parameter-api.ts +21 -13
- package/src/context/parameters/webgl-parameter-tables.ts +38 -36
- package/src/context/polyfill/get-parameter-polyfill.ts +1 -1
- package/src/context/polyfill/polyfill-context.ts +4 -5
- package/src/context/polyfill/polyfill-table.ts +1 -1
- package/src/context/state-tracker/deep-array-equal.ts +1 -1
- package/src/context/state-tracker/track-context-state.ts +34 -26
- package/src/context/state-tracker/with-parameters.ts +7 -2
- package/src/index.ts +42 -102
- package/src/init.ts +2 -46
- package/src/types/webgl.ts +284 -0
- package/dist/_deprecated/context-api.d.ts +0 -85
- package/dist/_deprecated/context-api.d.ts.map +0 -1
- package/dist/_deprecated/context-api.js +0 -76
- package/dist/_deprecated/context-api.js.map +0 -1
- package/dist/_deprecated/features.d.ts +0 -27
- package/dist/_deprecated/features.d.ts.map +0 -1
- package/dist/_deprecated/features.js +0 -111
- package/dist/_deprecated/features.js.map +0 -1
- package/dist/adapter/converters/set-device-parameters.d.ts +0 -5
- package/dist/adapter/converters/set-device-parameters.d.ts.map +0 -1
- package/dist/adapter/converters/set-device-parameters.js.map +0 -1
- package/dist/adapter/converters/webgpu-texture-formats.d.ts +0 -281
- package/dist/adapter/converters/webgpu-texture-formats.d.ts.map +0 -1
- package/dist/adapter/converters/webgpu-texture-formats.js +0 -285
- package/dist/adapter/converters/webgpu-texture-formats.js.map +0 -1
- package/dist/adapter/webgl-shader.d.ts.map +0 -1
- package/dist/adapter/webgl-shader.js.map +0 -1
- package/dist/classes/accessor.d.ts +0 -28
- package/dist/classes/accessor.d.ts.map +0 -1
- package/dist/classes/accessor.js.map +0 -1
- package/dist/classes/accessor.ts.disabled +0 -159
- package/dist/classes/clear.d.ts +0 -17
- package/dist/classes/clear.d.ts.map +0 -1
- package/dist/classes/clear.js +0 -105
- package/dist/classes/clear.js.map +0 -1
- package/dist/classes/copy-and-blit.d.ts +0 -86
- package/dist/classes/copy-and-blit.d.ts.map +0 -1
- package/dist/classes/copy-and-blit.js +0 -338
- package/dist/classes/copy-and-blit.js.map +0 -1
- package/dist/classes/framebuffer.d.ts +0 -139
- package/dist/classes/framebuffer.d.ts.map +0 -1
- package/dist/classes/framebuffer.js +0 -656
- package/dist/classes/framebuffer.js.map +0 -1
- package/dist/classes/program-configuration.d.ts +0 -24
- package/dist/classes/program-configuration.d.ts.map +0 -1
- package/dist/classes/program-configuration.js +0 -73
- package/dist/classes/program-configuration.js.map +0 -1
- package/dist/classes/program.d.ts +0 -66
- package/dist/classes/program.d.ts.map +0 -1
- package/dist/classes/program.js +0 -379
- package/dist/classes/program.js.map +0 -1
- package/dist/classes/query.d.ts +0 -27
- package/dist/classes/query.d.ts.map +0 -1
- package/dist/classes/query.js +0 -145
- package/dist/classes/query.js.map +0 -1
- package/dist/classes/renderbuffer-formats.d.ts.map +0 -1
- package/dist/classes/renderbuffer-formats.js.map +0 -1
- package/dist/classes/renderbuffer.d.ts +0 -60
- package/dist/classes/renderbuffer.d.ts.map +0 -1
- package/dist/classes/renderbuffer.js.map +0 -1
- package/dist/classes/shader.d.ts +0 -42
- package/dist/classes/shader.d.ts.map +0 -1
- package/dist/classes/shader.js +0 -118
- package/dist/classes/shader.js.map +0 -1
- package/dist/classes/texture-2d.d.ts +0 -9
- package/dist/classes/texture-2d.d.ts.map +0 -1
- package/dist/classes/texture-2d.js +0 -36
- package/dist/classes/texture-2d.js.map +0 -1
- package/dist/classes/texture-3d.d.ts +0 -29
- package/dist/classes/texture-3d.d.ts.map +0 -1
- package/dist/classes/texture-3d.js +0 -76
- package/dist/classes/texture-3d.js.map +0 -1
- package/dist/classes/texture-cube.d.ts +0 -28
- package/dist/classes/texture-cube.d.ts.map +0 -1
- package/dist/classes/texture-cube.js +0 -130
- package/dist/classes/texture-cube.js.map +0 -1
- package/dist/classes/texture-formats.d.ts +0 -37
- package/dist/classes/texture-formats.d.ts.map +0 -1
- package/dist/classes/texture-formats.js +0 -98
- package/dist/classes/texture-formats.js.map +0 -1
- package/dist/classes/texture.d.ts +0 -123
- package/dist/classes/texture.d.ts.map +0 -1
- package/dist/classes/texture.js.map +0 -1
- package/dist/classes/transform-feedback.d.ts +0 -33
- package/dist/classes/transform-feedback.d.ts.map +0 -1
- package/dist/classes/transform-feedback.js +0 -198
- package/dist/classes/transform-feedback.js.map +0 -1
- package/dist/classes/uniform-buffer-layout.d.ts +0 -17
- package/dist/classes/uniform-buffer-layout.d.ts.map +0 -1
- package/dist/classes/uniform-buffer-layout.js +0 -104
- package/dist/classes/uniform-buffer-layout.js.map +0 -1
- package/dist/classes/uniforms.d.ts +0 -37
- package/dist/classes/uniforms.d.ts.map +0 -1
- package/dist/classes/uniforms.js +0 -250
- package/dist/classes/uniforms.js.map +0 -1
- package/dist/classes/vertex-array-object.d.ts +0 -76
- package/dist/classes/vertex-array-object.d.ts.map +0 -1
- package/dist/classes/vertex-array-object.js +0 -261
- package/dist/classes/vertex-array-object.js.map +0 -1
- package/dist/classes/vertex-array.d.ts +0 -75
- package/dist/classes/vertex-array.d.ts.map +0 -1
- package/dist/classes/vertex-array.js +0 -408
- package/dist/classes/vertex-array.js.map +0 -1
- package/dist/classes/webgl-buffer.d.ts.map +0 -1
- package/dist/classes/webgl-buffer.js.map +0 -1
- package/dist/classes/webgl-resource.d.ts.map +0 -1
- package/dist/classes/webgl-resource.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/get-canvas.d.ts +0 -13
- package/dist/context/context/get-canvas.d.ts.map +0 -1
- package/dist/context/context/get-canvas.js +0 -31
- package/dist/context/context/get-canvas.js.map +0 -1
- package/dist/context/context/resize-context.d.ts +0 -20
- package/dist/context/context/resize-context.d.ts.map +0 -1
- package/dist/context/context/resize-context.js +0 -15
- package/dist/context/context/resize-context.js.map +0 -1
- package/dist/context/parameters/webgl-parameters.d.ts +0 -144
- package/dist/context/parameters/webgl-parameters.d.ts.map +0 -1
- package/dist/context/parameters/webgl-parameters.js +0 -2
- package/dist/context/parameters/webgl-parameters.js.map +0 -1
- package/dist/debug/debug-program-configuration.d.ts +0 -2
- package/dist/debug/debug-program-configuration.d.ts.map +0 -1
- package/dist/debug/debug-program-configuration.js +0 -40
- package/dist/debug/debug-program-configuration.js.map +0 -1
- package/dist/debug/debug-uniforms.d.ts +0 -12
- package/dist/debug/debug-uniforms.d.ts.map +0 -1
- package/dist/debug/debug-uniforms.js +0 -108
- package/dist/debug/debug-uniforms.js.map +0 -1
- package/dist/debug/debug-vertex-array.d.ts +0 -5
- package/dist/debug/debug-vertex-array.d.ts.map +0 -1
- package/dist/debug/debug-vertex-array.js +0 -118
- package/dist/debug/debug-vertex-array.js.map +0 -1
- package/dist/es5/_deprecated/context-api.js +0 -116
- package/dist/es5/_deprecated/context-api.js.map +0 -1
- package/dist/es5/_deprecated/features.js +0 -118
- package/dist/es5/_deprecated/features.js.map +0 -1
- package/dist/es5/adapter/converters/set-device-parameters.js.map +0 -1
- package/dist/es5/adapter/converters/webgpu-texture-formats.js +0 -296
- package/dist/es5/adapter/converters/webgpu-texture-formats.js.map +0 -1
- package/dist/es5/adapter/webgl-shader.js.map +0 -1
- package/dist/es5/classes/accessor.d.ts +0 -28
- package/dist/es5/classes/accessor.js.map +0 -1
- package/dist/es5/classes/accessor.ts.disabled +0 -159
- package/dist/es5/classes/clear.js +0 -135
- package/dist/es5/classes/clear.js.map +0 -1
- package/dist/es5/classes/copy-and-blit.js +0 -382
- package/dist/es5/classes/copy-and-blit.js.map +0 -1
- package/dist/es5/classes/framebuffer.js +0 -807
- package/dist/es5/classes/framebuffer.js.map +0 -1
- package/dist/es5/classes/program-configuration.js +0 -119
- package/dist/es5/classes/program-configuration.js.map +0 -1
- package/dist/es5/classes/program.js +0 -471
- package/dist/es5/classes/program.js.map +0 -1
- package/dist/es5/classes/query.js +0 -222
- package/dist/es5/classes/query.js.map +0 -1
- package/dist/es5/classes/renderbuffer-formats.js.map +0 -1
- package/dist/es5/classes/renderbuffer.js.map +0 -1
- package/dist/es5/classes/shader.js +0 -195
- package/dist/es5/classes/shader.js.map +0 -1
- package/dist/es5/classes/texture-2d.js.map +0 -1
- package/dist/es5/classes/texture-3d.js +0 -142
- package/dist/es5/classes/texture-3d.js.map +0 -1
- package/dist/es5/classes/texture-cube.js +0 -202
- package/dist/es5/classes/texture-cube.js.map +0 -1
- package/dist/es5/classes/texture-formats.js +0 -87
- package/dist/es5/classes/texture-formats.js.map +0 -1
- package/dist/es5/classes/texture.js.map +0 -1
- package/dist/es5/classes/transform-feedback.js +0 -267
- package/dist/es5/classes/transform-feedback.js.map +0 -1
- package/dist/es5/classes/uniform-buffer-layout.js +0 -130
- package/dist/es5/classes/uniform-buffer-layout.js.map +0 -1
- package/dist/es5/classes/uniforms.js +0 -232
- package/dist/es5/classes/uniforms.js.map +0 -1
- package/dist/es5/classes/vertex-array-object.js +0 -337
- package/dist/es5/classes/vertex-array-object.js.map +0 -1
- package/dist/es5/classes/vertex-array.js +0 -465
- package/dist/es5/classes/vertex-array.js.map +0 -1
- package/dist/es5/classes/webgl-buffer.js.map +0 -1
- package/dist/es5/classes/webgl-resource.js.map +0 -1
- package/dist/es5/context/context/create-context.js.map +0 -1
- package/dist/es5/context/context/get-canvas.js +0 -40
- package/dist/es5/context/context/get-canvas.js.map +0 -1
- package/dist/es5/context/context/resize-context.js +0 -23
- package/dist/es5/context/context/resize-context.js.map +0 -1
- package/dist/es5/context/parameters/webgl-parameters.js.map +0 -1
- package/dist/es5/debug/debug-program-configuration.js +0 -76
- package/dist/es5/debug/debug-program-configuration.js.map +0 -1
- package/dist/es5/debug/debug-uniforms.js +0 -156
- package/dist/es5/debug/debug-uniforms.js.map +0 -1
- package/dist/es5/debug/debug-vertex-array.js +0 -126
- package/dist/es5/debug/debug-vertex-array.js.map +0 -1
- package/dist/es5/helpers/get-program-bindings.js.map +0 -1
- package/dist/es5/helpers/program-bindings.js +0 -2
- package/dist/es5/types/accessor.d.ts +0 -29
- package/dist/es5/webgl-utils/attribute-utils.js +0 -186
- package/dist/es5/webgl-utils/attribute-utils.js.map +0 -1
- package/dist/es5/webgl-utils/constants-to-keys.js.map +0 -1
- package/dist/es5/webgl-utils/format-utils.js +0 -58
- package/dist/es5/webgl-utils/format-utils.js.map +0 -1
- package/dist/es5/webgl-utils/get-error.js +0 -49
- package/dist/es5/webgl-utils/get-error.js.map +0 -1
- package/dist/es5/webgl-utils/index.js +0 -74
- package/dist/es5/webgl-utils/index.js.map +0 -1
- package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +0 -1
- package/dist/es5/webgl-utils/request-animation-frame.js +0 -16
- package/dist/es5/webgl-utils/request-animation-frame.js.map +0 -1
- package/dist/es5/webgl-utils/texture-utils.js +0 -61
- package/dist/es5/webgl-utils/texture-utils.js.map +0 -1
- package/dist/es5/webgl-utils/typed-array-utils.js.map +0 -1
- package/dist/esm/_deprecated/context-api.js +0 -76
- package/dist/esm/_deprecated/context-api.js.map +0 -1
- package/dist/esm/_deprecated/features.js +0 -111
- package/dist/esm/_deprecated/features.js.map +0 -1
- package/dist/esm/adapter/converters/set-device-parameters.js.map +0 -1
- package/dist/esm/adapter/converters/webgpu-texture-formats.js +0 -285
- package/dist/esm/adapter/converters/webgpu-texture-formats.js.map +0 -1
- package/dist/esm/adapter/webgl-shader.js.map +0 -1
- package/dist/esm/classes/accessor.d.ts +0 -28
- package/dist/esm/classes/accessor.js.map +0 -1
- package/dist/esm/classes/clear.js +0 -105
- package/dist/esm/classes/clear.js.map +0 -1
- package/dist/esm/classes/copy-and-blit.js +0 -338
- package/dist/esm/classes/copy-and-blit.js.map +0 -1
- package/dist/esm/classes/framebuffer.js +0 -656
- package/dist/esm/classes/framebuffer.js.map +0 -1
- package/dist/esm/classes/program-configuration.js +0 -73
- package/dist/esm/classes/program-configuration.js.map +0 -1
- package/dist/esm/classes/program.js +0 -379
- package/dist/esm/classes/program.js.map +0 -1
- package/dist/esm/classes/query.js +0 -145
- package/dist/esm/classes/query.js.map +0 -1
- package/dist/esm/classes/renderbuffer-formats.js.map +0 -1
- package/dist/esm/classes/renderbuffer.js.map +0 -1
- package/dist/esm/classes/shader.js +0 -118
- package/dist/esm/classes/shader.js.map +0 -1
- package/dist/esm/classes/texture-2d.js +0 -36
- package/dist/esm/classes/texture-2d.js.map +0 -1
- package/dist/esm/classes/texture-3d.js +0 -76
- package/dist/esm/classes/texture-3d.js.map +0 -1
- package/dist/esm/classes/texture-cube.js +0 -130
- package/dist/esm/classes/texture-cube.js.map +0 -1
- package/dist/esm/classes/texture-formats.js +0 -98
- package/dist/esm/classes/texture-formats.js.map +0 -1
- package/dist/esm/classes/texture.js.map +0 -1
- package/dist/esm/classes/transform-feedback.js +0 -198
- package/dist/esm/classes/transform-feedback.js.map +0 -1
- package/dist/esm/classes/uniform-buffer-layout.js +0 -104
- package/dist/esm/classes/uniform-buffer-layout.js.map +0 -1
- package/dist/esm/classes/uniforms.js +0 -250
- package/dist/esm/classes/uniforms.js.map +0 -1
- package/dist/esm/classes/vertex-array-object.js +0 -261
- package/dist/esm/classes/vertex-array-object.js.map +0 -1
- package/dist/esm/classes/vertex-array.js +0 -408
- package/dist/esm/classes/vertex-array.js.map +0 -1
- package/dist/esm/classes/webgl-buffer.js.map +0 -1
- package/dist/esm/classes/webgl-resource.js.map +0 -1
- package/dist/esm/context/context/create-context.js.map +0 -1
- package/dist/esm/context/context/get-canvas.js +0 -31
- package/dist/esm/context/context/get-canvas.js.map +0 -1
- package/dist/esm/context/context/resize-context.js +0 -15
- package/dist/esm/context/context/resize-context.js.map +0 -1
- package/dist/esm/context/parameters/webgl-parameters.js +0 -2
- package/dist/esm/context/parameters/webgl-parameters.js.map +0 -1
- package/dist/esm/debug/debug-program-configuration.js +0 -40
- package/dist/esm/debug/debug-program-configuration.js.map +0 -1
- package/dist/esm/debug/debug-uniforms.js +0 -108
- package/dist/esm/debug/debug-uniforms.js.map +0 -1
- package/dist/esm/debug/debug-vertex-array.js +0 -118
- package/dist/esm/debug/debug-vertex-array.js.map +0 -1
- package/dist/esm/helpers/get-program-bindings.js +0 -228
- package/dist/esm/helpers/get-program-bindings.js.map +0 -1
- package/dist/esm/helpers/program-bindings.js +0 -2
- package/dist/esm/types/accessor.d.ts +0 -29
- package/dist/esm/webgl-utils/attribute-utils.js +0 -182
- package/dist/esm/webgl-utils/attribute-utils.js.map +0 -1
- package/dist/esm/webgl-utils/constants-to-keys.js.map +0 -1
- package/dist/esm/webgl-utils/format-utils.js +0 -45
- package/dist/esm/webgl-utils/format-utils.js.map +0 -1
- package/dist/esm/webgl-utils/get-error.js +0 -41
- package/dist/esm/webgl-utils/get-error.js.map +0 -1
- package/dist/esm/webgl-utils/index.js +0 -5
- package/dist/esm/webgl-utils/index.js.map +0 -1
- package/dist/esm/webgl-utils/parse-shader-compiler-log.js.map +0 -1
- package/dist/esm/webgl-utils/request-animation-frame.js +0 -7
- package/dist/esm/webgl-utils/request-animation-frame.js.map +0 -1
- package/dist/esm/webgl-utils/texture-utils.js +0 -48
- package/dist/esm/webgl-utils/texture-utils.js.map +0 -1
- package/dist/esm/webgl-utils/typed-array-utils.js.map +0 -1
- package/dist/helpers/get-program-bindings.d.ts +0 -8
- package/dist/helpers/get-program-bindings.d.ts.map +0 -1
- package/dist/helpers/get-program-bindings.js +0 -228
- package/dist/helpers/get-program-bindings.js.map +0 -1
- package/dist/helpers/program-bindings.d.ts +0 -41
- package/dist/helpers/program-bindings.d.ts.map +0 -1
- package/dist/helpers/program-bindings.js +0 -2
- package/dist/types/accessor.d.ts +0 -29
- package/dist/webgl-utils/attribute-utils.d.ts +0 -18
- package/dist/webgl-utils/attribute-utils.d.ts.map +0 -1
- package/dist/webgl-utils/attribute-utils.js +0 -182
- package/dist/webgl-utils/attribute-utils.js.map +0 -1
- package/dist/webgl-utils/constants-to-keys.d.ts +0 -4
- package/dist/webgl-utils/constants-to-keys.d.ts.map +0 -1
- package/dist/webgl-utils/constants-to-keys.js.map +0 -1
- package/dist/webgl-utils/format-utils.d.ts +0 -3
- package/dist/webgl-utils/format-utils.d.ts.map +0 -1
- package/dist/webgl-utils/format-utils.js +0 -45
- package/dist/webgl-utils/format-utils.js.map +0 -1
- package/dist/webgl-utils/get-error.d.ts +0 -3
- package/dist/webgl-utils/get-error.d.ts.map +0 -1
- package/dist/webgl-utils/get-error.js +0 -41
- package/dist/webgl-utils/get-error.js.map +0 -1
- package/dist/webgl-utils/index.d.ts +0 -5
- package/dist/webgl-utils/index.d.ts.map +0 -1
- package/dist/webgl-utils/index.js +0 -5
- package/dist/webgl-utils/index.js.map +0 -1
- package/dist/webgl-utils/parse-shader-compiler-log.d.ts.map +0 -1
- package/dist/webgl-utils/parse-shader-compiler-log.js.map +0 -1
- package/dist/webgl-utils/request-animation-frame.d.ts +0 -4
- package/dist/webgl-utils/request-animation-frame.d.ts.map +0 -1
- package/dist/webgl-utils/request-animation-frame.js +0 -7
- package/dist/webgl-utils/request-animation-frame.js.map +0 -1
- package/dist/webgl-utils/texture-utils.d.ts +0 -15
- package/dist/webgl-utils/texture-utils.d.ts.map +0 -1
- package/dist/webgl-utils/texture-utils.js +0 -48
- package/dist/webgl-utils/texture-utils.js.map +0 -1
- package/dist/webgl-utils/typed-array-utils.d.ts.map +0 -1
- package/dist/webgl-utils/typed-array-utils.js.map +0 -1
- package/src/.DS_Store +0 -0
- package/src/_deprecated/context-api.ts +0 -146
- package/src/_deprecated/features.ts +0 -159
- package/src/adapter/converters/webgpu-texture-formats.ts +0 -167
- package/src/classes/accessor.d.ts +0 -28
- package/src/classes/accessor.js +0 -129
- package/src/classes/accessor.ts.disabled +0 -159
- package/src/classes/clear.ts +0 -108
- package/src/classes/copy-and-blit.ts +0 -460
- package/src/classes/framebuffer.ts +0 -763
- package/src/classes/program-configuration.ts +0 -77
- package/src/classes/program.ts +0 -431
- package/src/classes/query.ts +0 -171
- package/src/classes/renderbuffer.ts +0 -154
- package/src/classes/shader.ts +0 -129
- package/src/classes/texture-2d.ts +0 -35
- package/src/classes/texture-3d.ts +0 -123
- package/src/classes/texture-cube.ts +0 -162
- package/src/classes/texture-formats.ts +0 -171
- package/src/classes/texture.ts +0 -965
- package/src/classes/transform-feedback.ts +0 -191
- package/src/classes/uniform-buffer-layout.ts +0 -113
- package/src/classes/uniforms.ts +0 -394
- package/src/classes/vertex-array-object.ts +0 -339
- package/src/classes/vertex-array.ts +0 -484
- package/src/context/context/get-canvas.ts +0 -37
- package/src/context/context/resize-context.ts +0 -37
- package/src/context/parameters/webgl-parameters.ts +0 -197
- package/src/debug/debug-program-configuration.ts +0 -32
- package/src/debug/debug-uniforms.ts +0 -100
- package/src/debug/debug-vertex-array.ts +0 -123
- package/src/helpers/get-program-bindings.ts +0 -244
- package/src/helpers/program-bindings.ts +0 -46
- package/src/types/accessor.d.ts +0 -29
- package/src/webgl-utils/attribute-utils.ts +0 -171
- package/src/webgl-utils/format-utils.ts +0 -43
- package/src/webgl-utils/get-error.ts +0 -56
- package/src/webgl-utils/index.ts +0 -12
- package/src/webgl-utils/request-animation-frame.ts +0 -14
- package/src/webgl-utils/texture-utils.ts +0 -60
|
@@ -10,14 +10,14 @@ import {deepArrayEqual} from './deep-array-equal';
|
|
|
10
10
|
/* eslint-disable no-shadow */
|
|
11
11
|
class GLState {
|
|
12
12
|
gl: WebGLRenderingContext;
|
|
13
|
-
program = null;
|
|
14
|
-
stateStack = [];
|
|
13
|
+
program: unknown = null;
|
|
14
|
+
stateStack: object[] = [];
|
|
15
15
|
enable = true;
|
|
16
|
-
cache
|
|
16
|
+
cache: Record<string, any>;
|
|
17
17
|
log;
|
|
18
18
|
|
|
19
19
|
constructor(
|
|
20
|
-
gl,
|
|
20
|
+
gl: WebGLRenderingContext,
|
|
21
21
|
{
|
|
22
22
|
copyState = false, // Copy cache from params (slow) or initialize from WebGL defaults (fast)
|
|
23
23
|
log = () => {} // Logging function, called when gl parameter change calls are actually issued
|
|
@@ -50,11 +50,11 @@ class GLState {
|
|
|
50
50
|
* @param values
|
|
51
51
|
* @returns
|
|
52
52
|
*/
|
|
53
|
-
_updateCache(values) {
|
|
53
|
+
_updateCache(values: {[key: number | string]: any}) {
|
|
54
54
|
let valueChanged = false;
|
|
55
55
|
let oldValue; // = undefined
|
|
56
56
|
|
|
57
|
-
const oldValues = this.stateStack.length > 0
|
|
57
|
+
const oldValues: {[key: number | string]: any} | null = this.stateStack.length > 0 ? this.stateStack[this.stateStack.length - 1] : null;
|
|
58
58
|
|
|
59
59
|
for (const key in values) {
|
|
60
60
|
assert(key !== undefined);
|
|
@@ -81,6 +81,11 @@ class GLState {
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
+
function getContextState(gl: WebGLRenderingContext): GLState {
|
|
85
|
+
// @ts-expect-error
|
|
86
|
+
return gl.state as GLState;
|
|
87
|
+
}
|
|
88
|
+
|
|
84
89
|
// PUBLIC API
|
|
85
90
|
|
|
86
91
|
/**
|
|
@@ -127,8 +132,8 @@ class GLState {
|
|
|
127
132
|
installGetterOverride(gl, 'isEnabled');
|
|
128
133
|
}
|
|
129
134
|
|
|
130
|
-
|
|
131
|
-
|
|
135
|
+
const glState = getContextState(gl);
|
|
136
|
+
glState.enable = enable;
|
|
132
137
|
|
|
133
138
|
return gl;
|
|
134
139
|
}
|
|
@@ -137,12 +142,12 @@ class GLState {
|
|
|
137
142
|
* Saves current WebGL context state onto an internal per-context stack
|
|
138
143
|
*/
|
|
139
144
|
export function pushContextState(gl: WebGLRenderingContext): void {
|
|
140
|
-
|
|
141
|
-
if (!
|
|
145
|
+
let glState = getContextState(gl);
|
|
146
|
+
if (!glState) {
|
|
142
147
|
trackContextState(gl, {copyState: false});
|
|
148
|
+
glState = getContextState(gl);
|
|
143
149
|
}
|
|
144
|
-
|
|
145
|
-
gl.state.push();
|
|
150
|
+
glState.push();
|
|
146
151
|
}
|
|
147
152
|
|
|
148
153
|
|
|
@@ -150,10 +155,9 @@ class GLState {
|
|
|
150
155
|
* Restores previously saved WebGL context state
|
|
151
156
|
*/
|
|
152
157
|
export function popContextState(gl: WebGLRenderingContext): void {
|
|
153
|
-
|
|
154
|
-
assert(
|
|
155
|
-
|
|
156
|
-
gl.state.pop();
|
|
158
|
+
const glState = getContextState(gl);
|
|
159
|
+
assert(glState);
|
|
160
|
+
glState.pop();
|
|
157
161
|
}
|
|
158
162
|
|
|
159
163
|
// HELPER FUNCTIONS - INSTALL GET/SET INTERCEPTORS (SPYS) ON THE CONTEXT
|
|
@@ -164,7 +168,7 @@ export function popContextState(gl: WebGLRenderingContext): void {
|
|
|
164
168
|
* @param gl
|
|
165
169
|
* @param functionName
|
|
166
170
|
*/
|
|
167
|
-
function installGetterOverride(gl, functionName) {
|
|
171
|
+
function installGetterOverride(gl: WebGLRenderingContext, functionName: string) {
|
|
168
172
|
// Get the original function from the WebGLRenderingContext
|
|
169
173
|
const originalGetterFunc = gl[functionName].bind(gl);
|
|
170
174
|
|
|
@@ -175,15 +179,16 @@ function installGetterOverride(gl, functionName) {
|
|
|
175
179
|
return originalGetterFunc(pname);
|
|
176
180
|
}
|
|
177
181
|
|
|
178
|
-
|
|
182
|
+
const glState = getContextState(gl);
|
|
183
|
+
if (!(pname in glState.cache)) {
|
|
179
184
|
// WebGL limits are not prepopulated in the cache, call the original getter when first queried.
|
|
180
|
-
|
|
185
|
+
glState.cache[pname] = originalGetterFunc(pname);
|
|
181
186
|
}
|
|
182
187
|
|
|
183
188
|
// Optionally call the original function to do a "hard" query from the WebGLRenderingContext
|
|
184
|
-
return
|
|
189
|
+
return glState.enable
|
|
185
190
|
? // Call the getter the params so that it can e.g. serve from a cache
|
|
186
|
-
|
|
191
|
+
glState.cache[pname]
|
|
187
192
|
: // Optionally call the original function to do a "hard" query from the WebGLRenderingContext
|
|
188
193
|
originalGetterFunc(pname);
|
|
189
194
|
};
|
|
@@ -204,19 +209,21 @@ function installGetterOverride(gl, functionName) {
|
|
|
204
209
|
* @param setter
|
|
205
210
|
* @returns
|
|
206
211
|
*/
|
|
207
|
-
function installSetterSpy(gl, functionName, setter) {
|
|
212
|
+
function installSetterSpy(gl: WebGLRenderingContext, functionName: string, setter) {
|
|
208
213
|
// Get the original function from the WebGLRenderingContext
|
|
209
214
|
if (!gl[functionName]) {
|
|
210
215
|
// This could happen if we try to intercept WebGL2 method on a WebGL1 context
|
|
211
216
|
return;
|
|
212
217
|
}
|
|
218
|
+
|
|
213
219
|
const originalSetterFunc = gl[functionName].bind(gl);
|
|
214
220
|
|
|
215
221
|
// Wrap it with a spy so that we can update our state cache when it gets called
|
|
216
222
|
gl[functionName] = function set(...params) {
|
|
217
223
|
// Update the value
|
|
218
224
|
// Call the setter with the state cache and the params so that it can store the parameters
|
|
219
|
-
const
|
|
225
|
+
const glState = getContextState(gl);
|
|
226
|
+
const {valueChanged, oldValue} = setter(glState._updateCache, ...params);
|
|
220
227
|
|
|
221
228
|
// Call the original WebGLRenderingContext func to make sure the context actually gets updated
|
|
222
229
|
if (valueChanged) {
|
|
@@ -238,13 +245,14 @@ function installSetterSpy(gl, functionName, setter) {
|
|
|
238
245
|
});
|
|
239
246
|
}
|
|
240
247
|
|
|
241
|
-
function installProgramSpy(gl) {
|
|
248
|
+
function installProgramSpy(gl: WebGLRenderingContext): void {
|
|
242
249
|
const originalUseProgram = gl.useProgram.bind(gl);
|
|
243
250
|
|
|
244
251
|
gl.useProgram = function useProgramLuma(handle) {
|
|
245
|
-
|
|
252
|
+
const glState = getContextState(gl);
|
|
253
|
+
if (glState.program !== handle) {
|
|
246
254
|
originalUseProgram(handle);
|
|
247
|
-
|
|
255
|
+
glState.program = handle;
|
|
248
256
|
}
|
|
249
257
|
};
|
|
250
258
|
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type {Device} from '@luma.gl/api';
|
|
2
|
+
import {WebGLDevice} from '../..';
|
|
1
3
|
import {GLParameters, setParameters} from '../parameters/unified-parameter-api';
|
|
2
4
|
import {pushContextState, popContextState} from './track-context-state';
|
|
3
5
|
|
|
@@ -9,10 +11,13 @@ import {pushContextState, popContextState} from './track-context-state';
|
|
|
9
11
|
* - Restores parameters
|
|
10
12
|
* - Returns the return value of the supplied function
|
|
11
13
|
*/
|
|
12
|
-
export function withParameters(
|
|
14
|
+
export function withParameters(device: Device | WebGLRenderingContext, parameters: GLParameters & {nocatch?: boolean}, func: any): any {
|
|
15
|
+
const webglDevice = WebGLDevice.attach(device);
|
|
16
|
+
const gl = webglDevice.gl;
|
|
17
|
+
|
|
13
18
|
if (isObjectEmpty(parameters)) {
|
|
14
19
|
// Avoid setting state if no parameters provided. Just call and return
|
|
15
|
-
return func(
|
|
20
|
+
return func(device);
|
|
16
21
|
}
|
|
17
22
|
|
|
18
23
|
const {nocatch = true} = parameters;
|
package/src/index.ts
CHANGED
|
@@ -5,71 +5,44 @@
|
|
|
5
5
|
// Higher level abstractions can be built on these classes
|
|
6
6
|
|
|
7
7
|
// Initialize any global state
|
|
8
|
-
import '
|
|
8
|
+
import '@luma.gl/api';
|
|
9
|
+
import './init'
|
|
10
|
+
|
|
11
|
+
// Types
|
|
12
|
+
export type {WebGLLimits} from './adapter/device-helpers/device-limits';
|
|
13
|
+
|
|
14
|
+
export {registerHeadlessGL} from './context/context/create-headless-context';
|
|
15
|
+
|
|
16
|
+
// WebGL adapter classes
|
|
17
|
+
export {default as WebGLDevice} from './adapter/webgl-device';
|
|
18
|
+
export {default as WebGLCanvasContext} from './adapter/webgl-canvas-context';
|
|
19
|
+
|
|
20
|
+
// WebGL Resource classes
|
|
21
|
+
export {default as WEBGLResource, default as WebGLResource} from './adapter/objects/webgl-resource';
|
|
22
|
+
export {default as WEBGLBuffer} from './adapter/resources/webgl-buffer';
|
|
23
|
+
export {default as WEBGLTexture} from './adapter/resources/webgl-texture';
|
|
24
|
+
// export {default as WEBGLExternalTexture} from './adapter/resources/webgl-external-texture';
|
|
25
|
+
export {default as WEBGLShader} from './adapter/resources/webgl-shader';
|
|
26
|
+
export {default as WEBGLSampler} from './adapter/resources/webgl-sampler';
|
|
27
|
+
export {default as WEBGLFramebuffer} from './adapter/resources/webgl-framebuffer';
|
|
28
|
+
|
|
29
|
+
export {default as WEBGLRenderPipeline} from './adapter/resources/webgl-render-pipeline';
|
|
30
|
+
// export {default as WEBGLComputePipeline} from './adapter/resources/webgl-compute-pipeline';
|
|
31
|
+
export {default as WEBGLCommandEncoder} from './adapter/resources/webgl-command-encoder';
|
|
32
|
+
export {default as WEBGLRenderPass} from './adapter/resources/webgl-render-pass';
|
|
33
|
+
//export {default as WEBGLComputePass} from './adapter/resources/webgl-compute-pass';
|
|
34
|
+
|
|
35
|
+
// non-api resources
|
|
36
|
+
export type {RenderbufferProps} from './adapter/objects/webgl-renderbuffer';
|
|
37
|
+
export {default as WEBGLRenderbuffer} from './adapter/objects/webgl-renderbuffer';
|
|
38
|
+
export {default as WEBGLVertexArrayObject} from './adapter/objects/webgl-vertex-array-object';
|
|
39
|
+
|
|
40
|
+
// WebGL adapter classes (Legacy, will be moved to gltools)
|
|
41
|
+
export {default as Accessor} from './classic/accessor';
|
|
42
|
+
export type {AccessorObject} from './types';
|
|
43
|
+
export type {ClassicBufferProps, ClassicBufferProps as BufferProps} from './classic/buffer';
|
|
44
|
+
export {default as ClassicBuffer, default as Buffer} from './classic/buffer';
|
|
9
45
|
|
|
10
|
-
// export type {WebGLDeviceProps, WebGLDeviceInfo, WebGPUDeviceLimits} from './lib/webgl-device';
|
|
11
|
-
export type {WebGLDeviceProps} from './adapter/webgl-device';
|
|
12
|
-
export {default as WebGLDevice, getWebGLDevice} from './adapter/webgl-device';
|
|
13
|
-
|
|
14
|
-
// UTILS
|
|
15
|
-
export {requestAnimationFrame, cancelAnimationFrame} from './webgl-utils/request-animation-frame';
|
|
16
|
-
|
|
17
|
-
// WebGL Functions
|
|
18
|
-
export {cloneTextureFrom} from './webgl-utils/texture-utils';
|
|
19
|
-
export {getKeyValue, getKey} from './webgl-utils/constants-to-keys';
|
|
20
|
-
|
|
21
|
-
// WebGL Helper Classes
|
|
22
|
-
export {default as Accessor} from './classes/accessor';
|
|
23
|
-
|
|
24
|
-
// WebGL1 classes
|
|
25
|
-
export type {BufferProps} from '@luma.gl/api';
|
|
26
|
-
export {default as Buffer} from './classes/webgl-buffer';
|
|
27
|
-
export type {Texture2DProps} from './classes/texture-2d';
|
|
28
|
-
export {default as Texture2D} from './classes/texture-2d';
|
|
29
|
-
export type {TextureCubeProps} from './classes/texture-cube';
|
|
30
|
-
export {default as TextureCube} from './classes/texture-cube';
|
|
31
|
-
|
|
32
|
-
export type {ProgramProps} from './classes/program';
|
|
33
|
-
export {default as Program} from './classes/program';
|
|
34
|
-
export type {FramebufferProps} from './classes/framebuffer';
|
|
35
|
-
export {default as Framebuffer} from './classes/framebuffer';
|
|
36
|
-
export type {RenderbufferProps} from './classes/renderbuffer';
|
|
37
|
-
export {default as Renderbuffer} from './classes/renderbuffer';
|
|
38
|
-
|
|
39
|
-
// Classic luma.gl classes (For backwards compatibility)
|
|
40
|
-
export type {ShaderProps} from './classes/shader';
|
|
41
|
-
export {Shader, VertexShader, FragmentShader} from './classes/shader';
|
|
42
|
-
|
|
43
|
-
export {clear, clearBuffer} from './classes/clear';
|
|
44
|
-
|
|
45
|
-
// Copy and Blit
|
|
46
|
-
export {
|
|
47
|
-
readPixelsToArray,
|
|
48
|
-
readPixelsToBuffer,
|
|
49
|
-
copyToDataUrl,
|
|
50
|
-
copyToImage,
|
|
51
|
-
copyToTexture,
|
|
52
|
-
blit
|
|
53
|
-
} from './classes/copy-and-blit';
|
|
54
|
-
|
|
55
|
-
// WebGL2 classes & Extensions
|
|
56
|
-
export type {QueryProps} from './classes/query';
|
|
57
|
-
export {default as Query} from './classes/query';
|
|
58
|
-
export type {Texture3DProps} from './classes/texture-3d';
|
|
59
|
-
export {default as Texture3D} from './classes/texture-3d';
|
|
60
|
-
export type {TransformFeedbackProps} from './classes/transform-feedback';
|
|
61
|
-
export {default as TransformFeedback} from './classes/transform-feedback';
|
|
62
|
-
export type {VertexArrayObjectProps} from './classes/vertex-array-object';
|
|
63
|
-
export {default as VertexArrayObject} from './classes/vertex-array-object';
|
|
64
|
-
export type {VertexArrayProps} from './classes/vertex-array';
|
|
65
|
-
export {default as VertexArray} from './classes/vertex-array';
|
|
66
|
-
export {default as UniformBufferLayout} from './classes/uniform-buffer-layout';
|
|
67
|
-
|
|
68
|
-
export {setDeviceParameters} from './adapter/converters/set-device-parameters';
|
|
69
|
-
|
|
70
|
-
// experimental WebGL exports
|
|
71
|
-
|
|
72
|
-
// UTILS
|
|
73
46
|
export {
|
|
74
47
|
isWebGL,
|
|
75
48
|
isWebGL2,
|
|
@@ -83,7 +56,9 @@ export {cssToDeviceRatio, cssToDevicePixels} from './context/context/device-pixe
|
|
|
83
56
|
|
|
84
57
|
// Unified parameter API
|
|
85
58
|
|
|
86
|
-
export
|
|
59
|
+
export {setDeviceParameters, withDeviceParameters} from './adapter/converters/device-parameters';
|
|
60
|
+
|
|
61
|
+
export type {GLParameters} from './types/webgl';
|
|
87
62
|
export {
|
|
88
63
|
getParameters,
|
|
89
64
|
setParameters,
|
|
@@ -104,41 +79,6 @@ export {
|
|
|
104
79
|
// Polyfills (supports a subset of WebGL2 APIs on WebGL1 contexts)
|
|
105
80
|
export {polyfillContext} from './context/polyfill/polyfill-context';
|
|
106
81
|
|
|
107
|
-
// INTERNAL
|
|
108
|
-
export {parseUniformName, getUniformSetter} from './classes/uniforms';
|
|
109
|
-
export {getDebugTableForUniforms} from './debug/debug-uniforms';
|
|
110
|
-
export {getDebugTableForVertexArray} from './debug/debug-vertex-array';
|
|
111
|
-
export {getDebugTableForProgramConfiguration} from './debug/debug-program-configuration';
|
|
112
|
-
|
|
113
82
|
// HELPERS - EXPERIMENTAL
|
|
114
|
-
export {getProgramBindings} from './helpers/get-
|
|
115
|
-
|
|
116
|
-
// DEPRECATED
|
|
117
|
-
|
|
118
|
-
// Deprecated re-exports
|
|
119
|
-
export {lumaStats} from './init';
|
|
120
|
-
export {log, assert, uid, isObjectEmpty} from '@luma.gl/api';
|
|
121
|
-
export {setPathPrefix, loadFile, loadImage} from '@luma.gl/api';
|
|
122
|
-
|
|
123
|
-
// GLTOOLS
|
|
124
|
-
export type {GLContextOptions} from './_deprecated/context-api';
|
|
125
|
-
export {
|
|
126
|
-
createGLContext,
|
|
127
|
-
instrumentGLContext,
|
|
128
|
-
resizeGLContext,
|
|
129
|
-
hasFeature,
|
|
130
|
-
hasFeatures,
|
|
131
|
-
getFeatures,
|
|
132
|
-
getContextInfo,
|
|
133
|
-
getGLContextInfo,
|
|
134
|
-
getContextLimits,
|
|
135
|
-
getContextDebugInfo
|
|
136
|
-
} from './_deprecated/context-api';
|
|
137
|
-
|
|
138
|
-
// Features
|
|
139
|
-
export {DEPRECATED_FEATURES as FEATURES} from './_deprecated/features';
|
|
140
|
-
|
|
141
|
-
// REMOVED in v8.7
|
|
142
|
-
// getShaderInfo,
|
|
143
|
-
// getShaderName
|
|
144
|
-
// getShaderVersion
|
|
83
|
+
export {getShaderLayout, getProgramBindings} from './adapter/helpers/get-shader-layout';
|
|
84
|
+
export {_checkFloat32ColorAttachment} from './adapter/converters/texture-formats';
|
package/src/init.ts
CHANGED
|
@@ -1,48 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {isBrowser} from '@probe.gl/env';
|
|
3
|
-
import {luma, lumaStats} from '@luma.gl/api';
|
|
1
|
+
import {luma} from '@luma.gl/api';
|
|
4
2
|
import WebGLDevice from './adapter/webgl-device';
|
|
5
3
|
|
|
6
|
-
|
|
7
|
-
// @ts-expect-error
|
|
8
|
-
const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'untranspiled source';
|
|
9
|
-
|
|
10
|
-
const STARTUP_MESSAGE = 'set luma.log.level=1 (or higher) to trace rendering';
|
|
11
|
-
// Assign luma.log.level in console to control logging: \
|
|
12
|
-
// 0: none, 1: minimal, 2: verbose, 3: attribute/uniforms, 4: gl logs
|
|
13
|
-
// luma.log.break[], set to gl funcs, luma.log.profile[] set to model names`;
|
|
14
|
-
|
|
15
|
-
if (globalThis.luma && globalThis.luma.VERSION !== VERSION) {
|
|
16
|
-
throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${VERSION}`);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
if (!globalThis.luma) {
|
|
20
|
-
luma.registerDevices([WebGLDevice]);
|
|
21
|
-
|
|
22
|
-
if (isBrowser()) {
|
|
23
|
-
log.log(1, `luma.gl ${VERSION} - ${STARTUP_MESSAGE}`)();
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
globalThis.luma = globalThis.luma || {
|
|
27
|
-
VERSION,
|
|
28
|
-
version: VERSION,
|
|
29
|
-
log,
|
|
30
|
-
|
|
31
|
-
// A global stats object that various components can add information to
|
|
32
|
-
// E.g. see webgl/resource.js
|
|
33
|
-
stats: lumaStats,
|
|
34
|
-
|
|
35
|
-
// Keep some luma globals in a sub-object
|
|
36
|
-
// This allows us to dynamically detect if certain modules have been
|
|
37
|
-
// included (such as IO and headless) and enable related functionality,
|
|
38
|
-
// without unconditionally requiring and thus bundling big dependencies
|
|
39
|
-
// into the app.
|
|
40
|
-
globals: {
|
|
41
|
-
modules: {},
|
|
42
|
-
nodeIO: {}
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export {lumaStats};
|
|
48
|
-
export default globalThis.luma;
|
|
4
|
+
luma.registerDevices([WebGLDevice]);
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
import type {NumberArray} from '@luma.gl/api';
|
|
2
|
+
import GL from '@luma.gl/constants';
|
|
3
|
+
|
|
4
|
+
type Framebuffer = any;
|
|
5
|
+
|
|
6
|
+
export type GLDrawMode =
|
|
7
|
+
| GL.POINTS
|
|
8
|
+
| GL.LINES
|
|
9
|
+
| GL.LINE_STRIP
|
|
10
|
+
| GL.LINE_LOOP
|
|
11
|
+
| GL.TRIANGLES
|
|
12
|
+
| GL.TRIANGLE_STRIP
|
|
13
|
+
| GL.TRIANGLE_FAN;
|
|
14
|
+
|
|
15
|
+
export type GLPrimitive = GL.POINTS | GL.LINES | GL.TRIANGLES;
|
|
16
|
+
|
|
17
|
+
export type GLType =
|
|
18
|
+
| GL.FLOAT
|
|
19
|
+
| GL.UNSIGNED_SHORT
|
|
20
|
+
| GL.UNSIGNED_INT
|
|
21
|
+
| GL.UNSIGNED_BYTE
|
|
22
|
+
| GL.BYTE
|
|
23
|
+
| GL.SHORT
|
|
24
|
+
| GL.INT;
|
|
25
|
+
|
|
26
|
+
export type GLPackedType =
|
|
27
|
+
| GL.UNSIGNED_SHORT_5_6_5
|
|
28
|
+
| GL.UNSIGNED_SHORT_4_4_4_4
|
|
29
|
+
| GL.UNSIGNED_SHORT_5_5_5_1;
|
|
30
|
+
|
|
31
|
+
export type GLUniformType = GLSamplerType | GLCompositeType;
|
|
32
|
+
|
|
33
|
+
export type GLSamplerType =
|
|
34
|
+
| GL.SAMPLER_2D
|
|
35
|
+
| GL.SAMPLER_CUBE
|
|
36
|
+
| GL.SAMPLER_3D
|
|
37
|
+
| GL.SAMPLER_2D_SHADOW
|
|
38
|
+
| GL.SAMPLER_2D_ARRAY
|
|
39
|
+
| GL.SAMPLER_2D_ARRAY_SHADOW
|
|
40
|
+
| GL.SAMPLER_CUBE_SHADOW
|
|
41
|
+
| GL.INT_SAMPLER_2D
|
|
42
|
+
| GL.INT_SAMPLER_3D
|
|
43
|
+
| GL.INT_SAMPLER_CUBE
|
|
44
|
+
| GL.INT_SAMPLER_2D_ARRAY
|
|
45
|
+
| GL.UNSIGNED_INT_SAMPLER_2D
|
|
46
|
+
| GL.UNSIGNED_INT_SAMPLER_3D
|
|
47
|
+
| GL.UNSIGNED_INT_SAMPLER_CUBE
|
|
48
|
+
| GL.UNSIGNED_INT_SAMPLER_2D_ARRAY;
|
|
49
|
+
|
|
50
|
+
// Composite types table
|
|
51
|
+
export type GLCompositeType =
|
|
52
|
+
| GL.FLOAT
|
|
53
|
+
| GL.FLOAT_VEC2
|
|
54
|
+
| GL.FLOAT_VEC3
|
|
55
|
+
| GL.FLOAT_VEC4
|
|
56
|
+
| GL.INT
|
|
57
|
+
| GL.INT_VEC2
|
|
58
|
+
| GL.INT_VEC3
|
|
59
|
+
| GL.INT_VEC4
|
|
60
|
+
| GL.UNSIGNED_INT
|
|
61
|
+
| GL.UNSIGNED_INT_VEC2
|
|
62
|
+
| GL.UNSIGNED_INT_VEC3
|
|
63
|
+
| GL.UNSIGNED_INT_VEC4
|
|
64
|
+
| GL.BOOL
|
|
65
|
+
| GL.BOOL_VEC2
|
|
66
|
+
| GL.BOOL_VEC3
|
|
67
|
+
| GL.BOOL_VEC4
|
|
68
|
+
| GL.FLOAT_MAT2
|
|
69
|
+
| GL.FLOAT_MAT2x3
|
|
70
|
+
| GL.FLOAT_MAT2x4
|
|
71
|
+
| GL.FLOAT_MAT3x2
|
|
72
|
+
| GL.FLOAT_MAT3
|
|
73
|
+
| GL.FLOAT_MAT3x4
|
|
74
|
+
| GL.FLOAT_MAT4x2
|
|
75
|
+
| GL.FLOAT_MAT4x3
|
|
76
|
+
| GL.FLOAT_MAT4;
|
|
77
|
+
|
|
78
|
+
export type GLFunction =
|
|
79
|
+
| GL.NEVER
|
|
80
|
+
| GL.LESS
|
|
81
|
+
| GL.EQUAL
|
|
82
|
+
| GL.LEQUAL
|
|
83
|
+
| GL.GREATER
|
|
84
|
+
| GL.NOTEQUAL
|
|
85
|
+
| GL.GEQUAL
|
|
86
|
+
| GL.ALWAYS;
|
|
87
|
+
|
|
88
|
+
export type GLBlendEquation =
|
|
89
|
+
| GL.FUNC_ADD
|
|
90
|
+
| GL.FUNC_SUBTRACT
|
|
91
|
+
| GL.FUNC_REVERSE_SUBTRACT
|
|
92
|
+
| GL.MIN_EXT
|
|
93
|
+
| GL.MAX_EXT;
|
|
94
|
+
|
|
95
|
+
export type GLBlendFunction =
|
|
96
|
+
| GL.ZERO
|
|
97
|
+
| GL.ONE
|
|
98
|
+
| GL.SRC_COLOR
|
|
99
|
+
| GL.ONE_MINUS_SRC_COLOR
|
|
100
|
+
| GL.DST_COLOR
|
|
101
|
+
| GL.ONE_MINUS_DST_COLOR
|
|
102
|
+
| GL.SRC_ALPHA
|
|
103
|
+
| GL.ONE_MINUS_SRC_ALPHA
|
|
104
|
+
| GL.DST_ALPHA
|
|
105
|
+
| GL.ONE_MINUS_DST_ALPHA
|
|
106
|
+
| GL.CONSTANT_COLOR
|
|
107
|
+
| GL.ONE_MINUS_CONSTANT_COLOR
|
|
108
|
+
| GL.CONSTANT_ALPHA
|
|
109
|
+
| GL.ONE_MINUS_CONSTANT_ALPHA
|
|
110
|
+
| GL.SRC_ALPHA_SATURATE;
|
|
111
|
+
|
|
112
|
+
export type GLStencilOp =
|
|
113
|
+
| GL.KEEP
|
|
114
|
+
| GL.ZERO
|
|
115
|
+
| GL.REPLACE
|
|
116
|
+
| GL.INCR
|
|
117
|
+
| GL.INCR_WRAP
|
|
118
|
+
| GL.DECR
|
|
119
|
+
| GL.DECR_WRAP
|
|
120
|
+
| GL.INVERT;
|
|
121
|
+
|
|
122
|
+
/** Parameters for textures and samplers */
|
|
123
|
+
export type GLSamplerParameters = {
|
|
124
|
+
[GL.TEXTURE_WRAP_S]?: GL.CLAMP_TO_EDGE | GL.REPEAT | GL.MIRRORED_REPEAT;
|
|
125
|
+
[GL.TEXTURE_WRAP_T]?: GL.CLAMP_TO_EDGE | GL.REPEAT | GL.MIRRORED_REPEAT;
|
|
126
|
+
[GL.TEXTURE_WRAP_R]?: GL.CLAMP_TO_EDGE | GL.REPEAT | GL.MIRRORED_REPEAT;
|
|
127
|
+
[GL.TEXTURE_MAG_FILTER]?: GL.NEAREST | GL.LINEAR;
|
|
128
|
+
[GL.TEXTURE_MIN_FILTER]?:
|
|
129
|
+
| GL.NEAREST
|
|
130
|
+
| GL.LINEAR
|
|
131
|
+
| GL.NEAREST_MIPMAP_NEAREST
|
|
132
|
+
| GL.NEAREST_MIPMAP_LINEAR
|
|
133
|
+
| GL.LINEAR_MIPMAP_NEAREST
|
|
134
|
+
| GL.LINEAR_MIPMAP_LINEAR;
|
|
135
|
+
[GL.TEXTURE_MIN_LOD]?: number;
|
|
136
|
+
[GL.TEXTURE_MAX_LOD]?: number;
|
|
137
|
+
[GL.TEXTURE_COMPARE_FUNC]?: number; // COMPARE_FUNC);
|
|
138
|
+
[GL.TEXTURE_COMPARE_MODE]?: GL.COMPARE_REF_TO_TEXTURE;
|
|
139
|
+
[GL.TEXTURE_MAX_ANISOTROPY_EXT]?: number; //
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* All global WebGL values set by a variety of setter gl.enable ...
|
|
144
|
+
*/
|
|
145
|
+
export type GLValueParameters = {
|
|
146
|
+
[GL.BLEND]?: boolean;
|
|
147
|
+
[GL.BLEND_COLOR]?: [number, number, number, number] | NumberArray;
|
|
148
|
+
[GL.BLEND_EQUATION_RGB]?: GLBlendEquation;
|
|
149
|
+
[GL.BLEND_EQUATION_ALPHA]?: GLBlendEquation;
|
|
150
|
+
[GL.BLEND_SRC_RGB]?: GLBlendFunction;
|
|
151
|
+
[GL.BLEND_DST_RGB]?: GLBlendFunction;
|
|
152
|
+
[GL.BLEND_SRC_ALPHA]?: GLBlendFunction;
|
|
153
|
+
[GL.BLEND_DST_ALPHA]?: GLBlendFunction;
|
|
154
|
+
[GL.COLOR_CLEAR_VALUE]?: [number, number, number, number] | NumberArray;
|
|
155
|
+
[GL.COLOR_WRITEMASK]?: [boolean, boolean, boolean, boolean] | boolean[];
|
|
156
|
+
[GL.CULL_FACE]?: boolean;
|
|
157
|
+
[GL.CULL_FACE_MODE]?: GL.FRONT | GL.BACK | GL.FRONT_AND_BACK;
|
|
158
|
+
[GL.DEPTH_TEST]?: boolean;
|
|
159
|
+
[GL.DEPTH_CLEAR_VALUE]?: number;
|
|
160
|
+
[GL.DEPTH_FUNC]?: GLFunction;
|
|
161
|
+
[GL.DEPTH_RANGE]?: [number, number] | NumberArray;
|
|
162
|
+
[GL.DEPTH_WRITEMASK]?: boolean;
|
|
163
|
+
[GL.DITHER]?: boolean;
|
|
164
|
+
[GL.FRAGMENT_SHADER_DERIVATIVE_HINT]?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;
|
|
165
|
+
[GL.CURRENT_PROGRAM]?: WebGLProgram | null;
|
|
166
|
+
[GL.FRAMEBUFFER_BINDING]?: WebGLFramebuffer | null;
|
|
167
|
+
[GL.RENDERBUFFER_BINDING]?: WebGLRenderbuffer | null;
|
|
168
|
+
[GL.TRANSFORM_FEEDBACK_BINDING]?: WebGLTransformFeedback | null;
|
|
169
|
+
[GL.VERTEX_ARRAY_BINDING]?: WebGLVertexArrayObject | null;
|
|
170
|
+
[GL.ARRAY_BUFFER_BINDING]?: WebGLBuffer | null;
|
|
171
|
+
[GL.COPY_READ_BUFFER_BINDING]?: WebGLBuffer | null;
|
|
172
|
+
[GL.COPY_WRITE_BUFFER_BINDING]?: WebGLBuffer | null;
|
|
173
|
+
[GL.PIXEL_PACK_BUFFER_BINDING]?: WebGLBuffer | null;
|
|
174
|
+
[GL.PIXEL_UNPACK_BUFFER_BINDING]?: WebGLBuffer | null;
|
|
175
|
+
[GL.TEXTURE_BINDING_2D]?: WebGLTexture | null;
|
|
176
|
+
[GL.TEXTURE_BINDING_2D_ARRAY]?: WebGLTexture | null;
|
|
177
|
+
[GL.TEXTURE_BINDING_3D]?: WebGLTexture | null;
|
|
178
|
+
[GL.TEXTURE_BINDING_CUBE_MAP]?: WebGLTexture | null;
|
|
179
|
+
[GL.FRONT_FACE]?: GL.CW | GL.CCW;
|
|
180
|
+
[GL.GENERATE_MIPMAP_HINT]?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;
|
|
181
|
+
[GL.LINE_WIDTH]?: number;
|
|
182
|
+
[GL.POLYGON_OFFSET_FILL]?: boolean;
|
|
183
|
+
[GL.POLYGON_OFFSET_FACTOR]?: number;
|
|
184
|
+
[GL.POLYGON_OFFSET_UNITS]?: number;
|
|
185
|
+
[GL.SAMPLE_ALPHA_TO_COVERAGE]?: boolean;
|
|
186
|
+
[GL.SAMPLE_COVERAGE]?: boolean;
|
|
187
|
+
[GL.RASTERIZER_DISCARD]?: boolean;
|
|
188
|
+
[GL.SAMPLE_COVERAGE_VALUE]?: number;
|
|
189
|
+
[GL.SAMPLE_COVERAGE_INVERT]?: boolean;
|
|
190
|
+
[GL.SCISSOR_TEST]?: boolean;
|
|
191
|
+
[GL.SCISSOR_BOX]?: [number, number, number, number] | NumberArray;
|
|
192
|
+
[GL.STENCIL_TEST]?: boolean;
|
|
193
|
+
[GL.STENCIL_CLEAR_VALUE]?: number;
|
|
194
|
+
[GL.STENCIL_WRITEMASK]?: number;
|
|
195
|
+
[GL.STENCIL_BACK_WRITEMASK]?: number;
|
|
196
|
+
[GL.STENCIL_FUNC]?: GLFunction;
|
|
197
|
+
[GL.STENCIL_REF]?: GLFunction;
|
|
198
|
+
[GL.STENCIL_VALUE_MASK]?: GLFunction;
|
|
199
|
+
[GL.STENCIL_BACK_FUNC]?: GLFunction;
|
|
200
|
+
[GL.STENCIL_BACK_REF]?: GLFunction;
|
|
201
|
+
[GL.STENCIL_BACK_VALUE_MASK]?: GLFunction;
|
|
202
|
+
[GL.STENCIL_FAIL]?: GLStencilOp;
|
|
203
|
+
[GL.STENCIL_PASS_DEPTH_FAIL]?: GLStencilOp;
|
|
204
|
+
[GL.STENCIL_PASS_DEPTH_PASS]?: GLStencilOp;
|
|
205
|
+
[GL.STENCIL_BACK_FAIL]?: GLStencilOp;
|
|
206
|
+
[GL.STENCIL_BACK_PASS_DEPTH_FAIL]?: GLStencilOp;
|
|
207
|
+
[GL.STENCIL_BACK_PASS_DEPTH_PASS]?: GLStencilOp;
|
|
208
|
+
[GL.VIEWPORT]?: [number, number, number, number] | NumberArray;
|
|
209
|
+
|
|
210
|
+
// WEBGL1 PIXEL PACK/UNPACK MODES
|
|
211
|
+
[GL.PACK_ALIGNMENT]?: number;
|
|
212
|
+
[GL.UNPACK_ALIGNMENT]?: number;
|
|
213
|
+
[GL.UNPACK_FLIP_Y_WEBGL]?: boolean;
|
|
214
|
+
[GL.UNPACK_PREMULTIPLY_ALPHA_WEBGL]?: boolean;
|
|
215
|
+
[GL.UNPACK_COLORSPACE_CONVERSION_WEBGL]?: GL.NONE | GL.BROWSER_DEFAULT_WEBGL;
|
|
216
|
+
|
|
217
|
+
// WEBGL2 PIXEL PACK/UNPACK MODES
|
|
218
|
+
// RASTERIZER_DISCARD ...
|
|
219
|
+
[GL.PACK_ROW_LENGTH]?: number;
|
|
220
|
+
[GL.PACK_SKIP_PIXELS]?: number;
|
|
221
|
+
[GL.PACK_SKIP_ROWS]?: number;
|
|
222
|
+
[GL.READ_FRAMEBUFFER_BINDING]?: Framebuffer | null;
|
|
223
|
+
[GL.UNPACK_ROW_LENGTH]?: number;
|
|
224
|
+
[GL.UNPACK_IMAGE_HEIGHT]?: number;
|
|
225
|
+
[GL.UNPACK_SKIP_PIXELS]?: number;
|
|
226
|
+
[GL.UNPACK_SKIP_ROWS]?: number;
|
|
227
|
+
[GL.UNPACK_SKIP_IMAGES]?: number;
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
export type GLFunctionParameters = {
|
|
231
|
+
// Function-style setters
|
|
232
|
+
framebuffer?: Framebuffer | null;
|
|
233
|
+
blend?: boolean;
|
|
234
|
+
blendColor?: [number, number, number, number] | NumberArray;
|
|
235
|
+
blendEquation?: GLBlendEquation | [GLBlendEquation, GLBlendEquation];
|
|
236
|
+
blendFunc?:
|
|
237
|
+
| [GLBlendFunction, GLBlendFunction]
|
|
238
|
+
| [GLBlendFunction, GLBlendFunction, GLBlendFunction, GLBlendFunction];
|
|
239
|
+
|
|
240
|
+
clearColor?: [number, number, number, number] | NumberArray;
|
|
241
|
+
clearDepth?: number;
|
|
242
|
+
clearStencil?: number;
|
|
243
|
+
|
|
244
|
+
colorMask?: [boolean, boolean, boolean, boolean] | boolean[];
|
|
245
|
+
|
|
246
|
+
cull?: boolean;
|
|
247
|
+
cullFace?: GL.FRONT | GL.BACK | GL.FRONT_AND_BACK;
|
|
248
|
+
|
|
249
|
+
depthTest?: boolean;
|
|
250
|
+
depthFunc?: GLFunction;
|
|
251
|
+
depthMask?: boolean;
|
|
252
|
+
depthRange?: [number, number] | NumberArray;
|
|
253
|
+
|
|
254
|
+
dither?: boolean;
|
|
255
|
+
|
|
256
|
+
derivativeHint?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;
|
|
257
|
+
|
|
258
|
+
frontFace?: GL.CW | GL.CCW;
|
|
259
|
+
|
|
260
|
+
mipmapHint?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;
|
|
261
|
+
|
|
262
|
+
lineWidth?: number;
|
|
263
|
+
|
|
264
|
+
polygonOffsetFill?: boolean;
|
|
265
|
+
polygonOffset?: [number, number];
|
|
266
|
+
|
|
267
|
+
sampleCoverage?: [number, boolean];
|
|
268
|
+
|
|
269
|
+
scissorTest?: boolean;
|
|
270
|
+
scissor?: [number, number, number, number] | NumberArray;
|
|
271
|
+
|
|
272
|
+
stencilTest?: boolean;
|
|
273
|
+
stencilMask?: number | [number, number];
|
|
274
|
+
stencilFunc?:
|
|
275
|
+
| [GLFunction, number, number]
|
|
276
|
+
| [GLFunction, number, number, GLFunction, number, number];
|
|
277
|
+
stencilOp?:
|
|
278
|
+
| [GLStencilOp, GLStencilOp, GLStencilOp]
|
|
279
|
+
| [GLStencilOp, GLStencilOp, GLStencilOp, GLStencilOp, GLStencilOp, GLStencilOp];
|
|
280
|
+
viewport?: [number, number, number, number] | NumberArray;
|
|
281
|
+
};
|
|
282
|
+
|
|
283
|
+
/** WebGL style parameters object (with both GL constants and function style fields) */
|
|
284
|
+
export type GLParameters = GLValueParameters & GLFunctionParameters;
|