@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
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import type { NumberArray } from '@luma.gl/api';
|
|
2
|
+
import GL from '@luma.gl/constants';
|
|
3
|
+
declare type Framebuffer = any;
|
|
4
|
+
export declare type GLDrawMode = GL.POINTS | GL.LINES | GL.LINE_STRIP | GL.LINE_LOOP | GL.TRIANGLES | GL.TRIANGLE_STRIP | GL.TRIANGLE_FAN;
|
|
5
|
+
export declare type GLPrimitive = GL.POINTS | GL.LINES | GL.TRIANGLES;
|
|
6
|
+
export declare type GLType = GL.FLOAT | GL.UNSIGNED_SHORT | GL.UNSIGNED_INT | GL.UNSIGNED_BYTE | GL.BYTE | GL.SHORT | GL.INT;
|
|
7
|
+
export declare type GLPackedType = GL.UNSIGNED_SHORT_5_6_5 | GL.UNSIGNED_SHORT_4_4_4_4 | GL.UNSIGNED_SHORT_5_5_5_1;
|
|
8
|
+
export declare type GLUniformType = GLSamplerType | GLCompositeType;
|
|
9
|
+
export declare type GLSamplerType = GL.SAMPLER_2D | GL.SAMPLER_CUBE | GL.SAMPLER_3D | GL.SAMPLER_2D_SHADOW | GL.SAMPLER_2D_ARRAY | GL.SAMPLER_2D_ARRAY_SHADOW | GL.SAMPLER_CUBE_SHADOW | GL.INT_SAMPLER_2D | GL.INT_SAMPLER_3D | GL.INT_SAMPLER_CUBE | GL.INT_SAMPLER_2D_ARRAY | GL.UNSIGNED_INT_SAMPLER_2D | GL.UNSIGNED_INT_SAMPLER_3D | GL.UNSIGNED_INT_SAMPLER_CUBE | GL.UNSIGNED_INT_SAMPLER_2D_ARRAY;
|
|
10
|
+
export declare type GLCompositeType = GL.FLOAT | GL.FLOAT_VEC2 | GL.FLOAT_VEC3 | GL.FLOAT_VEC4 | GL.INT | GL.INT_VEC2 | GL.INT_VEC3 | GL.INT_VEC4 | GL.UNSIGNED_INT | GL.UNSIGNED_INT_VEC2 | GL.UNSIGNED_INT_VEC3 | GL.UNSIGNED_INT_VEC4 | GL.BOOL | GL.BOOL_VEC2 | GL.BOOL_VEC3 | GL.BOOL_VEC4 | GL.FLOAT_MAT2 | GL.FLOAT_MAT2x3 | GL.FLOAT_MAT2x4 | GL.FLOAT_MAT3x2 | GL.FLOAT_MAT3 | GL.FLOAT_MAT3x4 | GL.FLOAT_MAT4x2 | GL.FLOAT_MAT4x3 | GL.FLOAT_MAT4;
|
|
11
|
+
export declare type GLFunction = GL.NEVER | GL.LESS | GL.EQUAL | GL.LEQUAL | GL.GREATER | GL.NOTEQUAL | GL.GEQUAL | GL.ALWAYS;
|
|
12
|
+
export declare type GLBlendEquation = GL.FUNC_ADD | GL.FUNC_SUBTRACT | GL.FUNC_REVERSE_SUBTRACT | GL.MIN_EXT | GL.MAX_EXT;
|
|
13
|
+
export declare type GLBlendFunction = GL.ZERO | GL.ONE | GL.SRC_COLOR | GL.ONE_MINUS_SRC_COLOR | GL.DST_COLOR | GL.ONE_MINUS_DST_COLOR | GL.SRC_ALPHA | GL.ONE_MINUS_SRC_ALPHA | GL.DST_ALPHA | GL.ONE_MINUS_DST_ALPHA | GL.CONSTANT_COLOR | GL.ONE_MINUS_CONSTANT_COLOR | GL.CONSTANT_ALPHA | GL.ONE_MINUS_CONSTANT_ALPHA | GL.SRC_ALPHA_SATURATE;
|
|
14
|
+
export declare type GLStencilOp = GL.KEEP | GL.ZERO | GL.REPLACE | GL.INCR | GL.INCR_WRAP | GL.DECR | GL.DECR_WRAP | GL.INVERT;
|
|
15
|
+
/** Parameters for textures and samplers */
|
|
16
|
+
export declare type GLSamplerParameters = {
|
|
17
|
+
[GL.TEXTURE_WRAP_S]?: GL.CLAMP_TO_EDGE | GL.REPEAT | GL.MIRRORED_REPEAT;
|
|
18
|
+
[GL.TEXTURE_WRAP_T]?: GL.CLAMP_TO_EDGE | GL.REPEAT | GL.MIRRORED_REPEAT;
|
|
19
|
+
[GL.TEXTURE_WRAP_R]?: GL.CLAMP_TO_EDGE | GL.REPEAT | GL.MIRRORED_REPEAT;
|
|
20
|
+
[GL.TEXTURE_MAG_FILTER]?: GL.NEAREST | GL.LINEAR;
|
|
21
|
+
[GL.TEXTURE_MIN_FILTER]?: GL.NEAREST | GL.LINEAR | GL.NEAREST_MIPMAP_NEAREST | GL.NEAREST_MIPMAP_LINEAR | GL.LINEAR_MIPMAP_NEAREST | GL.LINEAR_MIPMAP_LINEAR;
|
|
22
|
+
[GL.TEXTURE_MIN_LOD]?: number;
|
|
23
|
+
[GL.TEXTURE_MAX_LOD]?: number;
|
|
24
|
+
[GL.TEXTURE_COMPARE_FUNC]?: number;
|
|
25
|
+
[GL.TEXTURE_COMPARE_MODE]?: GL.COMPARE_REF_TO_TEXTURE;
|
|
26
|
+
[GL.TEXTURE_MAX_ANISOTROPY_EXT]?: number;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* All global WebGL values set by a variety of setter gl.enable ...
|
|
30
|
+
*/
|
|
31
|
+
export declare type GLValueParameters = {
|
|
32
|
+
[GL.BLEND]?: boolean;
|
|
33
|
+
[GL.BLEND_COLOR]?: [number, number, number, number] | NumberArray;
|
|
34
|
+
[GL.BLEND_EQUATION_RGB]?: GLBlendEquation;
|
|
35
|
+
[GL.BLEND_EQUATION_ALPHA]?: GLBlendEquation;
|
|
36
|
+
[GL.BLEND_SRC_RGB]?: GLBlendFunction;
|
|
37
|
+
[GL.BLEND_DST_RGB]?: GLBlendFunction;
|
|
38
|
+
[GL.BLEND_SRC_ALPHA]?: GLBlendFunction;
|
|
39
|
+
[GL.BLEND_DST_ALPHA]?: GLBlendFunction;
|
|
40
|
+
[GL.COLOR_CLEAR_VALUE]?: [number, number, number, number] | NumberArray;
|
|
41
|
+
[GL.COLOR_WRITEMASK]?: [boolean, boolean, boolean, boolean] | boolean[];
|
|
42
|
+
[GL.CULL_FACE]?: boolean;
|
|
43
|
+
[GL.CULL_FACE_MODE]?: GL.FRONT | GL.BACK | GL.FRONT_AND_BACK;
|
|
44
|
+
[GL.DEPTH_TEST]?: boolean;
|
|
45
|
+
[GL.DEPTH_CLEAR_VALUE]?: number;
|
|
46
|
+
[GL.DEPTH_FUNC]?: GLFunction;
|
|
47
|
+
[GL.DEPTH_RANGE]?: [number, number] | NumberArray;
|
|
48
|
+
[GL.DEPTH_WRITEMASK]?: boolean;
|
|
49
|
+
[GL.DITHER]?: boolean;
|
|
50
|
+
[GL.FRAGMENT_SHADER_DERIVATIVE_HINT]?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;
|
|
51
|
+
[GL.CURRENT_PROGRAM]?: WebGLProgram | null;
|
|
52
|
+
[GL.FRAMEBUFFER_BINDING]?: WebGLFramebuffer | null;
|
|
53
|
+
[GL.RENDERBUFFER_BINDING]?: WebGLRenderbuffer | null;
|
|
54
|
+
[GL.TRANSFORM_FEEDBACK_BINDING]?: WebGLTransformFeedback | null;
|
|
55
|
+
[GL.VERTEX_ARRAY_BINDING]?: WebGLVertexArrayObject | null;
|
|
56
|
+
[GL.ARRAY_BUFFER_BINDING]?: WebGLBuffer | null;
|
|
57
|
+
[GL.COPY_READ_BUFFER_BINDING]?: WebGLBuffer | null;
|
|
58
|
+
[GL.COPY_WRITE_BUFFER_BINDING]?: WebGLBuffer | null;
|
|
59
|
+
[GL.PIXEL_PACK_BUFFER_BINDING]?: WebGLBuffer | null;
|
|
60
|
+
[GL.PIXEL_UNPACK_BUFFER_BINDING]?: WebGLBuffer | null;
|
|
61
|
+
[GL.TEXTURE_BINDING_2D]?: WebGLTexture | null;
|
|
62
|
+
[GL.TEXTURE_BINDING_2D_ARRAY]?: WebGLTexture | null;
|
|
63
|
+
[GL.TEXTURE_BINDING_3D]?: WebGLTexture | null;
|
|
64
|
+
[GL.TEXTURE_BINDING_CUBE_MAP]?: WebGLTexture | null;
|
|
65
|
+
[GL.FRONT_FACE]?: GL.CW | GL.CCW;
|
|
66
|
+
[GL.GENERATE_MIPMAP_HINT]?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;
|
|
67
|
+
[GL.LINE_WIDTH]?: number;
|
|
68
|
+
[GL.POLYGON_OFFSET_FILL]?: boolean;
|
|
69
|
+
[GL.POLYGON_OFFSET_FACTOR]?: number;
|
|
70
|
+
[GL.POLYGON_OFFSET_UNITS]?: number;
|
|
71
|
+
[GL.SAMPLE_ALPHA_TO_COVERAGE]?: boolean;
|
|
72
|
+
[GL.SAMPLE_COVERAGE]?: boolean;
|
|
73
|
+
[GL.RASTERIZER_DISCARD]?: boolean;
|
|
74
|
+
[GL.SAMPLE_COVERAGE_VALUE]?: number;
|
|
75
|
+
[GL.SAMPLE_COVERAGE_INVERT]?: boolean;
|
|
76
|
+
[GL.SCISSOR_TEST]?: boolean;
|
|
77
|
+
[GL.SCISSOR_BOX]?: [number, number, number, number] | NumberArray;
|
|
78
|
+
[GL.STENCIL_TEST]?: boolean;
|
|
79
|
+
[GL.STENCIL_CLEAR_VALUE]?: number;
|
|
80
|
+
[GL.STENCIL_WRITEMASK]?: number;
|
|
81
|
+
[GL.STENCIL_BACK_WRITEMASK]?: number;
|
|
82
|
+
[GL.STENCIL_FUNC]?: GLFunction;
|
|
83
|
+
[GL.STENCIL_REF]?: GLFunction;
|
|
84
|
+
[GL.STENCIL_VALUE_MASK]?: GLFunction;
|
|
85
|
+
[GL.STENCIL_BACK_FUNC]?: GLFunction;
|
|
86
|
+
[GL.STENCIL_BACK_REF]?: GLFunction;
|
|
87
|
+
[GL.STENCIL_BACK_VALUE_MASK]?: GLFunction;
|
|
88
|
+
[GL.STENCIL_FAIL]?: GLStencilOp;
|
|
89
|
+
[GL.STENCIL_PASS_DEPTH_FAIL]?: GLStencilOp;
|
|
90
|
+
[GL.STENCIL_PASS_DEPTH_PASS]?: GLStencilOp;
|
|
91
|
+
[GL.STENCIL_BACK_FAIL]?: GLStencilOp;
|
|
92
|
+
[GL.STENCIL_BACK_PASS_DEPTH_FAIL]?: GLStencilOp;
|
|
93
|
+
[GL.STENCIL_BACK_PASS_DEPTH_PASS]?: GLStencilOp;
|
|
94
|
+
[GL.VIEWPORT]?: [number, number, number, number] | NumberArray;
|
|
95
|
+
[GL.PACK_ALIGNMENT]?: number;
|
|
96
|
+
[GL.UNPACK_ALIGNMENT]?: number;
|
|
97
|
+
[GL.UNPACK_FLIP_Y_WEBGL]?: boolean;
|
|
98
|
+
[GL.UNPACK_PREMULTIPLY_ALPHA_WEBGL]?: boolean;
|
|
99
|
+
[GL.UNPACK_COLORSPACE_CONVERSION_WEBGL]?: GL.NONE | GL.BROWSER_DEFAULT_WEBGL;
|
|
100
|
+
[GL.PACK_ROW_LENGTH]?: number;
|
|
101
|
+
[GL.PACK_SKIP_PIXELS]?: number;
|
|
102
|
+
[GL.PACK_SKIP_ROWS]?: number;
|
|
103
|
+
[GL.READ_FRAMEBUFFER_BINDING]?: Framebuffer | null;
|
|
104
|
+
[GL.UNPACK_ROW_LENGTH]?: number;
|
|
105
|
+
[GL.UNPACK_IMAGE_HEIGHT]?: number;
|
|
106
|
+
[GL.UNPACK_SKIP_PIXELS]?: number;
|
|
107
|
+
[GL.UNPACK_SKIP_ROWS]?: number;
|
|
108
|
+
[GL.UNPACK_SKIP_IMAGES]?: number;
|
|
109
|
+
};
|
|
110
|
+
export declare type GLFunctionParameters = {
|
|
111
|
+
framebuffer?: Framebuffer | null;
|
|
112
|
+
blend?: boolean;
|
|
113
|
+
blendColor?: [number, number, number, number] | NumberArray;
|
|
114
|
+
blendEquation?: GLBlendEquation | [GLBlendEquation, GLBlendEquation];
|
|
115
|
+
blendFunc?: [GLBlendFunction, GLBlendFunction] | [GLBlendFunction, GLBlendFunction, GLBlendFunction, GLBlendFunction];
|
|
116
|
+
clearColor?: [number, number, number, number] | NumberArray;
|
|
117
|
+
clearDepth?: number;
|
|
118
|
+
clearStencil?: number;
|
|
119
|
+
colorMask?: [boolean, boolean, boolean, boolean] | boolean[];
|
|
120
|
+
cull?: boolean;
|
|
121
|
+
cullFace?: GL.FRONT | GL.BACK | GL.FRONT_AND_BACK;
|
|
122
|
+
depthTest?: boolean;
|
|
123
|
+
depthFunc?: GLFunction;
|
|
124
|
+
depthMask?: boolean;
|
|
125
|
+
depthRange?: [number, number] | NumberArray;
|
|
126
|
+
dither?: boolean;
|
|
127
|
+
derivativeHint?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;
|
|
128
|
+
frontFace?: GL.CW | GL.CCW;
|
|
129
|
+
mipmapHint?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;
|
|
130
|
+
lineWidth?: number;
|
|
131
|
+
polygonOffsetFill?: boolean;
|
|
132
|
+
polygonOffset?: [number, number];
|
|
133
|
+
sampleCoverage?: [number, boolean];
|
|
134
|
+
scissorTest?: boolean;
|
|
135
|
+
scissor?: [number, number, number, number] | NumberArray;
|
|
136
|
+
stencilTest?: boolean;
|
|
137
|
+
stencilMask?: number | [number, number];
|
|
138
|
+
stencilFunc?: [GLFunction, number, number] | [GLFunction, number, number, GLFunction, number, number];
|
|
139
|
+
stencilOp?: [GLStencilOp, GLStencilOp, GLStencilOp] | [GLStencilOp, GLStencilOp, GLStencilOp, GLStencilOp, GLStencilOp, GLStencilOp];
|
|
140
|
+
viewport?: [number, number, number, number] | NumberArray;
|
|
141
|
+
};
|
|
142
|
+
/** WebGL style parameters object (with both GL constants and function style fields) */
|
|
143
|
+
export declare type GLParameters = GLValueParameters & GLFunctionParameters;
|
|
144
|
+
export {};
|
|
145
|
+
//# sourceMappingURL=webgl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webgl.d.ts","sourceRoot":"","sources":["../../src/types/webgl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/types/webgl.ts"],"names":["GL"],"mappings":"AACA,OAAOA,EAAP,MAAe,oBAAf","sourcesContent":["import type {NumberArray} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\n\ntype Framebuffer = any;\n\nexport type GLDrawMode =\n | GL.POINTS\n | GL.LINES\n | GL.LINE_STRIP\n | GL.LINE_LOOP\n | GL.TRIANGLES\n | GL.TRIANGLE_STRIP\n | GL.TRIANGLE_FAN;\n\nexport type GLPrimitive = GL.POINTS | GL.LINES | GL.TRIANGLES;\n\nexport type GLType =\n | GL.FLOAT\n | GL.UNSIGNED_SHORT\n | GL.UNSIGNED_INT\n | GL.UNSIGNED_BYTE\n | GL.BYTE\n | GL.SHORT\n | GL.INT;\n\nexport type GLPackedType =\n | GL.UNSIGNED_SHORT_5_6_5\n | GL.UNSIGNED_SHORT_4_4_4_4\n | GL.UNSIGNED_SHORT_5_5_5_1;\n\nexport type GLUniformType = GLSamplerType | GLCompositeType;\n\nexport type GLSamplerType =\n | GL.SAMPLER_2D\n | GL.SAMPLER_CUBE\n | GL.SAMPLER_3D\n | GL.SAMPLER_2D_SHADOW\n | GL.SAMPLER_2D_ARRAY\n | GL.SAMPLER_2D_ARRAY_SHADOW\n | GL.SAMPLER_CUBE_SHADOW\n | GL.INT_SAMPLER_2D\n | GL.INT_SAMPLER_3D\n | GL.INT_SAMPLER_CUBE\n | GL.INT_SAMPLER_2D_ARRAY\n | GL.UNSIGNED_INT_SAMPLER_2D\n | GL.UNSIGNED_INT_SAMPLER_3D\n | GL.UNSIGNED_INT_SAMPLER_CUBE\n | GL.UNSIGNED_INT_SAMPLER_2D_ARRAY;\n\n// Composite types table\nexport type GLCompositeType =\n | GL.FLOAT\n | GL.FLOAT_VEC2\n | GL.FLOAT_VEC3\n | GL.FLOAT_VEC4\n | GL.INT\n | GL.INT_VEC2\n | GL.INT_VEC3\n | GL.INT_VEC4\n | GL.UNSIGNED_INT\n | GL.UNSIGNED_INT_VEC2\n | GL.UNSIGNED_INT_VEC3\n | GL.UNSIGNED_INT_VEC4\n | GL.BOOL\n | GL.BOOL_VEC2\n | GL.BOOL_VEC3\n | GL.BOOL_VEC4\n | GL.FLOAT_MAT2\n | GL.FLOAT_MAT2x3\n | GL.FLOAT_MAT2x4\n | GL.FLOAT_MAT3x2\n | GL.FLOAT_MAT3\n | GL.FLOAT_MAT3x4\n | GL.FLOAT_MAT4x2\n | GL.FLOAT_MAT4x3\n | GL.FLOAT_MAT4;\n\nexport type GLFunction =\n | GL.NEVER\n | GL.LESS\n | GL.EQUAL\n | GL.LEQUAL\n | GL.GREATER\n | GL.NOTEQUAL\n | GL.GEQUAL\n | GL.ALWAYS;\n\nexport type GLBlendEquation =\n | GL.FUNC_ADD\n | GL.FUNC_SUBTRACT\n | GL.FUNC_REVERSE_SUBTRACT\n | GL.MIN_EXT\n | GL.MAX_EXT;\n\nexport type GLBlendFunction =\n | GL.ZERO\n | GL.ONE\n | GL.SRC_COLOR\n | GL.ONE_MINUS_SRC_COLOR\n | GL.DST_COLOR\n | GL.ONE_MINUS_DST_COLOR\n | GL.SRC_ALPHA\n | GL.ONE_MINUS_SRC_ALPHA\n | GL.DST_ALPHA\n | GL.ONE_MINUS_DST_ALPHA\n | GL.CONSTANT_COLOR\n | GL.ONE_MINUS_CONSTANT_COLOR\n | GL.CONSTANT_ALPHA\n | GL.ONE_MINUS_CONSTANT_ALPHA\n | GL.SRC_ALPHA_SATURATE;\n\nexport type GLStencilOp =\n | GL.KEEP\n | GL.ZERO\n | GL.REPLACE\n | GL.INCR\n | GL.INCR_WRAP\n | GL.DECR\n | GL.DECR_WRAP\n | GL.INVERT;\n\n/** Parameters for textures and samplers */\nexport type GLSamplerParameters = {\n [GL.TEXTURE_WRAP_S]?: GL.CLAMP_TO_EDGE | GL.REPEAT | GL.MIRRORED_REPEAT;\n [GL.TEXTURE_WRAP_T]?: GL.CLAMP_TO_EDGE | GL.REPEAT | GL.MIRRORED_REPEAT;\n [GL.TEXTURE_WRAP_R]?: GL.CLAMP_TO_EDGE | GL.REPEAT | GL.MIRRORED_REPEAT;\n [GL.TEXTURE_MAG_FILTER]?: GL.NEAREST | GL.LINEAR;\n [GL.TEXTURE_MIN_FILTER]?:\n | GL.NEAREST\n | GL.LINEAR\n | GL.NEAREST_MIPMAP_NEAREST\n | GL.NEAREST_MIPMAP_LINEAR\n | GL.LINEAR_MIPMAP_NEAREST\n | GL.LINEAR_MIPMAP_LINEAR;\n [GL.TEXTURE_MIN_LOD]?: number;\n [GL.TEXTURE_MAX_LOD]?: number;\n [GL.TEXTURE_COMPARE_FUNC]?: number; // COMPARE_FUNC);\n [GL.TEXTURE_COMPARE_MODE]?: GL.COMPARE_REF_TO_TEXTURE;\n [GL.TEXTURE_MAX_ANISOTROPY_EXT]?: number; //\n};\n\n/**\n * All global WebGL values set by a variety of setter gl.enable ...\n */\nexport type GLValueParameters = {\n [GL.BLEND]?: boolean;\n [GL.BLEND_COLOR]?: [number, number, number, number] | NumberArray;\n [GL.BLEND_EQUATION_RGB]?: GLBlendEquation;\n [GL.BLEND_EQUATION_ALPHA]?: GLBlendEquation;\n [GL.BLEND_SRC_RGB]?: GLBlendFunction;\n [GL.BLEND_DST_RGB]?: GLBlendFunction;\n [GL.BLEND_SRC_ALPHA]?: GLBlendFunction;\n [GL.BLEND_DST_ALPHA]?: GLBlendFunction;\n [GL.COLOR_CLEAR_VALUE]?: [number, number, number, number] | NumberArray;\n [GL.COLOR_WRITEMASK]?: [boolean, boolean, boolean, boolean] | boolean[];\n [GL.CULL_FACE]?: boolean;\n [GL.CULL_FACE_MODE]?: GL.FRONT | GL.BACK | GL.FRONT_AND_BACK;\n [GL.DEPTH_TEST]?: boolean;\n [GL.DEPTH_CLEAR_VALUE]?: number;\n [GL.DEPTH_FUNC]?: GLFunction;\n [GL.DEPTH_RANGE]?: [number, number] | NumberArray;\n [GL.DEPTH_WRITEMASK]?: boolean;\n [GL.DITHER]?: boolean;\n [GL.FRAGMENT_SHADER_DERIVATIVE_HINT]?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;\n [GL.CURRENT_PROGRAM]?: WebGLProgram | null;\n [GL.FRAMEBUFFER_BINDING]?: WebGLFramebuffer | null;\n [GL.RENDERBUFFER_BINDING]?: WebGLRenderbuffer | null;\n [GL.TRANSFORM_FEEDBACK_BINDING]?: WebGLTransformFeedback | null;\n [GL.VERTEX_ARRAY_BINDING]?: WebGLVertexArrayObject | null;\n [GL.ARRAY_BUFFER_BINDING]?: WebGLBuffer | null;\n [GL.COPY_READ_BUFFER_BINDING]?: WebGLBuffer | null;\n [GL.COPY_WRITE_BUFFER_BINDING]?: WebGLBuffer | null;\n [GL.PIXEL_PACK_BUFFER_BINDING]?: WebGLBuffer | null;\n [GL.PIXEL_UNPACK_BUFFER_BINDING]?: WebGLBuffer | null;\n [GL.TEXTURE_BINDING_2D]?: WebGLTexture | null;\n [GL.TEXTURE_BINDING_2D_ARRAY]?: WebGLTexture | null;\n [GL.TEXTURE_BINDING_3D]?: WebGLTexture | null;\n [GL.TEXTURE_BINDING_CUBE_MAP]?: WebGLTexture | null;\n [GL.FRONT_FACE]?: GL.CW | GL.CCW;\n [GL.GENERATE_MIPMAP_HINT]?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;\n [GL.LINE_WIDTH]?: number;\n [GL.POLYGON_OFFSET_FILL]?: boolean;\n [GL.POLYGON_OFFSET_FACTOR]?: number;\n [GL.POLYGON_OFFSET_UNITS]?: number;\n [GL.SAMPLE_ALPHA_TO_COVERAGE]?: boolean;\n [GL.SAMPLE_COVERAGE]?: boolean;\n [GL.RASTERIZER_DISCARD]?: boolean;\n [GL.SAMPLE_COVERAGE_VALUE]?: number;\n [GL.SAMPLE_COVERAGE_INVERT]?: boolean;\n [GL.SCISSOR_TEST]?: boolean;\n [GL.SCISSOR_BOX]?: [number, number, number, number] | NumberArray;\n [GL.STENCIL_TEST]?: boolean;\n [GL.STENCIL_CLEAR_VALUE]?: number;\n [GL.STENCIL_WRITEMASK]?: number;\n [GL.STENCIL_BACK_WRITEMASK]?: number;\n [GL.STENCIL_FUNC]?: GLFunction;\n [GL.STENCIL_REF]?: GLFunction;\n [GL.STENCIL_VALUE_MASK]?: GLFunction;\n [GL.STENCIL_BACK_FUNC]?: GLFunction;\n [GL.STENCIL_BACK_REF]?: GLFunction;\n [GL.STENCIL_BACK_VALUE_MASK]?: GLFunction;\n [GL.STENCIL_FAIL]?: GLStencilOp;\n [GL.STENCIL_PASS_DEPTH_FAIL]?: GLStencilOp;\n [GL.STENCIL_PASS_DEPTH_PASS]?: GLStencilOp;\n [GL.STENCIL_BACK_FAIL]?: GLStencilOp;\n [GL.STENCIL_BACK_PASS_DEPTH_FAIL]?: GLStencilOp;\n [GL.STENCIL_BACK_PASS_DEPTH_PASS]?: GLStencilOp;\n [GL.VIEWPORT]?: [number, number, number, number] | NumberArray;\n\n // WEBGL1 PIXEL PACK/UNPACK MODES\n [GL.PACK_ALIGNMENT]?: number;\n [GL.UNPACK_ALIGNMENT]?: number;\n [GL.UNPACK_FLIP_Y_WEBGL]?: boolean;\n [GL.UNPACK_PREMULTIPLY_ALPHA_WEBGL]?: boolean;\n [GL.UNPACK_COLORSPACE_CONVERSION_WEBGL]?: GL.NONE | GL.BROWSER_DEFAULT_WEBGL;\n\n // WEBGL2 PIXEL PACK/UNPACK MODES\n // RASTERIZER_DISCARD ...\n [GL.PACK_ROW_LENGTH]?: number;\n [GL.PACK_SKIP_PIXELS]?: number;\n [GL.PACK_SKIP_ROWS]?: number;\n [GL.READ_FRAMEBUFFER_BINDING]?: Framebuffer | null;\n [GL.UNPACK_ROW_LENGTH]?: number;\n [GL.UNPACK_IMAGE_HEIGHT]?: number;\n [GL.UNPACK_SKIP_PIXELS]?: number;\n [GL.UNPACK_SKIP_ROWS]?: number;\n [GL.UNPACK_SKIP_IMAGES]?: number;\n};\n\nexport type GLFunctionParameters = {\n // Function-style setters\n framebuffer?: Framebuffer | null;\n blend?: boolean;\n blendColor?: [number, number, number, number] | NumberArray;\n blendEquation?: GLBlendEquation | [GLBlendEquation, GLBlendEquation];\n blendFunc?:\n | [GLBlendFunction, GLBlendFunction]\n | [GLBlendFunction, GLBlendFunction, GLBlendFunction, GLBlendFunction];\n\n clearColor?: [number, number, number, number] | NumberArray;\n clearDepth?: number;\n clearStencil?: number;\n\n colorMask?: [boolean, boolean, boolean, boolean] | boolean[];\n\n cull?: boolean;\n cullFace?: GL.FRONT | GL.BACK | GL.FRONT_AND_BACK;\n\n depthTest?: boolean;\n depthFunc?: GLFunction;\n depthMask?: boolean;\n depthRange?: [number, number] | NumberArray;\n\n dither?: boolean;\n\n derivativeHint?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;\n\n frontFace?: GL.CW | GL.CCW;\n\n mipmapHint?: GL.FASTEST | GL.NICEST | GL.DONT_CARE;\n\n lineWidth?: number;\n\n polygonOffsetFill?: boolean;\n polygonOffset?: [number, number];\n\n sampleCoverage?: [number, boolean];\n\n scissorTest?: boolean;\n scissor?: [number, number, number, number] | NumberArray;\n\n stencilTest?: boolean;\n stencilMask?: number | [number, number];\n stencilFunc?:\n | [GLFunction, number, number]\n | [GLFunction, number, number, GLFunction, number, number];\n stencilOp?:\n | [GLStencilOp, GLStencilOp, GLStencilOp]\n | [GLStencilOp, GLStencilOp, GLStencilOp, GLStencilOp, GLStencilOp, GLStencilOp];\n viewport?: [number, number, number, number] | NumberArray;\n};\n\n/** WebGL style parameters object (with both GL constants and function style fields) */\nexport type GLParameters = GLValueParameters & GLFunctionParameters;\n"],"file":"webgl.js"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luma.gl/webgl",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "WebGL2
|
|
3
|
+
"version": "9.0.0-alpha.10",
|
|
4
|
+
"description": "WebGL2 adapter for the luma.gl API",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@babel/runtime": "^7.0.0",
|
|
38
|
-
"@luma.gl/api": "
|
|
39
|
-
"@luma.gl/constants": "
|
|
38
|
+
"@luma.gl/api": "9.0.0-alpha.10",
|
|
39
|
+
"@luma.gl/constants": "9.0.0-alpha.10",
|
|
40
40
|
"@probe.gl/env": "^3.5.0"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "eaa912a3f1479a58e6b9915e905a9274e11d9c34"
|
|
43
43
|
}
|
|
@@ -1,6 +1,63 @@
|
|
|
1
|
-
import {Device, Parameters, CompareFunction, StencilOperation, log} from '@luma.gl/api';
|
|
1
|
+
import {Device, Parameters, CompareFunction, StencilOperation, log, isObjectEmpty} from '@luma.gl/api';
|
|
2
2
|
import GL from '@luma.gl/constants';
|
|
3
|
-
import {
|
|
3
|
+
import type { GLParameters } from '../../types/webgl';
|
|
4
|
+
import {pushContextState, popContextState} from '../../context/state-tracker/track-context-state';
|
|
5
|
+
import {setParameters} from '../../context/parameters/unified-parameter-api';
|
|
6
|
+
import WebGLDevice from '../webgl-device';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Execute a function with a set of temporary WebGL parameter overrides
|
|
10
|
+
* - Saves current "global" WebGL context settings
|
|
11
|
+
* - Sets the supplies WebGL context parameters,
|
|
12
|
+
* - Executes supplied function
|
|
13
|
+
* - Restores parameters
|
|
14
|
+
* - Returns the return value of the supplied function
|
|
15
|
+
* @deprecated use withDeviceParameters instead
|
|
16
|
+
*/
|
|
17
|
+
export function withGLParameters<T = unknown>(device: Device, parameters: GLParameters, func: (device?: Device) => T): T {
|
|
18
|
+
if (isObjectEmpty(parameters)) {
|
|
19
|
+
// Avoid setting state if no parameters provided. Just call and return
|
|
20
|
+
return func(device);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// Wrap in a try-catch to ensure that parameters are restored on exceptions
|
|
24
|
+
// @ts-expect-error
|
|
25
|
+
pushContextState(device.gl);
|
|
26
|
+
try {
|
|
27
|
+
setParameters(device, parameters);
|
|
28
|
+
return func(device);
|
|
29
|
+
} finally {
|
|
30
|
+
// @ts-expect-error
|
|
31
|
+
popContextState(device.gl);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Execute a function with a set of temporary WebGL parameter overrides
|
|
37
|
+
* - Saves current "global" WebGL context settings
|
|
38
|
+
* - Sets the supplies WebGL context parameters,
|
|
39
|
+
* - Executes supplied function
|
|
40
|
+
* - Restores parameters
|
|
41
|
+
* - Returns the return value of the supplied function
|
|
42
|
+
*/
|
|
43
|
+
export function withDeviceParameters<T = unknown>(device: Device, parameters: Parameters, func: (device?: Device) => T): T {
|
|
44
|
+
if (isObjectEmpty(parameters)) {
|
|
45
|
+
// Avoid setting state if no parameters provided. Just call and return
|
|
46
|
+
return func(device);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Wrap in a try-catch to ensure that parameters are restored on exceptions
|
|
50
|
+
// @ts-expect-error
|
|
51
|
+
pushContextState(device.gl);
|
|
52
|
+
try {
|
|
53
|
+
setDeviceParameters(device, parameters);
|
|
54
|
+
return func(device);
|
|
55
|
+
} finally {
|
|
56
|
+
// @ts-expect-error
|
|
57
|
+
popContextState(device.gl);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
4
61
|
|
|
5
62
|
/** Set WebGPU Style Parameters */
|
|
6
63
|
export function setDeviceParameters(device: Device, parameters: Parameters) {
|
|
@@ -46,7 +103,7 @@ export function setDeviceParameters(device: Device, parameters: Parameters) {
|
|
|
46
103
|
}
|
|
47
104
|
|
|
48
105
|
if (parameters.depthCompare) {
|
|
49
|
-
parameters.depthCompare !== 'always' ? gl.enable(GL.DEPTH_TEST) : gl.disable(GL.DEPTH_TEST)
|
|
106
|
+
parameters.depthCompare !== 'always' ? gl.enable(GL.DEPTH_TEST) : gl.disable(GL.DEPTH_TEST);
|
|
50
107
|
gl.depthFunc(convertCompareFunction('depthCompare', parameters.depthCompare));
|
|
51
108
|
}
|
|
52
109
|
|
|
@@ -65,12 +122,12 @@ export function setDeviceParameters(device: Device, parameters: Parameters) {
|
|
|
65
122
|
const mask = parameters.stencilReadMask || 0xffffffff;
|
|
66
123
|
const glValue = convertCompareFunction('depthCompare', parameters.stencilCompare);
|
|
67
124
|
// TODO - ensure back doesn't overwrite
|
|
68
|
-
parameters.stencilCompare !== 'always' ? gl.enable(GL.STENCIL_TEST) : gl.disable(GL.STENCIL_TEST)
|
|
125
|
+
parameters.stencilCompare !== 'always' ? gl.enable(GL.STENCIL_TEST) : gl.disable(GL.STENCIL_TEST);
|
|
69
126
|
gl.stencilFuncSeparate(GL.FRONT, glValue, 0, mask);
|
|
70
127
|
gl.stencilFuncSeparate(GL.BACK, glValue, 0, mask);
|
|
71
128
|
}
|
|
72
129
|
|
|
73
|
-
if (parameters.stencilPassOperation) {
|
|
130
|
+
if (parameters.stencilPassOperation && parameters.stencilFailOperation && parameters.stencilDepthFailOperation) {
|
|
74
131
|
const dppass = convertStencilOperation('stencilPassOperation', parameters.stencilPassOperation);
|
|
75
132
|
const sfail = convertStencilOperation('stencilFailOperation', parameters.stencilFailOperation);
|
|
76
133
|
const dpfail = convertStencilOperation('stencilDepthFailOperation', parameters.stencilDepthFailOperation);
|
|
@@ -128,8 +185,7 @@ export function setDeviceParameters(device: Device, parameters: Parameters) {
|
|
|
128
185
|
});
|
|
129
186
|
*/
|
|
130
187
|
|
|
131
|
-
|
|
132
|
-
export function convertCompareFunction(parameter, value: CompareFunction): number {
|
|
188
|
+
export function convertCompareFunction(parameter: string, value: CompareFunction): GL {
|
|
133
189
|
return map(parameter, value, {
|
|
134
190
|
'never': GL.NEVER,
|
|
135
191
|
'less': GL.LESS,
|
|
@@ -142,7 +198,20 @@ export function convertCompareFunction(parameter, value: CompareFunction): numbe
|
|
|
142
198
|
});
|
|
143
199
|
}
|
|
144
200
|
|
|
145
|
-
function
|
|
201
|
+
export function convertToCompareFunction(parameter: string, value: GL): CompareFunction {
|
|
202
|
+
return map(parameter, value, {
|
|
203
|
+
[GL.NEVER]: 'never',
|
|
204
|
+
[GL.LESS]: 'less',
|
|
205
|
+
[GL.EQUAL]: 'equal',
|
|
206
|
+
[GL.LEQUAL]: 'less-equal',
|
|
207
|
+
[GL.GREATER]: 'greater',
|
|
208
|
+
[GL.NOTEQUAL]: 'not-equal',
|
|
209
|
+
[GL.GEQUAL]: 'greater-equal',
|
|
210
|
+
[GL.ALWAYS]: 'always'
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
function convertStencilOperation(parameter: string, value: StencilOperation): GL {
|
|
146
215
|
return map(parameter, value, {
|
|
147
216
|
'keep': GL.KEEP,
|
|
148
217
|
'zero': GL.ZERO,
|
|
@@ -155,7 +224,7 @@ function convertStencilOperation(parameter, value: StencilOperation): number {
|
|
|
155
224
|
});
|
|
156
225
|
}
|
|
157
226
|
|
|
158
|
-
function convertBlendOperationToEquation(parameter, value): number {
|
|
227
|
+
function convertBlendOperationToEquation(parameter: string, value: string): number {
|
|
159
228
|
return map(parameter, value, {
|
|
160
229
|
'add': GL.FUNC_ADD,
|
|
161
230
|
'sub': GL.FUNC_SUBTRACT,
|
|
@@ -166,17 +235,17 @@ function convertBlendOperationToEquation(parameter, value): number {
|
|
|
166
235
|
});
|
|
167
236
|
}
|
|
168
237
|
|
|
169
|
-
function message(parameter, value) {
|
|
238
|
+
function message(parameter: string, value: any): string {
|
|
170
239
|
return `Illegal parameter ${value} for ${parameter}`;
|
|
171
240
|
}
|
|
172
241
|
|
|
173
|
-
function map(parameter, value, valueMap) {
|
|
242
|
+
function map(parameter: string, value: any, valueMap: Record<string, any>): any {
|
|
174
243
|
if (!(value in valueMap)) {
|
|
175
244
|
throw new Error(message(parameter, value));
|
|
176
245
|
}
|
|
177
246
|
return valueMap[value];
|
|
178
247
|
}
|
|
179
248
|
|
|
180
|
-
function mapBoolean(parameter, value) {
|
|
249
|
+
function mapBoolean(parameter: string, value: boolean): boolean {
|
|
181
250
|
return value;
|
|
182
251
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import GL from '@luma.gl/constants';
|
|
2
|
-
import {isWebGL2} from '
|
|
2
|
+
import {isWebGL2} from '../../context/context/webgl-checks';
|
|
3
3
|
|
|
4
4
|
export function isRenderbufferFormatSupported(gl: WebGLRenderingContext, format: GL): boolean {
|
|
5
5
|
const info = RENDERBUFFER_FORMATS[format];
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
// SAMPLER FILTERS
|
|
2
|
+
import {SamplerParameters} from '@luma.gl/api';
|
|
3
|
+
import GL from '@luma.gl/constants';
|
|
4
|
+
import {GLSamplerParameters} from '../../types/webgl';
|
|
5
|
+
import {convertCompareFunction, convertToCompareFunction} from './device-parameters';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Convert WebGPU-style sampler props to WebGL
|
|
9
|
+
* @param props
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
export function convertSamplerParametersToWebGL(props: SamplerParameters): GLSamplerParameters {
|
|
13
|
+
const params: Record<number, number> = {};
|
|
14
|
+
if (props.addressModeU) {
|
|
15
|
+
params[GL.TEXTURE_WRAP_S] = convertAddressMode(props.addressModeU);
|
|
16
|
+
}
|
|
17
|
+
if (props.addressModeV) {
|
|
18
|
+
params[GL.TEXTURE_WRAP_T] = convertAddressMode(props.addressModeV);
|
|
19
|
+
}
|
|
20
|
+
if (props.addressModeW) {
|
|
21
|
+
params[GL.TEXTURE_WRAP_R] = convertAddressMode(props.addressModeW);
|
|
22
|
+
}
|
|
23
|
+
if (props.magFilter) {
|
|
24
|
+
params[GL.TEXTURE_MAG_FILTER] = convertMaxFilterMode(props.magFilter);
|
|
25
|
+
}
|
|
26
|
+
if (props.minFilter || props.mipmapFilter) {
|
|
27
|
+
// TODO - arbitrary choice of linear?
|
|
28
|
+
params[GL.TEXTURE_MIN_FILTER] = convertMinFilterMode(props.minFilter || 'linear', props.mipmapFilter);
|
|
29
|
+
}
|
|
30
|
+
if (props.lodMinClamp !== undefined) {
|
|
31
|
+
params[GL.TEXTURE_MIN_LOD] = props.lodMinClamp;
|
|
32
|
+
}
|
|
33
|
+
if (props.lodMaxClamp !== undefined) {
|
|
34
|
+
params[GL.TEXTURE_MAX_LOD] = props.lodMaxClamp;
|
|
35
|
+
}
|
|
36
|
+
if (props.type === 'comparison-sampler') {
|
|
37
|
+
// Setting prop.compare turns this into a comparison sampler
|
|
38
|
+
params[GL.TEXTURE_COMPARE_MODE] = GL.COMPARE_REF_TO_TEXTURE;
|
|
39
|
+
}
|
|
40
|
+
if (props.compare) {
|
|
41
|
+
params[GL.TEXTURE_COMPARE_FUNC] = convertCompareFunction('compare', props.compare);
|
|
42
|
+
}
|
|
43
|
+
// Note depends on WebGL extension
|
|
44
|
+
if (props.maxAnisotropy) {
|
|
45
|
+
params[GL.TEXTURE_MAX_ANISOTROPY_EXT] = props.maxAnisotropy;
|
|
46
|
+
}
|
|
47
|
+
return params;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/** Convert address more */
|
|
51
|
+
function convertAddressMode(addressMode: 'clamp-to-edge' | 'repeat' | 'mirror-repeat'): GL {
|
|
52
|
+
switch (addressMode) {
|
|
53
|
+
case 'clamp-to-edge': return GL.CLAMP_TO_EDGE;
|
|
54
|
+
case 'repeat': return GL.REPEAT;
|
|
55
|
+
case 'mirror-repeat': return GL.MIRRORED_REPEAT;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function convertMaxFilterMode(maxFilter: 'nearest' | 'linear'): GL {
|
|
60
|
+
switch (maxFilter) {
|
|
61
|
+
case 'nearest': return GL.NEAREST;
|
|
62
|
+
case 'linear': return GL.LINEAR;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* WebGPU has separate min filter and mipmap filter,
|
|
68
|
+
* WebGL is combined and effectively offers 6 options
|
|
69
|
+
*/
|
|
70
|
+
function convertMinFilterMode(minFilter: 'nearest' | 'linear', mipmapFilter?: 'nearest' | 'linear'): GL {
|
|
71
|
+
if (!mipmapFilter) {
|
|
72
|
+
return convertMaxFilterMode(minFilter);
|
|
73
|
+
}
|
|
74
|
+
switch (minFilter) {
|
|
75
|
+
case 'nearest': return mipmapFilter === 'nearest' ? GL.NEAREST_MIPMAP_NEAREST : GL.NEAREST_MIPMAP_LINEAR;
|
|
76
|
+
case 'linear': return mipmapFilter === 'nearest' ? GL.LINEAR_MIPMAP_NEAREST : GL.LINEAR_MIPMAP_LINEAR;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// Convert from WebGL to WebGPU
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Convert WebGL-style sampler props to WebGPU
|
|
84
|
+
* @param props
|
|
85
|
+
* @returns
|
|
86
|
+
*/
|
|
87
|
+
export function convertToSamplerParameters(params: GLSamplerParameters): SamplerParameters {
|
|
88
|
+
const props: SamplerParameters = {};
|
|
89
|
+
if (params[GL.TEXTURE_WRAP_S]) {
|
|
90
|
+
props.addressModeU = convertToAddressMode(params[GL.TEXTURE_WRAP_S]);
|
|
91
|
+
}
|
|
92
|
+
if (params[GL.TEXTURE_WRAP_T]) {
|
|
93
|
+
props.addressModeV = convertToAddressMode(params[GL.TEXTURE_WRAP_T]);
|
|
94
|
+
}
|
|
95
|
+
if (params[GL.TEXTURE_WRAP_R]) {
|
|
96
|
+
props.addressModeW = convertToAddressMode(params[GL.TEXTURE_WRAP_R]);
|
|
97
|
+
}
|
|
98
|
+
if (params[GL.TEXTURE_MAG_FILTER]) {
|
|
99
|
+
props.magFilter = convertToMaxFilterMode(params[GL.TEXTURE_MAG_FILTER]);
|
|
100
|
+
}
|
|
101
|
+
if (params[GL.TEXTURE_MIN_FILTER]) {
|
|
102
|
+
props.minFilter = convertToMinFilterMode(params[GL.TEXTURE_MIN_FILTER]);
|
|
103
|
+
}
|
|
104
|
+
if (params[GL.TEXTURE_MIN_FILTER]) {
|
|
105
|
+
props.mipmapFilter = convertToMipmapFilterMode(params[GL.TEXTURE_MIN_FILTER]);
|
|
106
|
+
}
|
|
107
|
+
if (params[GL.TEXTURE_MIN_LOD]) {
|
|
108
|
+
props.lodMinClamp = params[GL.TEXTURE_MIN_LOD];
|
|
109
|
+
}
|
|
110
|
+
if (params[GL.TEXTURE_MAX_LOD]) {
|
|
111
|
+
props.lodMaxClamp = params[GL.TEXTURE_MAX_LOD];
|
|
112
|
+
}
|
|
113
|
+
if (params[GL.TEXTURE_COMPARE_MODE]) {
|
|
114
|
+
props.type = params[GL.TEXTURE_COMPARE_MODE] === GL.COMPARE_REF_TO_TEXTURE ? 'comparison-sampler' : 'color-sampler';
|
|
115
|
+
}
|
|
116
|
+
if (params[GL.TEXTURE_COMPARE_FUNC]) {
|
|
117
|
+
props.compare = convertToCompareFunction('compare', params[GL.TEXTURE_COMPARE_FUNC]);
|
|
118
|
+
}
|
|
119
|
+
// NOTE depends on extension (very common)
|
|
120
|
+
if (params[GL.TEXTURE_MAX_ANISOTROPY_EXT]) {
|
|
121
|
+
props.maxAnisotropy = params[GL.TEXTURE_MAX_ANISOTROPY_EXT];
|
|
122
|
+
}
|
|
123
|
+
return props;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/** Convert address more */
|
|
127
|
+
function convertToAddressMode(addressMode: number): 'clamp-to-edge' | 'repeat' | 'mirror-repeat' {
|
|
128
|
+
switch (addressMode) {
|
|
129
|
+
case GL.CLAMP_TO_EDGE: return 'clamp-to-edge';
|
|
130
|
+
case GL.REPEAT: return 'repeat';
|
|
131
|
+
case GL.MIRRORED_REPEAT: return 'mirror-repeat';
|
|
132
|
+
default: throw new Error('address');
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
function convertToMaxFilterMode(filterMode: number): 'nearest' | 'linear' {
|
|
137
|
+
switch (filterMode) {
|
|
138
|
+
case GL.NEAREST: return 'nearest';
|
|
139
|
+
case GL.LINEAR: return 'linear';
|
|
140
|
+
default: throw new Error('maxfilter');
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/** WebGPU has separate min filter and mipmap filter, WebGL is combined */
|
|
145
|
+
function convertToMinFilterMode(filterMode: number): 'nearest' | 'linear' {
|
|
146
|
+
switch (filterMode) {
|
|
147
|
+
// TODO is this correct?
|
|
148
|
+
case GL.NEAREST: return 'nearest';
|
|
149
|
+
case GL.LINEAR: return 'linear';
|
|
150
|
+
case GL.NEAREST_MIPMAP_NEAREST: return 'nearest';
|
|
151
|
+
case GL.LINEAR_MIPMAP_NEAREST: return 'linear';
|
|
152
|
+
case GL.NEAREST_MIPMAP_LINEAR: return 'nearest';
|
|
153
|
+
case GL.LINEAR_MIPMAP_LINEAR: return 'linear';
|
|
154
|
+
default: throw new Error('minfilter');
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
function convertToMipmapFilterMode(filterMode: number): 'nearest' | 'linear' {
|
|
159
|
+
switch (filterMode) {
|
|
160
|
+
// TODO is this correct?
|
|
161
|
+
case GL.NEAREST: return 'nearest';
|
|
162
|
+
case GL.LINEAR: return 'linear';
|
|
163
|
+
case GL.NEAREST_MIPMAP_NEAREST: return 'nearest';
|
|
164
|
+
case GL.LINEAR_MIPMAP_NEAREST: return 'nearest';
|
|
165
|
+
case GL.NEAREST_MIPMAP_LINEAR: return 'linear';
|
|
166
|
+
case GL.LINEAR_MIPMAP_LINEAR: return 'linear';
|
|
167
|
+
default: throw new Error('mipmap');
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Override sampler settings that are not supported by Non-Power-of-Two textures in WebGL1.
|
|
173
|
+
*/
|
|
174
|
+
export function updateSamplerParametersForNPOT(parameters: GLSamplerParameters): GLSamplerParameters {
|
|
175
|
+
const newParameters = {...parameters};
|
|
176
|
+
if (parameters[GL.TEXTURE_MIN_FILTER] !== GL.NEAREST) {
|
|
177
|
+
// log.warn(`texture: ${this} is Non-Power-Of-Two, forcing TEXTURE_MIN_FILTER to LINEAR`)();
|
|
178
|
+
newParameters[GL.TEXTURE_MIN_FILTER] = GL.LINEAR;
|
|
179
|
+
}
|
|
180
|
+
// log.warn(`texture: ${this} is Non-Power-Of-Two, forcing TEXTURE_WRAP_S to CLAMP_TO_EDGE`)();
|
|
181
|
+
newParameters[GL.TEXTURE_WRAP_S] = GL.CLAMP_TO_EDGE;
|
|
182
|
+
newParameters[GL.TEXTURE_WRAP_T] = GL.CLAMP_TO_EDGE;
|
|
183
|
+
return newParameters;
|
|
184
|
+
}
|