@luma.gl/webgl 8.6.0-alpha.4 → 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 -76
- package/dist/adapter/webgl-device.d.ts.map +1 -1
- package/dist/adapter/webgl-device.js +244 -115
- 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/{esm/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 +316 -132
- 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 +244 -115
- 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/{classes/webgl-buffer.js → esm/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 +297 -289
- 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 -70
- 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 -110
- 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 -70
- 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 -140
- 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
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
import GL from '@luma.gl/constants';
|
|
2
|
-
import { isWebGL2 } from '../context/context/webgl-checks';
|
|
3
|
-
import Accessor from '../classes/accessor';
|
|
4
|
-
import { decomposeCompositeGLType } from '../webgl-utils/attribute-utils';
|
|
5
|
-
export function getProgramBindings(gl, program) {
|
|
6
|
-
const config = {
|
|
7
|
-
attributes: readAttributeBindings(gl, program),
|
|
8
|
-
uniforms: readUniformBindings(gl, program),
|
|
9
|
-
uniformBlocks: readUniformBlocks(gl, program),
|
|
10
|
-
varyings: readVaryings(gl, program)
|
|
11
|
-
};
|
|
12
|
-
Object.seal(config);
|
|
13
|
-
return config;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
function readAttributeBindings(gl, program) {
|
|
17
|
-
const attributes = [];
|
|
18
|
-
const count = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);
|
|
19
|
-
|
|
20
|
-
for (let index = 0; index < count; index++) {
|
|
21
|
-
const {
|
|
22
|
-
name,
|
|
23
|
-
type: compositeType,
|
|
24
|
-
size
|
|
25
|
-
} = gl.getActiveAttrib(program, index);
|
|
26
|
-
const location = gl.getAttribLocation(program, name);
|
|
27
|
-
|
|
28
|
-
if (location >= 0) {
|
|
29
|
-
const {
|
|
30
|
-
type,
|
|
31
|
-
components
|
|
32
|
-
} = decomposeCompositeGLType(compositeType);
|
|
33
|
-
const accessor = {
|
|
34
|
-
type,
|
|
35
|
-
size: size * components
|
|
36
|
-
};
|
|
37
|
-
inferProperties(location, name, accessor);
|
|
38
|
-
const attributeInfo = {
|
|
39
|
-
location,
|
|
40
|
-
name,
|
|
41
|
-
accessor: new Accessor(accessor)
|
|
42
|
-
};
|
|
43
|
-
attributes.push(attributeInfo);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
attributes.sort((a, b) => a.location - b.location);
|
|
48
|
-
return attributes;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
function readVaryings(gl, program) {
|
|
52
|
-
if (!isWebGL2(gl)) {
|
|
53
|
-
return [];
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
const varyings = [];
|
|
57
|
-
const count = gl.getProgramParameter(program, gl.TRANSFORM_FEEDBACK_VARYINGS);
|
|
58
|
-
|
|
59
|
-
for (let location = 0; location < count; location++) {
|
|
60
|
-
const {
|
|
61
|
-
name,
|
|
62
|
-
type: compositeType,
|
|
63
|
-
size
|
|
64
|
-
} = gl.getTransformFeedbackVarying(program, location);
|
|
65
|
-
const {
|
|
66
|
-
type,
|
|
67
|
-
components
|
|
68
|
-
} = decomposeCompositeGLType(compositeType);
|
|
69
|
-
const accessor = new Accessor({
|
|
70
|
-
type,
|
|
71
|
-
size: size * components
|
|
72
|
-
});
|
|
73
|
-
const varying = {
|
|
74
|
-
location,
|
|
75
|
-
name,
|
|
76
|
-
accessor
|
|
77
|
-
};
|
|
78
|
-
varyings.push(varying);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
varyings.sort((a, b) => a.location - b.location);
|
|
82
|
-
return varyings;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
function readUniformBindings(gl, program) {
|
|
86
|
-
const uniforms = [];
|
|
87
|
-
const uniformCount = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);
|
|
88
|
-
|
|
89
|
-
for (let i = 0; i < uniformCount; i++) {
|
|
90
|
-
const {
|
|
91
|
-
name: rawName,
|
|
92
|
-
size,
|
|
93
|
-
type
|
|
94
|
-
} = gl.getActiveUniform(program, i);
|
|
95
|
-
const {
|
|
96
|
-
name,
|
|
97
|
-
isArray
|
|
98
|
-
} = parseUniformName(rawName);
|
|
99
|
-
let webglLocation = gl.getUniformLocation(program, name);
|
|
100
|
-
const uniformInfo = {
|
|
101
|
-
location: webglLocation,
|
|
102
|
-
name,
|
|
103
|
-
size,
|
|
104
|
-
type,
|
|
105
|
-
isArray
|
|
106
|
-
};
|
|
107
|
-
uniforms.push(uniformInfo);
|
|
108
|
-
|
|
109
|
-
if (uniformInfo.size > 1) {
|
|
110
|
-
for (let j = 0; j < uniformInfo.size; j++) {
|
|
111
|
-
const elementName = "".concat(name, "[").concat(j, "]");
|
|
112
|
-
webglLocation = gl.getUniformLocation(program, elementName);
|
|
113
|
-
const arrayElementUniformInfo = { ...uniformInfo,
|
|
114
|
-
name: elementName,
|
|
115
|
-
location: webglLocation
|
|
116
|
-
};
|
|
117
|
-
uniforms.push(arrayElementUniformInfo);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
return uniforms;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
function readUniformBlocks(gl, program) {
|
|
126
|
-
const getBlockParameter = (blockIndex, pname) => gl.getActiveUniformBlockParameter(program, blockIndex, pname);
|
|
127
|
-
|
|
128
|
-
const uniformBlocks = [];
|
|
129
|
-
const blockCount = gl.getProgramParameter(program, gl.ACTIVE_UNIFORM_BLOCKS);
|
|
130
|
-
|
|
131
|
-
for (let blockIndex = 0; blockIndex < blockCount; blockIndex++) {
|
|
132
|
-
const blockInfo = {
|
|
133
|
-
name: gl.getActiveUniformBlockName(program, blockIndex),
|
|
134
|
-
location: getBlockParameter(blockIndex, gl.UNIFORM_BLOCK_BINDING),
|
|
135
|
-
byteLength: getBlockParameter(blockIndex, gl.UNIFORM_BLOCK_DATA_SIZE),
|
|
136
|
-
vertex: getBlockParameter(blockIndex, gl.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),
|
|
137
|
-
fragment: getBlockParameter(blockIndex, gl.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),
|
|
138
|
-
uniformCount: getBlockParameter(blockIndex, gl.UNIFORM_BLOCK_ACTIVE_UNIFORMS),
|
|
139
|
-
uniformIndices: getBlockParameter(blockIndex, gl.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES),
|
|
140
|
-
uniforms: []
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
for (let uniformIndex = 0; uniformIndex < blockInfo.uniformCount; ++uniformIndex) {}
|
|
144
|
-
|
|
145
|
-
uniformBlocks.push(blockInfo);
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
uniformBlocks.sort((a, b) => a.location - b.location);
|
|
149
|
-
return uniformBlocks;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
const SAMPLER_UNIFORMS_GL_TO_GPU = {
|
|
153
|
-
[GL.SAMPLER_2D]: ['2d', 'float'],
|
|
154
|
-
[GL.SAMPLER_CUBE]: ['cube', 'float'],
|
|
155
|
-
[GL.SAMPLER_3D]: ['3d', 'float'],
|
|
156
|
-
[GL.SAMPLER_2D_SHADOW]: ['3d', 'depth'],
|
|
157
|
-
[GL.SAMPLER_2D_ARRAY]: ['2d-array', 'float'],
|
|
158
|
-
[GL.SAMPLER_2D_ARRAY_SHADOW]: ['2d-array', 'depth'],
|
|
159
|
-
[GL.SAMPLER_CUBE_SHADOW]: ['cube', 'float'],
|
|
160
|
-
[GL.INT_SAMPLER_2D]: ['2d', 'sint'],
|
|
161
|
-
[GL.INT_SAMPLER_3D]: ['3d', 'sint'],
|
|
162
|
-
[GL.INT_SAMPLER_CUBE]: ['cube', 'sint'],
|
|
163
|
-
[GL.INT_SAMPLER_2D_ARRAY]: ['2d-array', 'sint'],
|
|
164
|
-
[GL.UNSIGNED_INT_SAMPLER_2D]: ['2d', 'sint'],
|
|
165
|
-
[GL.UNSIGNED_INT_SAMPLER_3D]: ['3d', 'sint'],
|
|
166
|
-
[GL.UNSIGNED_INT_SAMPLER_CUBE]: ['cube', 'sint'],
|
|
167
|
-
[GL.UNSIGNED_INT_SAMPLER_2D_ARRAY]: ['2d-array', 'sint']
|
|
168
|
-
};
|
|
169
|
-
|
|
170
|
-
function generateWebGPUStyleBindings(config) {
|
|
171
|
-
const bindings = [];
|
|
172
|
-
|
|
173
|
-
for (const blockInfo of config.uniformBlocks) {
|
|
174
|
-
bindings.push({
|
|
175
|
-
binding: blockInfo.location,
|
|
176
|
-
visibility: (blockInfo.vertex ? 0x1 : 0) & (blockInfo.fragment ? 0x2 : 0),
|
|
177
|
-
buffer: {
|
|
178
|
-
type: 'uniform'
|
|
179
|
-
}
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
for (const uniformInfo of config.uniforms) {
|
|
184
|
-
let sampler = SAMPLER_UNIFORMS_GL_TO_GPU[uniformInfo.type];
|
|
185
|
-
|
|
186
|
-
if (sampler) {
|
|
187
|
-
const [viewDimension, sampleType] = sampler;
|
|
188
|
-
bindings.push({
|
|
189
|
-
binding: uniformInfo.location,
|
|
190
|
-
visibility: 0,
|
|
191
|
-
texture: {
|
|
192
|
-
viewDimension,
|
|
193
|
-
sampleType
|
|
194
|
-
}
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
function parseUniformName(name) {
|
|
201
|
-
if (name[name.length - 1] !== ']') {
|
|
202
|
-
return {
|
|
203
|
-
name,
|
|
204
|
-
length: 1,
|
|
205
|
-
isArray: false
|
|
206
|
-
};
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
const UNIFORM_NAME_REGEXP = /([^[]*)(\[[0-9]+\])?/;
|
|
210
|
-
const matches = name.match(UNIFORM_NAME_REGEXP);
|
|
211
|
-
|
|
212
|
-
if (!matches || matches.length < 2) {
|
|
213
|
-
throw new Error("Failed to parse GLSL uniform name ".concat(name));
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
return {
|
|
217
|
-
name: matches[1],
|
|
218
|
-
length: matches[2] || 1,
|
|
219
|
-
isArray: Boolean(matches[2])
|
|
220
|
-
};
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
function inferProperties(accessor, location, name) {
|
|
224
|
-
if (/instance/i.test(name)) {
|
|
225
|
-
accessor.divisor = 1;
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
//# sourceMappingURL=get-program-bindings.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/helpers/get-program-bindings.ts"],"names":["GL","isWebGL2","Accessor","decomposeCompositeGLType","getProgramBindings","gl","program","config","attributes","readAttributeBindings","uniforms","readUniformBindings","uniformBlocks","readUniformBlocks","varyings","readVaryings","Object","seal","count","getProgramParameter","ACTIVE_ATTRIBUTES","index","name","type","compositeType","size","getActiveAttrib","location","getAttribLocation","components","accessor","inferProperties","attributeInfo","push","sort","a","b","TRANSFORM_FEEDBACK_VARYINGS","getTransformFeedbackVarying","varying","uniformCount","ACTIVE_UNIFORMS","i","rawName","getActiveUniform","isArray","parseUniformName","webglLocation","getUniformLocation","uniformInfo","j","elementName","arrayElementUniformInfo","getBlockParameter","blockIndex","pname","getActiveUniformBlockParameter","blockCount","ACTIVE_UNIFORM_BLOCKS","blockInfo","getActiveUniformBlockName","UNIFORM_BLOCK_BINDING","byteLength","UNIFORM_BLOCK_DATA_SIZE","vertex","UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER","fragment","UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER","UNIFORM_BLOCK_ACTIVE_UNIFORMS","uniformIndices","UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES","uniformIndex","SAMPLER_UNIFORMS_GL_TO_GPU","SAMPLER_2D","SAMPLER_CUBE","SAMPLER_3D","SAMPLER_2D_SHADOW","SAMPLER_2D_ARRAY","SAMPLER_2D_ARRAY_SHADOW","SAMPLER_CUBE_SHADOW","INT_SAMPLER_2D","INT_SAMPLER_3D","INT_SAMPLER_CUBE","INT_SAMPLER_2D_ARRAY","UNSIGNED_INT_SAMPLER_2D","UNSIGNED_INT_SAMPLER_3D","UNSIGNED_INT_SAMPLER_CUBE","UNSIGNED_INT_SAMPLER_2D_ARRAY","generateWebGPUStyleBindings","bindings","binding","visibility","buffer","sampler","viewDimension","sampleType","texture","length","UNIFORM_NAME_REGEXP","matches","match","Error","Boolean","test","divisor"],"mappings":"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","sourcesContent":["import GL from '@luma.gl/constants';\nimport {isWebGL2} from '../context/context/webgl-checks';\nimport {ProgramBindings, AttributeBinding, UniformBinding, UniformBlockBinding, VaryingBinding} from './program-bindings'\nimport Accessor from '../classes/accessor';\nimport {decomposeCompositeGLType} from '../webgl-utils/attribute-utils';\n\n/**\n * Extract metadata describing binding information for a program's shaders\n * Note: `linkProgram()` needs to have been called\n * (although linking does not need to have been successful).\n*/\nexport function getProgramBindings(gl: WebGL2RenderingContext, program: WebGLProgram): ProgramBindings {\n const config: ProgramBindings = {\n attributes: readAttributeBindings(gl, program),\n uniforms: readUniformBindings(gl, program),\n uniformBlocks: readUniformBlocks(gl, program),\n varyings: readVaryings(gl, program)\n };\n\n Object.seal(config);\n return config;\n // generateWebGPUStyleBindings(bindings);\n}\n\n\n/**\n * Extract info about all transform feedback varyings\n *\n * linkProgram needs to have been called, although linking does not need to have been successful\n */\nfunction readAttributeBindings(gl: WebGL2RenderingContext, program: WebGLProgram): AttributeBinding[] {\n const attributes: AttributeBinding[] = [];\n\n const count = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);\n\n for (let index = 0; index < count; index++) {\n const {name, type: compositeType, size} = gl.getActiveAttrib(program, index);\n const location = gl.getAttribLocation(program, name);\n // Add only user provided attributes, for built-in attributes like\n // `gl_InstanceID` locaiton will be < 0\n if (location >= 0) {\n const {type, components} = decomposeCompositeGLType(compositeType);\n const accessor = {type, size: size * components};\n inferProperties(location, name, accessor);\n \n const attributeInfo = {location, name, accessor: new Accessor(accessor)}; // Base values\n attributes.push(attributeInfo);\n }\n }\n\n attributes.sort((a, b) => a.location - b.location);\n return attributes;\n}\n\n/**\n * Extract info about all transform feedback varyings\n *\n * linkProgram needs to have been called, although linking does not need to have been successful\n */\nfunction readVaryings(gl: WebGL2RenderingContext, program: WebGLProgram): VaryingBinding[] {\n if (!isWebGL2(gl)) {\n return [];\n }\n\n const varyings = [];\n\n const count = gl.getProgramParameter(program, gl.TRANSFORM_FEEDBACK_VARYINGS);\n for (let location = 0; location < count; location++) {\n const {name, type: compositeType, size} = gl.getTransformFeedbackVarying(program, location);\n const {type, components} = decomposeCompositeGLType(compositeType);\n const accessor = new Accessor({type, size: size * components});\n const varying = {location, name, accessor}; // Base values\n varyings.push(varying);\n }\n\n varyings.sort((a, b) => a.location - b.location);\n return varyings;\n}\n\n/**\n * Extract info about all uniforms\n *\n * Query uniform locations and build name to setter map.\n */\nfunction readUniformBindings(gl: WebGL2RenderingContext, program: WebGLProgram): UniformBinding[] {\n const uniforms: UniformBinding[] = [];\n\n const uniformCount = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);\n for (let i = 0; i < uniformCount; i++) {\n const {name: rawName, size, type} = gl.getActiveUniform(program, i);\n const {name, isArray} = parseUniformName(rawName);\n let webglLocation = gl.getUniformLocation(program, name);\n const uniformInfo = {\n // WebGL locations are uniquely typed but just numbers\n location: webglLocation as number,\n name,\n size,\n type,\n isArray\n };\n uniforms.push(uniformInfo);\n\n // Array (e.g. matrix) uniforms can occupy several 4x4 byte banks\n if (uniformInfo.size > 1) {\n for (let j = 0; j < uniformInfo.size; j++) {\n const elementName = `${name}[${j}]`;\n\n webglLocation = gl.getUniformLocation(program, elementName);\n\n const arrayElementUniformInfo = {\n ...uniformInfo,\n name: elementName,\n location: webglLocation as number\n };\n\n uniforms.push(arrayElementUniformInfo);\n }\n }\n }\n return uniforms;\n}\n\n/**\n * Extract info about all \"active\" uniform blocks\n *\n * (\"Active\" just means that unused (aka inactive) blocks may have been\n * optimized away during linking)\n */\nfunction readUniformBlocks(gl: WebGL2RenderingContext, program: WebGLProgram): UniformBlockBinding[] {\n const getBlockParameter = (blockIndex, pname) => gl.getActiveUniformBlockParameter(program, blockIndex, pname);\n\n const uniformBlocks: UniformBlockBinding[] = [];\n\n const blockCount = gl.getProgramParameter(program, gl.ACTIVE_UNIFORM_BLOCKS);\n for (let blockIndex = 0; blockIndex < blockCount; blockIndex++) {\n\n const blockInfo = {\n name: gl.getActiveUniformBlockName(program, blockIndex),\n location: getBlockParameter(blockIndex, gl.UNIFORM_BLOCK_BINDING),\n byteLength: getBlockParameter(blockIndex, gl.UNIFORM_BLOCK_DATA_SIZE),\n vertex: getBlockParameter(blockIndex, gl.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),\n fragment: getBlockParameter(blockIndex, gl.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),\n uniformCount: getBlockParameter(blockIndex, gl.UNIFORM_BLOCK_ACTIVE_UNIFORMS),\n uniformIndices: getBlockParameter(blockIndex, gl.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES),\n uniforms: []\n }\n\n for (let uniformIndex = 0; uniformIndex < blockInfo.uniformCount; ++uniformIndex) {\n // TODO - Can we extract more?\n }\n\n uniformBlocks.push(blockInfo);\n }\n\n uniformBlocks.sort((a, b) => a.location - b.location);\n return uniformBlocks;\n}\n\nconst SAMPLER_UNIFORMS_GL_TO_GPU = {\n [GL.SAMPLER_2D]: ['2d', 'float'],\n [GL.SAMPLER_CUBE]: ['cube', 'float'],\n [GL.SAMPLER_3D]: ['3d', 'float'],\n [GL.SAMPLER_2D_SHADOW]: ['3d', 'depth'],\n [GL.SAMPLER_2D_ARRAY]: ['2d-array', 'float'],\n [GL.SAMPLER_2D_ARRAY_SHADOW]: ['2d-array', 'depth'],\n [GL.SAMPLER_CUBE_SHADOW]: ['cube', 'float'],\n [GL.INT_SAMPLER_2D]: ['2d', 'sint'],\n [GL.INT_SAMPLER_3D]: ['3d', 'sint'],\n [GL.INT_SAMPLER_CUBE]: ['cube', 'sint'],\n [GL.INT_SAMPLER_2D_ARRAY]: ['2d-array', 'sint'],\n [GL.UNSIGNED_INT_SAMPLER_2D]: ['2d', 'sint'],\n [GL.UNSIGNED_INT_SAMPLER_3D]: ['3d', 'sint'],\n [GL.UNSIGNED_INT_SAMPLER_CUBE]: ['cube', 'sint'],\n [GL.UNSIGNED_INT_SAMPLER_2D_ARRAY]: ['2d-array', 'sint']\n};\n\n/**\n * Generate a list of \"WebGPU-style\" bindings for this program\n */\nfunction generateWebGPUStyleBindings(config: ProgramBindings) {\n const bindings: any = [];\n\n // Uniform blocks\n for (const blockInfo of config.uniformBlocks) {\n bindings.push({\n binding: blockInfo.location,\n visibility: (blockInfo.vertex ? 0x1 : 0) & (blockInfo.fragment ? 0x2 : 0),\n buffer: {\n type: 'uniform',\n // minBindingSize: blockInfo.size\n }\n })\n }\n\n // Sampler uniforms\n for (const uniformInfo of config.uniforms) {\n let sampler = SAMPLER_UNIFORMS_GL_TO_GPU[uniformInfo.type];\n if (sampler) {\n const [viewDimension, sampleType] = sampler;\n bindings.push({\n binding: uniformInfo.location,\n visibility: 0, // Not available in WebGL on individual uniforms?\n texture: {\n viewDimension,\n sampleType\n }\n });\n }\n }\n}\n\n// HELPERS\n\nfunction parseUniformName(name) {\n // Shortcut to avoid redundant or bad matches\n if (name[name.length - 1] !== ']'){\n return {\n name,\n length: 1,\n isArray: false\n };\n }\n\n // if array name then clean the array brackets\n const UNIFORM_NAME_REGEXP = /([^[]*)(\\[[0-9]+\\])?/;\n const matches = name.match(UNIFORM_NAME_REGEXP);\n if (!matches || matches.length < 2) {\n throw new Error(`Failed to parse GLSL uniform name ${name}`);\n }\n\n return {\n name: matches[1],\n length: matches[2] || 1,\n isArray: Boolean(matches[2])\n };\n}\n\n// Extract additional attribute metadata from shader names (based on attribute naming conventions)\nfunction inferProperties(accessor, location, name) {\n if (/instance/i.test(name)) {\n // Any attribute containing the word \"instance\" will be assumed to be instanced\n accessor.divisor = 1;\n }\n}\n"],"file":"get-program-bindings.js"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Accessor } from '../types/accessor';
|
|
2
|
-
/** Describes an attribute binding for a program */
|
|
3
|
-
export declare type AttributeBinding = {
|
|
4
|
-
location: number;
|
|
5
|
-
name: string;
|
|
6
|
-
accessor: Accessor;
|
|
7
|
-
};
|
|
8
|
-
/** Describes a varying binding for a program */
|
|
9
|
-
export declare type VaryingBinding = {
|
|
10
|
-
location: number;
|
|
11
|
-
name: string;
|
|
12
|
-
accessor: Accessor;
|
|
13
|
-
};
|
|
14
|
-
/** Describes a uniform block binding for a program */
|
|
15
|
-
export declare type UniformBlockBinding = {
|
|
16
|
-
location: number;
|
|
17
|
-
name: string;
|
|
18
|
-
byteLength: number;
|
|
19
|
-
vertex: boolean;
|
|
20
|
-
fragment: boolean;
|
|
21
|
-
uniformCount: number;
|
|
22
|
-
uniformIndices: number[];
|
|
23
|
-
};
|
|
24
|
-
/** Describes a uniform (sampler etc) binding for a program */
|
|
25
|
-
export declare type UniformBinding = {
|
|
26
|
-
location: number;
|
|
27
|
-
name: string;
|
|
28
|
-
size: number;
|
|
29
|
-
type: number;
|
|
30
|
-
isArray: boolean;
|
|
31
|
-
};
|
|
32
|
-
/**
|
|
33
|
-
* Holds metadata describing attribute configurations for a program's shaders
|
|
34
|
-
*/
|
|
35
|
-
export declare type ProgramBindings = {
|
|
36
|
-
readonly attributes: AttributeBinding[];
|
|
37
|
-
readonly varyings: VaryingBinding[];
|
|
38
|
-
readonly uniformBlocks: UniformBlockBinding[];
|
|
39
|
-
readonly uniforms: UniformBinding[];
|
|
40
|
-
};
|
|
41
|
-
//# sourceMappingURL=program-bindings.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"program-bindings.d.ts","sourceRoot":"","sources":["../../src/helpers/program-bindings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,mDAAmD;AACnD,oBAAY,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAA;AAED,gDAAgD;AAChD,oBAAY,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAA;AAED,sDAAsD;AACtD,oBAAY,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAA;AAED,8DAA8D;AAC9D,oBAAY,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB,CAAA;AAED;;GAEG;AACH,oBAAY,eAAe,GAAG;IAC5B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,mBAAmB,EAAE,CAAC;IAE9C,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;CACrC,CAAA"}
|
package/dist/types/accessor.d.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
// ACCESSORS
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Attribute descriptor object
|
|
5
|
-
*/
|
|
6
|
-
export type Accessor = {
|
|
7
|
-
format?: string;
|
|
8
|
-
offset?: number;
|
|
9
|
-
location?: number;
|
|
10
|
-
|
|
11
|
-
// can now be described with single WebGPU-style `format` string
|
|
12
|
-
type?: number;
|
|
13
|
-
size?: number;
|
|
14
|
-
normalized?: boolean;
|
|
15
|
-
integer?: boolean;
|
|
16
|
-
|
|
17
|
-
// deprecated - now shared between accessors in the surrounding BufferAccessor object
|
|
18
|
-
stride?: number;
|
|
19
|
-
divisor?: number;
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* List of attribute descriptors for one interleaved buffer
|
|
24
|
-
*/
|
|
25
|
-
export type BufferAccessors = {
|
|
26
|
-
stride?: number;
|
|
27
|
-
stepMode?: 'vertex' | 'instance';
|
|
28
|
-
attributes: Accessor[];
|
|
29
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export declare function getPrimitiveDrawMode(drawMode: any): 0 | 1 | 4;
|
|
2
|
-
export declare function getPrimitiveCount({ drawMode, vertexCount }: {
|
|
3
|
-
drawMode: any;
|
|
4
|
-
vertexCount: any;
|
|
5
|
-
}): any;
|
|
6
|
-
export declare function getVertexCount({ drawMode, vertexCount }: {
|
|
7
|
-
drawMode: any;
|
|
8
|
-
vertexCount: any;
|
|
9
|
-
}): any;
|
|
10
|
-
export declare function decomposeCompositeGLType(compositeGLType: any): {
|
|
11
|
-
type: any;
|
|
12
|
-
components: any;
|
|
13
|
-
};
|
|
14
|
-
export declare function getCompositeGLType(type: any, components: any): {
|
|
15
|
-
glType: string;
|
|
16
|
-
name: any;
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=attribute-utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"attribute-utils.d.ts","sourceRoot":"","sources":["../../src/webgl-utils/attribute-utils.ts"],"names":[],"mappings":"AAmFA,wBAAgB,oBAAoB,CAAC,QAAQ,KAAA,aAoB5C;AAGD,wBAAgB,iBAAiB,CAAC,EAAC,QAAQ,EAAE,WAAW,EAAC;;;CAAA,OAkBxD;AAGD,wBAAgB,cAAc,CAAC,EAAC,QAAQ,EAAE,WAAW,EAAC;;;CAAA,OAarD;AAGD,wBAAgB,wBAAwB,CAAC,eAAe,KAAA;;;EAOvD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,KAAA,EAAE,UAAU,KAAA;;;EAkBlD"}
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
import { assert } from '@luma.gl/api';
|
|
2
|
-
const GL_BYTE = 0x1400;
|
|
3
|
-
const GL_UNSIGNED_BYTE = 0x1401;
|
|
4
|
-
const GL_SHORT = 0x1402;
|
|
5
|
-
const GL_UNSIGNED_SHORT = 0x1403;
|
|
6
|
-
const GL_POINTS = 0x0;
|
|
7
|
-
const GL_LINES = 0x1;
|
|
8
|
-
const GL_LINE_LOOP = 0x2;
|
|
9
|
-
const GL_LINE_STRIP = 0x3;
|
|
10
|
-
const GL_TRIANGLES = 0x4;
|
|
11
|
-
const GL_TRIANGLE_STRIP = 0x5;
|
|
12
|
-
const GL_TRIANGLE_FAN = 0x6;
|
|
13
|
-
const GL_FLOAT = 0x1406;
|
|
14
|
-
const GL_FLOAT_VEC2 = 0x8b50;
|
|
15
|
-
const GL_FLOAT_VEC3 = 0x8b51;
|
|
16
|
-
const GL_FLOAT_VEC4 = 0x8b52;
|
|
17
|
-
const GL_INT = 0x1404;
|
|
18
|
-
const GL_INT_VEC2 = 0x8b53;
|
|
19
|
-
const GL_INT_VEC3 = 0x8b54;
|
|
20
|
-
const GL_INT_VEC4 = 0x8b55;
|
|
21
|
-
const GL_UNSIGNED_INT = 0x1405;
|
|
22
|
-
const GL_UNSIGNED_INT_VEC2 = 0x8dc6;
|
|
23
|
-
const GL_UNSIGNED_INT_VEC3 = 0x8dc7;
|
|
24
|
-
const GL_UNSIGNED_INT_VEC4 = 0x8dc8;
|
|
25
|
-
const GL_BOOL = 0x8b56;
|
|
26
|
-
const GL_BOOL_VEC2 = 0x8b57;
|
|
27
|
-
const GL_BOOL_VEC3 = 0x8b58;
|
|
28
|
-
const GL_BOOL_VEC4 = 0x8b59;
|
|
29
|
-
const GL_FLOAT_MAT2 = 0x8b5a;
|
|
30
|
-
const GL_FLOAT_MAT3 = 0x8b5b;
|
|
31
|
-
const GL_FLOAT_MAT4 = 0x8b5c;
|
|
32
|
-
const GL_FLOAT_MAT2x3 = 0x8b65;
|
|
33
|
-
const GL_FLOAT_MAT2x4 = 0x8b66;
|
|
34
|
-
const GL_FLOAT_MAT3x2 = 0x8b67;
|
|
35
|
-
const GL_FLOAT_MAT3x4 = 0x8b68;
|
|
36
|
-
const GL_FLOAT_MAT4x2 = 0x8b69;
|
|
37
|
-
const GL_FLOAT_MAT4x3 = 0x8b6a;
|
|
38
|
-
const COMPOSITE_GL_TYPES = {
|
|
39
|
-
[GL_FLOAT]: [GL_FLOAT, 1, 'float'],
|
|
40
|
-
[GL_FLOAT_VEC2]: [GL_FLOAT, 2, 'vec2'],
|
|
41
|
-
[GL_FLOAT_VEC3]: [GL_FLOAT, 3, 'vec3'],
|
|
42
|
-
[GL_FLOAT_VEC4]: [GL_FLOAT, 4, 'vec4'],
|
|
43
|
-
[GL_INT]: [GL_INT, 1, 'int'],
|
|
44
|
-
[GL_INT_VEC2]: [GL_INT, 2, 'ivec2'],
|
|
45
|
-
[GL_INT_VEC3]: [GL_INT, 3, 'ivec3'],
|
|
46
|
-
[GL_INT_VEC4]: [GL_INT, 4, 'ivec4'],
|
|
47
|
-
[GL_UNSIGNED_INT]: [GL_UNSIGNED_INT, 1, 'uint'],
|
|
48
|
-
[GL_UNSIGNED_INT_VEC2]: [GL_UNSIGNED_INT, 2, 'uvec2'],
|
|
49
|
-
[GL_UNSIGNED_INT_VEC3]: [GL_UNSIGNED_INT, 3, 'uvec3'],
|
|
50
|
-
[GL_UNSIGNED_INT_VEC4]: [GL_UNSIGNED_INT, 4, 'uvec4'],
|
|
51
|
-
[GL_BOOL]: [GL_FLOAT, 1, 'bool'],
|
|
52
|
-
[GL_BOOL_VEC2]: [GL_FLOAT, 2, 'bvec2'],
|
|
53
|
-
[GL_BOOL_VEC3]: [GL_FLOAT, 3, 'bvec3'],
|
|
54
|
-
[GL_BOOL_VEC4]: [GL_FLOAT, 4, 'bvec4'],
|
|
55
|
-
[GL_FLOAT_MAT2]: [GL_FLOAT, 8, 'mat2'],
|
|
56
|
-
[GL_FLOAT_MAT2x3]: [GL_FLOAT, 8, 'mat2x3'],
|
|
57
|
-
[GL_FLOAT_MAT2x4]: [GL_FLOAT, 8, 'mat2x4'],
|
|
58
|
-
[GL_FLOAT_MAT3]: [GL_FLOAT, 12, 'mat3'],
|
|
59
|
-
[GL_FLOAT_MAT3x2]: [GL_FLOAT, 12, 'mat3x2'],
|
|
60
|
-
[GL_FLOAT_MAT3x4]: [GL_FLOAT, 12, 'mat3x4'],
|
|
61
|
-
[GL_FLOAT_MAT4]: [GL_FLOAT, 16, 'mat4'],
|
|
62
|
-
[GL_FLOAT_MAT4x2]: [GL_FLOAT, 16, 'mat4x2'],
|
|
63
|
-
[GL_FLOAT_MAT4x3]: [GL_FLOAT, 16, 'mat4x3']
|
|
64
|
-
};
|
|
65
|
-
export function getPrimitiveDrawMode(drawMode) {
|
|
66
|
-
switch (drawMode) {
|
|
67
|
-
case GL_POINTS:
|
|
68
|
-
return GL_POINTS;
|
|
69
|
-
|
|
70
|
-
case GL_LINES:
|
|
71
|
-
return GL_LINES;
|
|
72
|
-
|
|
73
|
-
case GL_LINE_STRIP:
|
|
74
|
-
return GL_LINES;
|
|
75
|
-
|
|
76
|
-
case GL_LINE_LOOP:
|
|
77
|
-
return GL_LINES;
|
|
78
|
-
|
|
79
|
-
case GL_TRIANGLES:
|
|
80
|
-
return GL_TRIANGLES;
|
|
81
|
-
|
|
82
|
-
case GL_TRIANGLE_STRIP:
|
|
83
|
-
return GL_TRIANGLES;
|
|
84
|
-
|
|
85
|
-
case GL_TRIANGLE_FAN:
|
|
86
|
-
return GL_TRIANGLES;
|
|
87
|
-
|
|
88
|
-
default:
|
|
89
|
-
assert(false);
|
|
90
|
-
return 0;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
export function getPrimitiveCount({
|
|
94
|
-
drawMode,
|
|
95
|
-
vertexCount
|
|
96
|
-
}) {
|
|
97
|
-
switch (drawMode) {
|
|
98
|
-
case GL_POINTS:
|
|
99
|
-
case GL_LINE_LOOP:
|
|
100
|
-
return vertexCount;
|
|
101
|
-
|
|
102
|
-
case GL_LINES:
|
|
103
|
-
return vertexCount / 2;
|
|
104
|
-
|
|
105
|
-
case GL_LINE_STRIP:
|
|
106
|
-
return vertexCount - 1;
|
|
107
|
-
|
|
108
|
-
case GL_TRIANGLES:
|
|
109
|
-
return vertexCount / 3;
|
|
110
|
-
|
|
111
|
-
case GL_TRIANGLE_STRIP:
|
|
112
|
-
case GL_TRIANGLE_FAN:
|
|
113
|
-
return vertexCount - 2;
|
|
114
|
-
|
|
115
|
-
default:
|
|
116
|
-
assert(false);
|
|
117
|
-
return 0;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
export function getVertexCount({
|
|
121
|
-
drawMode,
|
|
122
|
-
vertexCount
|
|
123
|
-
}) {
|
|
124
|
-
const primitiveCount = getPrimitiveCount({
|
|
125
|
-
drawMode,
|
|
126
|
-
vertexCount
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
switch (getPrimitiveDrawMode(drawMode)) {
|
|
130
|
-
case GL_POINTS:
|
|
131
|
-
return primitiveCount;
|
|
132
|
-
|
|
133
|
-
case GL_LINES:
|
|
134
|
-
return primitiveCount * 2;
|
|
135
|
-
|
|
136
|
-
case GL_TRIANGLES:
|
|
137
|
-
return primitiveCount * 3;
|
|
138
|
-
|
|
139
|
-
default:
|
|
140
|
-
assert(false);
|
|
141
|
-
return 0;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
export function decomposeCompositeGLType(compositeGLType) {
|
|
145
|
-
const typeAndSize = COMPOSITE_GL_TYPES[compositeGLType];
|
|
146
|
-
|
|
147
|
-
if (!typeAndSize) {
|
|
148
|
-
return null;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
const [type, components] = typeAndSize;
|
|
152
|
-
return {
|
|
153
|
-
type,
|
|
154
|
-
components
|
|
155
|
-
};
|
|
156
|
-
}
|
|
157
|
-
export function getCompositeGLType(type, components) {
|
|
158
|
-
switch (type) {
|
|
159
|
-
case GL_BYTE:
|
|
160
|
-
case GL_UNSIGNED_BYTE:
|
|
161
|
-
case GL_SHORT:
|
|
162
|
-
case GL_UNSIGNED_SHORT:
|
|
163
|
-
type = GL_FLOAT;
|
|
164
|
-
break;
|
|
165
|
-
|
|
166
|
-
default:
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
for (const glType in COMPOSITE_GL_TYPES) {
|
|
170
|
-
const [compType, compComponents, name] = COMPOSITE_GL_TYPES[glType];
|
|
171
|
-
|
|
172
|
-
if (compType === type && compComponents === components) {
|
|
173
|
-
return {
|
|
174
|
-
glType,
|
|
175
|
-
name
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
return null;
|
|
181
|
-
}
|
|
182
|
-
//# sourceMappingURL=attribute-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/webgl-utils/attribute-utils.ts"],"names":["assert","GL_BYTE","GL_UNSIGNED_BYTE","GL_SHORT","GL_UNSIGNED_SHORT","GL_POINTS","GL_LINES","GL_LINE_LOOP","GL_LINE_STRIP","GL_TRIANGLES","GL_TRIANGLE_STRIP","GL_TRIANGLE_FAN","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_MAT3","GL_FLOAT_MAT4","GL_FLOAT_MAT2x3","GL_FLOAT_MAT2x4","GL_FLOAT_MAT3x2","GL_FLOAT_MAT3x4","GL_FLOAT_MAT4x2","GL_FLOAT_MAT4x3","COMPOSITE_GL_TYPES","getPrimitiveDrawMode","drawMode","getPrimitiveCount","vertexCount","getVertexCount","primitiveCount","decomposeCompositeGLType","compositeGLType","typeAndSize","type","components","getCompositeGLType","glType","compType","compComponents","name"],"mappings":"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","sourcesContent":["import {assert} from '@luma.gl/api';\n\nconst GL_BYTE = 0x1400;\nconst GL_UNSIGNED_BYTE = 0x1401;\nconst GL_SHORT = 0x1402;\nconst GL_UNSIGNED_SHORT = 0x1403;\n\nconst GL_POINTS = 0x0;\nconst GL_LINES = 0x1;\nconst GL_LINE_LOOP = 0x2;\nconst GL_LINE_STRIP = 0x3;\nconst GL_TRIANGLES = 0x4;\nconst GL_TRIANGLE_STRIP = 0x5;\nconst GL_TRIANGLE_FAN = 0x6;\n\n// Local constants - these will \"collapse\" during minification\nconst GL_FLOAT = 0x1406;\nconst GL_FLOAT_VEC2 = 0x8b50;\nconst GL_FLOAT_VEC3 = 0x8b51;\nconst GL_FLOAT_VEC4 = 0x8b52;\n\nconst GL_INT = 0x1404;\nconst GL_INT_VEC2 = 0x8b53;\nconst GL_INT_VEC3 = 0x8b54;\nconst GL_INT_VEC4 = 0x8b55;\n\nconst GL_UNSIGNED_INT = 0x1405;\nconst GL_UNSIGNED_INT_VEC2 = 0x8dc6;\nconst GL_UNSIGNED_INT_VEC3 = 0x8dc7;\nconst GL_UNSIGNED_INT_VEC4 = 0x8dc8;\n\nconst GL_BOOL = 0x8b56;\nconst GL_BOOL_VEC2 = 0x8b57;\nconst GL_BOOL_VEC3 = 0x8b58;\nconst GL_BOOL_VEC4 = 0x8b59;\n\nconst GL_FLOAT_MAT2 = 0x8b5a;\nconst GL_FLOAT_MAT3 = 0x8b5b;\nconst GL_FLOAT_MAT4 = 0x8b5c;\n\nconst GL_FLOAT_MAT2x3 = 0x8b65;\nconst GL_FLOAT_MAT2x4 = 0x8b66;\nconst GL_FLOAT_MAT3x2 = 0x8b67;\nconst GL_FLOAT_MAT3x4 = 0x8b68;\nconst GL_FLOAT_MAT4x2 = 0x8b69;\nconst GL_FLOAT_MAT4x3 = 0x8b6a;\n\n// Composite types table\nconst COMPOSITE_GL_TYPES = {\n [GL_FLOAT]: [GL_FLOAT, 1, 'float'],\n [GL_FLOAT_VEC2]: [GL_FLOAT, 2, 'vec2'],\n [GL_FLOAT_VEC3]: [GL_FLOAT, 3, 'vec3'],\n [GL_FLOAT_VEC4]: [GL_FLOAT, 4, 'vec4'],\n\n [GL_INT]: [GL_INT, 1, 'int'],\n [GL_INT_VEC2]: [GL_INT, 2, 'ivec2'],\n [GL_INT_VEC3]: [GL_INT, 3, 'ivec3'],\n [GL_INT_VEC4]: [GL_INT, 4, 'ivec4'],\n\n [GL_UNSIGNED_INT]: [GL_UNSIGNED_INT, 1, 'uint'],\n [GL_UNSIGNED_INT_VEC2]: [GL_UNSIGNED_INT, 2, 'uvec2'],\n [GL_UNSIGNED_INT_VEC3]: [GL_UNSIGNED_INT, 3, 'uvec3'],\n [GL_UNSIGNED_INT_VEC4]: [GL_UNSIGNED_INT, 4, 'uvec4'],\n\n [GL_BOOL]: [GL_FLOAT, 1, 'bool'],\n [GL_BOOL_VEC2]: [GL_FLOAT, 2, 'bvec2'],\n [GL_BOOL_VEC3]: [GL_FLOAT, 3, 'bvec3'],\n [GL_BOOL_VEC4]: [GL_FLOAT, 4, 'bvec4'],\n\n [GL_FLOAT_MAT2]: [GL_FLOAT, 8, 'mat2'], // 4\n [GL_FLOAT_MAT2x3]: [GL_FLOAT, 8, 'mat2x3'], // 6\n [GL_FLOAT_MAT2x4]: [GL_FLOAT, 8, 'mat2x4'], // 8\n\n [GL_FLOAT_MAT3]: [GL_FLOAT, 12, 'mat3'], // 9\n [GL_FLOAT_MAT3x2]: [GL_FLOAT, 12, 'mat3x2'], // 6\n [GL_FLOAT_MAT3x4]: [GL_FLOAT, 12, 'mat3x4'], // 12\n\n [GL_FLOAT_MAT4]: [GL_FLOAT, 16, 'mat4'], // 16\n [GL_FLOAT_MAT4x2]: [GL_FLOAT, 16, 'mat4x2'], // 8\n [GL_FLOAT_MAT4x3]: [GL_FLOAT, 16, 'mat4x3'] // 12\n};\n\n// Counts the number of complete primitives given a number of vertices and a drawMode\nexport function getPrimitiveDrawMode(drawMode) {\n switch (drawMode) {\n case GL_POINTS:\n return GL_POINTS;\n case GL_LINES:\n return GL_LINES;\n case GL_LINE_STRIP:\n return GL_LINES;\n case GL_LINE_LOOP:\n return GL_LINES;\n case GL_TRIANGLES:\n return GL_TRIANGLES;\n case GL_TRIANGLE_STRIP:\n return GL_TRIANGLES;\n case GL_TRIANGLE_FAN:\n return GL_TRIANGLES;\n default:\n assert(false);\n return 0;\n }\n}\n\n// Counts the number of complete \"primitives\" given a number of vertices and a drawMode\nexport function getPrimitiveCount({drawMode, vertexCount}) {\n switch (drawMode) {\n case GL_POINTS:\n case GL_LINE_LOOP:\n return vertexCount;\n case GL_LINES:\n return vertexCount / 2;\n case GL_LINE_STRIP:\n return vertexCount - 1;\n case GL_TRIANGLES:\n return vertexCount / 3;\n case GL_TRIANGLE_STRIP:\n case GL_TRIANGLE_FAN:\n return vertexCount - 2;\n default:\n assert(false);\n return 0;\n }\n}\n\n// Counts the number of vertices after splitting the vertex stream into separate \"primitives\"\nexport function getVertexCount({drawMode, vertexCount}) {\n const primitiveCount = getPrimitiveCount({drawMode, vertexCount});\n switch (getPrimitiveDrawMode(drawMode)) {\n case GL_POINTS:\n return primitiveCount;\n case GL_LINES:\n return primitiveCount * 2;\n case GL_TRIANGLES:\n return primitiveCount * 3;\n default:\n assert(false);\n return 0;\n }\n}\n\n// Decomposes a composite type GL.VEC3 into a basic type (GL.FLOAT) and components (3)\nexport function decomposeCompositeGLType(compositeGLType) {\n const typeAndSize = COMPOSITE_GL_TYPES[compositeGLType];\n if (!typeAndSize) {\n return null;\n }\n const [type, components] = typeAndSize;\n return {type, components};\n}\n\nexport function getCompositeGLType(type, components) {\n switch (type) {\n case GL_BYTE:\n case GL_UNSIGNED_BYTE:\n case GL_SHORT:\n case GL_UNSIGNED_SHORT:\n type = GL_FLOAT;\n break;\n default:\n }\n\n for (const glType in COMPOSITE_GL_TYPES) {\n const [compType, compComponents, name] = COMPOSITE_GL_TYPES[glType];\n if (compType === type && compComponents === components) {\n return {glType, name};\n }\n }\n return null;\n}\n"],"file":"attribute-utils.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants-to-keys.d.ts","sourceRoot":"","sources":["../../src/webgl-utils/constants-to-keys.ts"],"names":[],"mappings":"AAGA,wBAAgB,WAAW,CAAC,EAAE,KAAA,EAAE,IAAI,KAAA,OAiBnC;AAED,wBAAgB,MAAM,CAAC,EAAE,KAAA,EAAE,KAAK,KAAA,UAQ/B;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAA,EAAE,KAAK,KAAA,UASnC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/webgl-utils/constants-to-keys.ts"],"names":["assert","getKeyValue","gl","name","number","Number","isNaN","replace","value","undefined","getKey","key","String","getKeyType"],"mappings":"AAAA,SAAQA,MAAR,QAAqB,cAArB;AAGA,OAAO,SAASC,WAAT,CAAqBC,EAArB,EAAyBC,IAAzB,EAA+B;AAEpC,MAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;AAC5B,WAAOA,IAAP;AACD;;AAGD,QAAMC,MAAM,GAAGC,MAAM,CAACF,IAAD,CAArB;;AACA,MAAI,CAACG,KAAK,CAACF,MAAD,CAAV,EAAoB;AAClB,WAAOA,MAAP;AACD;;AAGDD,EAAAA,IAAI,GAAGA,IAAI,CAACI,OAAL,CAAa,OAAb,EAAsB,EAAtB,CAAP;AACA,QAAMC,KAAK,GAAGN,EAAE,CAACC,IAAD,CAAhB;AACAH,EAAAA,MAAM,CAACQ,KAAK,KAAKC,SAAX,4CAAyDN,IAAzD,EAAN;AACA,SAAOK,KAAP;AACD;AAED,OAAO,SAASE,MAAT,CAAgBR,EAAhB,EAAoBM,KAApB,EAA2B;AAChCA,EAAAA,KAAK,GAAGH,MAAM,CAACG,KAAD,CAAd;;AACA,OAAK,MAAMG,GAAX,IAAkBT,EAAlB,EAAsB;AACpB,QAAIA,EAAE,CAACS,GAAD,CAAF,KAAYH,KAAhB,EAAuB;AACrB,0BAAaG,GAAb;AACD;AACF;;AACD,SAAOC,MAAM,CAACJ,KAAD,CAAb;AACD;AAED,OAAO,SAASK,UAAT,CAAoBX,EAApB,EAAwBM,KAAxB,EAA+B;AACpCR,EAAAA,MAAM,CAACQ,KAAK,KAAKC,SAAX,EAAsB,eAAtB,CAAN;AACAD,EAAAA,KAAK,GAAGH,MAAM,CAACG,KAAD,CAAd;;AACA,OAAK,MAAMG,GAAX,IAAkBT,EAAlB,EAAsB;AACpB,QAAIA,EAAE,CAACS,GAAD,CAAF,KAAYH,KAAhB,EAAuB;AACrB,0BAAaG,GAAb;AACD;AACF;;AACD,SAAOC,MAAM,CAACJ,KAAD,CAAb;AACD","sourcesContent":["import {assert} from '@luma.gl/api';\n\n// Resolve a WebGL enumeration name (returns itself if already a number)\nexport function getKeyValue(gl, name) {\n // If not a string, return (assume number)\n if (typeof name !== 'string') {\n return name;\n }\n\n // If string converts to number, return number\n const number = Number(name);\n if (!isNaN(number)) {\n return number;\n }\n\n // Look up string, after removing any 'GL.' or 'gl.' prefix\n name = name.replace(/^.*\\./, '');\n const value = gl[name];\n assert(value !== undefined, `Accessing undefined constant GL.${name}`);\n return value;\n}\n\nexport function getKey(gl, value) {\n value = Number(value);\n for (const key in gl) {\n if (gl[key] === value) {\n return `GL.${key}`;\n }\n }\n return String(value);\n}\n\nexport function getKeyType(gl, value) {\n assert(value !== undefined, 'undefined key');\n value = Number(value);\n for (const key in gl) {\n if (gl[key] === value) {\n return `GL.${key}`;\n }\n }\n return String(value);\n}\n"],"file":"constants-to-keys.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"format-utils.d.ts","sourceRoot":"","sources":["../../src/webgl-utils/format-utils.ts"],"names":[],"mappings":"AAIA,wBAAgB,oBAAoB,CAAC,MAAM,KAAA,qBAoB1C;AAGD,wBAAgB,aAAa,CAAC,IAAI,KAAA,iBAejC"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { assert } from '@luma.gl/api';
|
|
2
|
-
import GL from '@luma.gl/constants';
|
|
3
|
-
export function glFormatToComponents(format) {
|
|
4
|
-
switch (format) {
|
|
5
|
-
case GL.ALPHA:
|
|
6
|
-
case GL.R32F:
|
|
7
|
-
case GL.RED:
|
|
8
|
-
return 1;
|
|
9
|
-
|
|
10
|
-
case GL.RG32F:
|
|
11
|
-
case GL.RG:
|
|
12
|
-
return 2;
|
|
13
|
-
|
|
14
|
-
case GL.RGB:
|
|
15
|
-
case GL.RGB32F:
|
|
16
|
-
return 3;
|
|
17
|
-
|
|
18
|
-
case GL.RGBA:
|
|
19
|
-
case GL.RGBA32F:
|
|
20
|
-
return 4;
|
|
21
|
-
|
|
22
|
-
default:
|
|
23
|
-
assert(false);
|
|
24
|
-
return 0;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
export function glTypeToBytes(type) {
|
|
28
|
-
switch (type) {
|
|
29
|
-
case GL.UNSIGNED_BYTE:
|
|
30
|
-
return 1;
|
|
31
|
-
|
|
32
|
-
case GL.UNSIGNED_SHORT_5_6_5:
|
|
33
|
-
case GL.UNSIGNED_SHORT_4_4_4_4:
|
|
34
|
-
case GL.UNSIGNED_SHORT_5_5_5_1:
|
|
35
|
-
return 2;
|
|
36
|
-
|
|
37
|
-
case GL.FLOAT:
|
|
38
|
-
return 4;
|
|
39
|
-
|
|
40
|
-
default:
|
|
41
|
-
assert(false);
|
|
42
|
-
return 0;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=format-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/webgl-utils/format-utils.ts"],"names":["assert","GL","glFormatToComponents","format","ALPHA","R32F","RED","RG32F","RG","RGB","RGB32F","RGBA","RGBA32F","glTypeToBytes","type","UNSIGNED_BYTE","UNSIGNED_SHORT_5_6_5","UNSIGNED_SHORT_4_4_4_4","UNSIGNED_SHORT_5_5_5_1","FLOAT"],"mappings":"AAAA,SAAQA,MAAR,QAAqB,cAArB;AACA,OAAOC,EAAP,MAAe,oBAAf;AAGA,OAAO,SAASC,oBAAT,CAA8BC,MAA9B,EAAsC;AAC3C,UAAQA,MAAR;AACE,SAAKF,EAAE,CAACG,KAAR;AACA,SAAKH,EAAE,CAACI,IAAR;AACA,SAAKJ,EAAE,CAACK,GAAR;AACE,aAAO,CAAP;;AACF,SAAKL,EAAE,CAACM,KAAR;AACA,SAAKN,EAAE,CAACO,EAAR;AACE,aAAO,CAAP;;AACF,SAAKP,EAAE,CAACQ,GAAR;AACA,SAAKR,EAAE,CAACS,MAAR;AACE,aAAO,CAAP;;AACF,SAAKT,EAAE,CAACU,IAAR;AACA,SAAKV,EAAE,CAACW,OAAR;AACE,aAAO,CAAP;;AAEF;AACEZ,MAAAA,MAAM,CAAC,KAAD,CAAN;AACA,aAAO,CAAP;AAjBJ;AAmBD;AAGD,OAAO,SAASa,aAAT,CAAuBC,IAAvB,EAA6B;AAClC,UAAQA,IAAR;AACE,SAAKb,EAAE,CAACc,aAAR;AACE,aAAO,CAAP;;AACF,SAAKd,EAAE,CAACe,oBAAR;AACA,SAAKf,EAAE,CAACgB,sBAAR;AACA,SAAKhB,EAAE,CAACiB,sBAAR;AACE,aAAO,CAAP;;AACF,SAAKjB,EAAE,CAACkB,KAAR;AACE,aAAO,CAAP;;AAEF;AACEnB,MAAAA,MAAM,CAAC,KAAD,CAAN;AACA,aAAO,CAAP;AAZJ;AAcD","sourcesContent":["import {assert} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\n\n// Returns number of components in a specific readPixels WebGL format\nexport function glFormatToComponents(format) {\n switch (format) {\n case GL.ALPHA:\n case GL.R32F:\n case GL.RED:\n return 1;\n case GL.RG32F:\n case GL.RG:\n return 2;\n case GL.RGB:\n case GL.RGB32F:\n return 3;\n case GL.RGBA:\n case GL.RGBA32F:\n return 4;\n // TODO: Add support for additional WebGL2 formats\n default:\n assert(false);\n return 0;\n }\n}\n\n// Return byte count for given readPixels WebGL type\nexport function glTypeToBytes(type) {\n switch (type) {\n case GL.UNSIGNED_BYTE:\n return 1;\n case GL.UNSIGNED_SHORT_5_6_5:\n case GL.UNSIGNED_SHORT_4_4_4_4:\n case GL.UNSIGNED_SHORT_5_5_5_1:\n return 2;\n case GL.FLOAT:\n return 4;\n // TODO: Add support for additional WebGL2 types\n default:\n assert(false);\n return 0;\n }\n}\n"],"file":"format-utils.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-error.d.ts","sourceRoot":"","sources":["../../src/webgl-utils/get-error.ts"],"names":[],"mappings":"AAqCA,wBAAgB,UAAU,CAAC,EAAE,KAAA,SAS5B;AAED,wBAAgB,YAAY,CAAC,EAAE,KAAA,QAO9B"}
|