@luma.gl/webgl 8.6.0-alpha.5 → 9.0.0-alpha.11
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 +52 -0
- package/dist/adapter/webgl-canvas-context.js.map +1 -0
- package/dist/adapter/webgl-device.d.ts +77 -83
- package/dist/adapter/webgl-device.d.ts.map +1 -1
- package/dist/adapter/webgl-device.js +253 -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/{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 +0 -5
- package/dist/context/context/context-state.d.ts.map +1 -1
- package/dist/context/context/context-state.js +1 -6
- 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/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 +94 -0
- package/dist/es5/adapter/webgl-canvas-context.js.map +1 -0
- package/dist/es5/adapter/webgl-device.js +325 -131
- 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 -6
- 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/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 +63 -305
- 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 +52 -0
- package/dist/esm/adapter/webgl-canvas-context.js.map +1 -0
- package/dist/esm/adapter/webgl-device.js +253 -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/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 -6
- 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/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 -32
- 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 -47
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -32
- 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 +72 -0
- package/src/adapter/webgl-device.ts +312 -285
- 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 -12
- 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/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 -105
- 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/device-pixels.d.ts +0 -25
- package/dist/context/context/device-pixels.d.ts.map +0 -1
- package/dist/context/context/device-pixels.js +0 -98
- package/dist/context/context/device-pixels.js.map +0 -1
- package/dist/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/device-pixels.js +0 -115
- package/dist/es5/context/context/device-pixels.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/device-pixels.js +0 -98
- package/dist/esm/context/context/device-pixels.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/device-pixels.ts +0 -147
- 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 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/classes/framebuffer.ts"],"names":["log","assert","GL","WebGLDevice","getWebGL2Context","assertWebGL2Context","getKey","Resource","Texture2D","Renderbuffer","clear","clearBuffer","copyToDataUrl","ERR_MULTIPLE_RENDERTARGETS","ImmutableFramebuffer","constructor","gl","props","attach","_initialize","attachments","readBuffer","drawBuffers","checkStatus","status","getStatus","FRAMEBUFFER_COMPLETE","Error","_getFrameBufferStatus","prevHandle","bindFramebuffer","FRAMEBUFFER","handle","checkFramebufferStatus","show","window","open","logLevel","message","level","id","image","targetMaxHeight","bind","target","unbind","options","_attach","_setReadBuffer","_setDrawBuffers","key","undefined","attachmentPoint","Number","attachment","_attachOne","_attachRenderbuffer","Array","isArray","texture","layer","_attachTexture","renderbuffer","framebufferRenderbuffer","RENDERBUFFER","bindTexture","TEXTURE_2D_ARRAY","TEXTURE_3D","gl2","framebufferTextureLayer","TEXTURE_CUBE_MAP","face","mapIndexToCubeMapFace","framebufferTexture2D","TEXTURE_2D","COLOR_ATTACHMENT0","BACK","ext","getExtension","drawBuffersWEBGL","length","_createHandle","createFramebuffer","_deleteHandle","deleteFramebuffer","_bindHandle","Framebuffer","isSupported","isFloatColorBufferSupported","getDefaultFramebuffer","webglDevice","fromContext","defaultFramebuffer","MAX_COLOR_ATTACHMENTS","getParameter","MAX_DRAW_BUFFERS","initialize","Object","seal","color","depth","DEPTH_ATTACHMENT","DEPTH_STENCIL_ATTACHMENT","stencil","STENCIL_ATTACHMENT","width","height","check","object","resize","_createDefaultAttachments","update","clearAttachments","delete","resource","ownResources","resizeAttachments","size","drawingBufferWidth","drawingBufferHeight","newAttachments","keys","forEach","assign","descriptor","_unattach","filter","value","drawBuffer","blit","opts","error","invalidate","x","y","READ_FRAMEBUFFER","invalidateAll","invalidateFramebuffer","getAttachmentParameter","pname","_getAttachmentParameterFallback","getFramebufferAttachmentParameter","getAttachmentParameters","parameters","ATTACHMENT_PARAMETERS","values","getParameters","attachmentName","defaultAttachments","pixels","format","RGBA","type","UNSIGNED_BYTE","mipmaps","TEXTURE_MIN_FILTER","LINEAR","TEXTURE_MAG_FILTER","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","push","DEPTH24_STENCIL8","DEPTH_COMPONENT16","oldAttachment","features","FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER","has","FRAMEBUFFER_ATTACHMENT_RED_SIZE","FRAMEBUFFER_ATTACHMENT_GREEN_SIZE","FRAMEBUFFER_ATTACHMENT_BLUE_SIZE","FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE","FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE","FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE","FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE","UNSIGNED_INT","FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING","FRAMEBUFFER_ATTACHMENT_OBJECT_NAME","FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE","TEXTURE_CUBE_MAP_POSITIVE_X","STATUS","colorBufferFloat","colorBufferHalfFloat","supported","Boolean"],"mappings":"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","sourcesContent":["import {log, assert} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport WebGLDevice from '../adapter/webgl-device';\nimport {getWebGL2Context, assertWebGL2Context} from '../context/context/webgl-checks';\nimport {getKey} from '../webgl-utils/constants-to-keys';\nimport Resource, {ResourceProps} from './webgl-resource';\nimport Texture2D from './texture-2d';\nimport Renderbuffer from './renderbuffer';\nimport {clear, clearBuffer} from './clear';\nimport {copyToDataUrl} from './copy-and-blit';\n\nconst ERR_MULTIPLE_RENDERTARGETS = 'Multiple render targets not supported';\n\ntype TextureAttachment = {\n texture: Texture2D;\n layer?: number; // = 0\n level?: number; // = 0\n};\n\ntype Attachment = Renderbuffer | Texture2D | TextureAttachment;\n\nexport type ImmutableFramebufferProps = ResourceProps & {\n attachments?: Record<string, Attachment>;\n readBuffer?: number;\n drawBuffers?: number[];\n check?: boolean;\n};\n\nexport type FramebufferProps = ImmutableFramebufferProps & {\n width?: number;\n height?: number;\n color?: boolean;\n depth?: boolean;\n stencil?: boolean;\n};\n\ntype colorBufferFloatOptions = {colorBufferFloat?: boolean; colorBufferHalfFloat?: boolean};\n\nexport class ImmutableFramebuffer extends Resource<FramebufferProps> {\n constructor(gl: WebGLRenderingContext, props?: FramebufferProps) {\n super(WebGLDevice.attach(gl), props, {} as any);\n this._initialize({\n attachments: props?.attachments || {},\n readBuffer: props?.readBuffer,\n drawBuffers: props?.drawBuffers\n });\n }\n\n checkStatus(): this {\n const {gl} = this;\n const status = this.getStatus();\n if (status !== gl.FRAMEBUFFER_COMPLETE) {\n throw new Error(_getFrameBufferStatus(status));\n }\n return this;\n }\n\n getStatus(): number {\n const {gl} = this;\n const prevHandle = gl.bindFramebuffer(GL.FRAMEBUFFER, this.handle);\n const status = gl.checkFramebufferStatus(GL.FRAMEBUFFER);\n // @ts-expect-error\n gl.bindFramebuffer(GL.FRAMEBUFFER, prevHandle || null);\n return status;\n }\n\n // DEBUG\n\n // Note: Will only work when called in an event handler\n show() {\n if (typeof window !== 'undefined') {\n window.open(copyToDataUrl(this), 'luma-debug-texture');\n }\n return this;\n }\n\n log(logLevel = 0, message = '') {\n if (logLevel > log.level || typeof window === 'undefined') {\n return this;\n }\n message = message || `Framebuffer ${this.id}`;\n const image = copyToDataUrl(this, {targetMaxHeight: 100});\n // @ts-expect-error probe.gl typings incorrectly require priority...\n log.image({logLevel, message, image})();\n return this;\n }\n\n // WEBGL INTERFACE\n bind({target = GL.FRAMEBUFFER} = {}) {\n this.gl.bindFramebuffer(target, this.handle);\n return this;\n }\n\n unbind({target = GL.FRAMEBUFFER} = {}) {\n this.gl.bindFramebuffer(target, null);\n return this;\n }\n\n // PRIVATE\n\n _initialize(options: {attachments: Record<string, Attachment>; readBuffer?: number; drawBuffers?: number[]}): this {\n const {attachments = {}, readBuffer, drawBuffers} = options;\n\n this._attach(attachments);\n\n // Multiple render target support, set read buffer and draw buffers\n const prevHandle = this.gl.bindFramebuffer(GL.FRAMEBUFFER, this.handle);\n if (readBuffer) {\n this._setReadBuffer(readBuffer);\n }\n if (drawBuffers) {\n this._setDrawBuffers(drawBuffers);\n }\n // @ts-expect-error\n this.gl.bindFramebuffer(GL.FRAMEBUFFER, prevHandle || null);\n\n return this;\n }\n\n /** Attach from a map of attachments */\n _attach(attachments: Record<string, Attachment>) {\n const prevHandle = this.gl.bindFramebuffer(GL.FRAMEBUFFER, this.handle);\n\n // Walk the attachments\n for (const key in attachments) {\n // Ensure key is not undefined\n assert(key !== undefined, 'Misspelled framebuffer binding point?');\n const attachmentPoint = Number(key) as GL;\n const attachment = attachments[attachmentPoint];\n this._attachOne(attachmentPoint, attachment);\n }\n\n // @ts-expect-error\n this.gl.bindFramebuffer(GL.FRAMEBUFFER, prevHandle || null);\n }\n\n /** Attach one attachment */\n _attachOne(attachmentPoint: GL, attachment: Attachment): Renderbuffer | Texture2D {\n if (attachment instanceof Renderbuffer) {\n this._attachRenderbuffer(attachmentPoint, attachment);\n return attachment;\n } else if (Array.isArray(attachment)) {\n const [texture, layer = 0, level = 0] = attachment;\n this._attachTexture(attachmentPoint, texture, layer, level);\n return texture;\n } else if (attachment instanceof Texture2D) {\n this._attachTexture(attachmentPoint, attachment, 0, 0);\n return attachment;\n }\n }\n\n _attachRenderbuffer(attachment: GL, renderbuffer: Renderbuffer): void {\n this.gl.framebufferRenderbuffer(GL.FRAMEBUFFER, attachment, GL.RENDERBUFFER, renderbuffer.handle);\n }\n\n /**\n * @param attachment \n * @param texture \n * @param layer = 0 - index into Texture2DArray and Texture3D or face for `TextureCubeMap`\n * @param level = 0 - mipmapLevel (must be 0 in WebGL1)\n */\n _attachTexture(attachment: GL, texture: Texture2D, layer: number, level: number): void {\n const {gl} = this;\n gl.bindTexture(texture.target, texture.handle);\n\n switch (texture.target) {\n case GL.TEXTURE_2D_ARRAY:\n case GL.TEXTURE_3D:\n const gl2 = assertWebGL2Context(gl);\n gl2.framebufferTextureLayer(GL.FRAMEBUFFER, attachment, texture.target, level, layer);\n break;\n\n case GL.TEXTURE_CUBE_MAP:\n // layer must be a cubemap face (or if index, converted to cube map face)\n const face = mapIndexToCubeMapFace(layer);\n gl.framebufferTexture2D(GL.FRAMEBUFFER, attachment, face, texture.handle, level);\n break;\n\n case GL.TEXTURE_2D:\n gl.framebufferTexture2D(GL.FRAMEBUFFER, attachment, GL.TEXTURE_2D, texture.handle, level);\n break;\n\n default:\n assert(false, 'Illegal texture type');\n }\n\n gl.bindTexture(texture.target, null);\n }\n\n /** @note Expects framebuffer to be bound */\n _setReadBuffer(readBuffer: number): void {\n const gl2 = getWebGL2Context(this.gl);\n if (gl2) {\n gl2.readBuffer(readBuffer);\n } else {\n // Setting to color attachment 0 is a noop, so allow it in WebGL1\n assert(\n readBuffer === GL.COLOR_ATTACHMENT0 || readBuffer === GL.BACK,\n ERR_MULTIPLE_RENDERTARGETS\n );\n }\n }\n\n /** @note Expects framebuffer to be bound */\n _setDrawBuffers(drawBuffers: number[]) {\n const {gl} = this;\n const gl2 = assertWebGL2Context(gl);\n if (gl2) {\n gl2.drawBuffers(drawBuffers);\n } else {\n // TODO - is this not handled by polyfills?\n const ext = gl.getExtension('WEBGL_draw_buffers');\n if (ext) {\n ext.drawBuffersWEBGL(drawBuffers);\n } else {\n // Setting a single draw buffer to color attachment 0 is a noop, allow in WebGL1\n assert(\n drawBuffers.length === 1 &&\n (drawBuffers[0] === GL.COLOR_ATTACHMENT0 || drawBuffers[0] === GL.BACK),\n ERR_MULTIPLE_RENDERTARGETS\n );\n }\n }\n }\n\n // RESOURCE METHODS\n\n _createHandle() {\n return this.gl.createFramebuffer();\n }\n\n _deleteHandle() {\n this.gl.deleteFramebuffer(this.handle);\n }\n\n _bindHandle(handle) {\n return this.gl.bindFramebuffer(GL.FRAMEBUFFER, handle);\n }\n}\n\nexport default class Framebuffer extends ImmutableFramebuffer {\n width = null;\n height = null;\n attachments = {};\n readBuffer = GL.COLOR_ATTACHMENT0;\n drawBuffers = [GL.COLOR_ATTACHMENT0];\n ownResources = [];\n\n static readonly FRAMEBUFFER_ATTACHMENT_PARAMETERS = [\n GL.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, // WebGLRenderbuffer or WebGLTexture\n GL.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, // GL.RENDERBUFFER, GL.TEXTURE, GL.NONE\n // GL.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE, // GL.TEXTURE_CUBE_MAP_POSITIVE_X, etc.\n // GL.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL, // GLint\n // EXT_sRGB or WebGL2\n GL.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING, // GL.LINEAR, GL.SRBG\n // WebGL2\n // GL.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER, // GLint\n GL.FRAMEBUFFER_ATTACHMENT_RED_SIZE, // GLint\n GL.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE, // GLint\n GL.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE, // GLint\n GL.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE, // GLint\n GL.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE, // GLint\n GL.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE // GLint\n // GL.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE\n // GL.FLOAT, GL.INT, GL.UNSIGNED_INT, GL.SIGNED_NORMALIZED, OR GL.UNSIGNED_NORMALIZED.\n ];\n\n /**\n * Check color buffer float support\n * @param options.colorBufferFloat Whether floating point textures can be rendered and read\n * @param options.colorBufferHalfFloat Whether half float textures can be rendered and read\n */\n static isSupported(gl: WebGLRenderingContext, options: colorBufferFloatOptions): boolean {\n return isFloatColorBufferSupported(gl, options);\n }\n\n /**\n * returns the default Framebuffer\n * Creates a Framebuffer object wrapper for the default WebGL framebuffer (target === null)\n */\n static getDefaultFramebuffer(gl: WebGLRenderingContext): Framebuffer {\n const webglDevice = WebGLDevice.fromContext(gl);\n webglDevice.defaultFramebuffer =\n webglDevice.defaultFramebuffer ||\n new Framebuffer(gl, {\n id: 'default-framebuffer',\n handle: null,\n attachments: {}\n });\n // TODO - can we query for and get a handle to the GL.FRONT renderbuffer?\n return webglDevice.defaultFramebuffer;\n }\n\n get MAX_COLOR_ATTACHMENTS(): number {\n const gl2 = assertWebGL2Context(this.gl);\n return gl2.getParameter(gl2.MAX_COLOR_ATTACHMENTS);\n }\n\n get MAX_DRAW_BUFFERS(): number {\n const gl2 = assertWebGL2Context(this.gl);\n return gl2.getParameter(gl2.MAX_DRAW_BUFFERS);\n }\n\n constructor(gl: WebGLRenderingContext, props?: FramebufferProps) {\n super(gl, props);\n this.initialize(props);\n Object.seal(this);\n }\n\n get color() {\n return this.attachments[GL.COLOR_ATTACHMENT0] || null;\n }\n\n get texture() {\n return this.attachments[GL.COLOR_ATTACHMENT0] || null;\n }\n\n get depth() {\n return (\n this.attachments[GL.DEPTH_ATTACHMENT] || this.attachments[GL.DEPTH_STENCIL_ATTACHMENT] || null\n );\n }\n\n get stencil() {\n return (\n this.attachments[GL.STENCIL_ATTACHMENT] ||\n this.attachments[GL.DEPTH_STENCIL_ATTACHMENT] ||\n null\n );\n }\n\n // initialize(props?: FramebufferProps): this;\n initialize(props: FramebufferProps) {\n let {attachments = null} = props || {};\n const {\n width = 1,\n height = 1,\n color = true,\n depth = true,\n stencil = false,\n check = true,\n readBuffer = undefined,\n drawBuffers = undefined\n } = props || {};\n assert(width >= 0 && height >= 0, 'Width and height need to be integers');\n\n // Store actual width and height for diffing\n this.width = width;\n this.height = height;\n\n // Resize any provided attachments - note that resize only resizes if needed\n // Note: A framebuffer has no separate size, it is defined by its attachments (which must agree)\n if (attachments) {\n for (const attachment in attachments) {\n const target = attachments[attachment];\n const object = Array.isArray(target) ? target[0] : target;\n object.resize({width, height});\n }\n } else {\n // Create any requested default attachments\n attachments = this._createDefaultAttachments(color, depth, stencil, width, height);\n }\n\n this.update({clearAttachments: true, attachments, readBuffer, drawBuffers});\n\n // Checks that framebuffer was properly set up, if not, throws an explanatory error\n if (attachments && check) {\n this.checkStatus();\n }\n }\n\n delete(): this {\n for (const resource of this.ownResources) {\n resource.delete();\n }\n super.delete();\n return this;\n }\n\n update(options: {\n attachments: Record<string, Attachment>,\n readBuffer?: number,\n drawBuffers?,\n clearAttachments?: boolean,\n resizeAttachments?: boolean\n }): this {\n\n const {\n attachments = {},\n readBuffer,\n drawBuffers,\n clearAttachments = false,\n resizeAttachments = true\n } = options;\n\n this.attach(attachments, {clearAttachments, resizeAttachments});\n\n const {gl} = this;\n // Multiple render target support, set read buffer and draw buffers\n const prevHandle = gl.bindFramebuffer(GL.FRAMEBUFFER, this.handle);\n if (readBuffer) {\n this._setReadBuffer(readBuffer);\n this.readBuffer = readBuffer;\n }\n if (drawBuffers) {\n this._setDrawBuffers(drawBuffers);\n this.drawBuffers = drawBuffers;\n }\n // @ts-expect-error\n gl.bindFramebuffer(GL.FRAMEBUFFER, prevHandle || null);\n\n return this;\n }\n\n /** Attachment resize is expected to be a noop if size is same */\n resize(size?: {width?: number; height?: number}): this {\n let {width, height} = size || {};\n // for default framebuffer, just update the stored size\n if (this.handle === null) {\n assert(width === undefined && height === undefined);\n this.width = this.gl.drawingBufferWidth;\n this.height = this.gl.drawingBufferHeight;\n return this;\n }\n\n if (width === undefined) {\n width = this.gl.drawingBufferWidth;\n }\n if (height === undefined) {\n height = this.gl.drawingBufferHeight;\n }\n\n if (width !== this.width && height !== this.height) {\n log.log(2, `Resizing framebuffer ${this.id} to ${width}x${height}`)();\n }\n for (const attachmentPoint in this.attachments) {\n this.attachments[attachmentPoint].resize({width, height});\n }\n this.width = width;\n this.height = height;\n return this;\n }\n\n /** Attach from a map of attachments */\n attach(attachments, {clearAttachments = false, resizeAttachments = true} = {}) {\n const newAttachments = {};\n\n // Any current attachments need to be removed, add null values to map\n if (clearAttachments) {\n Object.keys(this.attachments).forEach((key) => {\n newAttachments[key] = null;\n });\n }\n\n // Overlay the new attachments\n Object.assign(newAttachments, attachments);\n\n const prevHandle = this.gl.bindFramebuffer(GL.FRAMEBUFFER, this.handle);\n\n // Walk the attachments\n for (const key in newAttachments) {\n // Ensure key is not undefined\n assert(key !== undefined, 'Misspelled framebuffer binding point?');\n\n const attachment = Number(key);\n\n const descriptor = newAttachments[attachment];\n let object = descriptor;\n if (!object) {\n this._unattach(attachment);\n } else {\n object = this._attachOne(attachment, object);\n this.attachments[attachment] = object;\n }\n\n // Resize objects\n if (resizeAttachments && object) {\n object.resize({width: this.width, height: this.height});\n }\n }\n\n // @ts-expect-error\n this.gl.bindFramebuffer(GL.FRAMEBUFFER, prevHandle || null);\n\n // Assign to attachments and remove any nulls to get a clean attachment map\n Object.assign(this.attachments, attachments);\n Object.keys(this.attachments)\n .filter((key) => !this.attachments[key])\n .forEach((key) => {\n delete this.attachments[key];\n });\n }\n\n clear(options?: {color?: any; depth?: any; stencil?: any; drawBuffers?: any[]}): this {\n const {color, depth, stencil, drawBuffers = []} = options;\n\n // Bind framebuffer and delegate to global clear functions\n const prevHandle = this.gl.bindFramebuffer(GL.FRAMEBUFFER, this.handle);\n\n if (color || depth || stencil) {\n clear(this.gl, {color, depth, stencil});\n }\n\n drawBuffers.forEach((value, drawBuffer) => {\n clearBuffer(this.gl, {drawBuffer, value});\n });\n\n // @ts-expect-error\n this.gl.bindFramebuffer(GL.FRAMEBUFFER, prevHandle || null);\n\n return this;\n }\n\n // WEBGL2 INTERFACE\n\n // Copies a rectangle of pixels between framebuffers\n // eslint-disable-next-line complexity\n blit(opts = {}) {\n log.error('Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)')();\n return null;\n }\n\n // signals to the GL that it need not preserve all pixels of a specified region of the framebuffer\n invalidate(options: {attachments: []; x?: number; y?: number; width: number; height: number}) {\n const {attachments = [], x = 0, y = 0, width, height} = options;\n const gl2 = assertWebGL2Context(this.gl);\n const prevHandle = gl2.bindFramebuffer(GL.READ_FRAMEBUFFER, this.handle);\n const invalidateAll = x === 0 && y === 0 && width === undefined && height === undefined;\n if (invalidateAll) {\n gl2.invalidateFramebuffer(GL.READ_FRAMEBUFFER, attachments);\n } else {\n // TODO - why does type checking fail on this line\n // @ts-expect-error\n gl2.invalidateFramebuffer(GL.READ_FRAMEBUFFER, attachments, x, y, width, height);\n }\n // @ts-expect-error\n gl2.bindFramebuffer(GL.READ_FRAMEBUFFER, prevHandle);\n return this;\n }\n\n // Return the value for `pname` of the specified attachment.\n // The type returned is the type of the requested pname\n getAttachmentParameter(attachment, pname, keys) {\n let value = this._getAttachmentParameterFallback(pname);\n if (value === null) {\n this.gl.bindFramebuffer(GL.FRAMEBUFFER, this.handle);\n value = this.gl.getFramebufferAttachmentParameter(GL.FRAMEBUFFER, attachment, pname);\n this.gl.bindFramebuffer(GL.FRAMEBUFFER, null);\n }\n if (keys && value > 1000) {\n // @ts-expect-error\n value = getKey(this.gl, value);\n }\n return value;\n }\n\n getAttachmentParameters(\n attachment = GL.COLOR_ATTACHMENT0,\n keys,\n // @ts-expect-error\n parameters = this.constructor.ATTACHMENT_PARAMETERS || []\n ) {\n const values = {};\n for (const pname of parameters) {\n const key = keys ? getKey(this.gl, pname) : pname;\n values[key] = this.getAttachmentParameter(attachment, pname, keys);\n }\n return values;\n }\n\n // @ts-expect-error\n getParameters(keys = true) {\n const attachments = Object.keys(this.attachments);\n // if (this === this.gl.luma.defaultFramebuffer) {\n // attachments = [GL.COLOR_ATTACHMENT0, GL.DEPTH_STENCIL_ATTACHMENT];\n // }\n const parameters = {};\n for (const attachmentName of attachments) {\n const attachment = Number(attachmentName);\n const key = keys ? getKey(this.gl, attachment) : attachment;\n parameters[key] = this.getAttachmentParameters(attachment, keys);\n }\n return parameters;\n }\n\n // PRIVATE METHODS\n\n _createDefaultAttachments(color, depth, stencil, width, height) {\n let defaultAttachments = null;\n\n // Add a color buffer if requested and not supplied\n if (color) {\n defaultAttachments = defaultAttachments || {};\n defaultAttachments[GL.COLOR_ATTACHMENT0] = new Texture2D(this.gl, {\n id: `${this.id}-color0`,\n pixels: null, // reserves texture memory, but texels are undefined\n format: GL.RGBA,\n type: GL.UNSIGNED_BYTE,\n width,\n height,\n // Note: Mipmapping can be disabled by texture resource when we resize the texture\n // to a non-power-of-two dimenstion (NPOT texture) under WebGL1. To have consistant\n // behavior we always disable mipmaps.\n mipmaps: false,\n // Set MIN and MAG filtering parameters so mipmaps are not used in sampling.\n // Use LINEAR so subpixel algos like fxaa work.\n // Set WRAP modes that support NPOT textures too.\n parameters: {\n [GL.TEXTURE_MIN_FILTER]: GL.LINEAR,\n [GL.TEXTURE_MAG_FILTER]: GL.LINEAR,\n [GL.TEXTURE_WRAP_S]: GL.CLAMP_TO_EDGE,\n [GL.TEXTURE_WRAP_T]: GL.CLAMP_TO_EDGE\n }\n });\n // track to delete later\n this.ownResources.push(defaultAttachments[GL.COLOR_ATTACHMENT0]);\n }\n\n if (depth && stencil) {\n // TODO - handle separate stencil\n defaultAttachments = defaultAttachments || {};\n defaultAttachments[GL.DEPTH_STENCIL_ATTACHMENT] = new Renderbuffer(this.gl, {\n id: `${this.id}-depth-stencil`,\n format: GL.DEPTH24_STENCIL8,\n width,\n height: 111\n });\n // track to delete later\n this.ownResources.push(defaultAttachments[GL.DEPTH_STENCIL_ATTACHMENT]);\n // TODO - optional texture\n // new Texture2D(this.gl, {\n // id: `${this.id}-depth-stencil`,\n // format: GL.DEPTH24_STENCIL8,\n // dataFormat: GL.DEPTH_STENCIL,\n // type: GL.UNSIGNED_INT_24_8,\n // width,\n // height,\n // mipmaps: false\n // });\n } else if (depth) {\n // Add a depth buffer if requested and not supplied\n defaultAttachments = defaultAttachments || {};\n defaultAttachments[GL.DEPTH_ATTACHMENT] = new Renderbuffer(this.gl, {\n id: `${this.id}-depth`,\n format: GL.DEPTH_COMPONENT16,\n width,\n height\n });\n // track to delete later\n this.ownResources.push(defaultAttachments[GL.DEPTH_ATTACHMENT]);\n } else if (stencil) {\n // TODO - handle separate stencil\n assert(false);\n }\n\n return defaultAttachments;\n }\n\n _unattach(attachment) {\n const oldAttachment = this.attachments[attachment];\n if (!oldAttachment) {\n return;\n }\n if (oldAttachment instanceof Renderbuffer) {\n // render buffer\n this.gl.framebufferRenderbuffer(GL.FRAMEBUFFER, attachment, GL.RENDERBUFFER, null);\n } else {\n // Must be a texture attachment\n this.gl.framebufferTexture2D(GL.FRAMEBUFFER, attachment, GL.TEXTURE_2D, null, 0);\n }\n delete this.attachments[attachment];\n }\n\n /**\n * Attempt to provide workable defaults for WebGL2 symbols under WebGL1\n * null means OK to query\n * TODO - move to webgl1 polyfills\n * @param pname \n * @returns \n */\n // eslint-disable-next-line complexity\n _getAttachmentParameterFallback(pname) {\n const webglDevice = WebGLDevice.fromContext(this.gl);\n const features = webglDevice.features;\n\n switch (pname) {\n case GL.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: // GLint\n return !features.has('webgl2') ? 0 : null;\n case GL.FRAMEBUFFER_ATTACHMENT_RED_SIZE: // GLint\n case GL.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: // GLint\n case GL.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: // GLint\n case GL.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: // GLint\n case GL.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: // GLint\n case GL.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: // GLint\n return !features.has('webgl2') ? 8 : null;\n case GL.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: // GLenum\n return !features.has('webgl2') ? GL.UNSIGNED_INT : null;\n case GL.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:\n return !features.has('webgl2') && !features.has('webgl-color-encoding-srgb') ? GL.LINEAR : null;\n default:\n return null;\n }\n }\n}\n\n// PUBLIC METHODS\n\n// Map an index to a cube map face constant\nfunction mapIndexToCubeMapFace(layer) {\n // TEXTURE_CUBE_MAP_POSITIVE_X is a big value (0x8515)\n // if smaller assume layer is index, otherwise assume it is already a cube map face constant\n return layer < GL.TEXTURE_CUBE_MAP_POSITIVE_X ? layer + GL.TEXTURE_CUBE_MAP_POSITIVE_X : layer;\n}\n\n// Helper METHODS\n// Get a string describing the framebuffer error if installed\nfunction _getFrameBufferStatus(status) {\n // Use error mapping if installed\n // @ts-expect-error\n const STATUS = Framebuffer.STATUS || {};\n return STATUS[status] || `Framebuffer error ${status}`;\n}\n\n/**\n * Support\n * @param gl\n * @param options.colorBufferFloat Whether floating point textures can be rendered and read\n * @param options.colorBufferHalfFloat Whether half float textures can be rendered and read\n */\nfunction isFloatColorBufferSupported(\n gl: WebGLRenderingContext,\n options: {colorBufferFloat?: boolean; colorBufferHalfFloat?: boolean}\n): boolean {\n const {\n colorBufferFloat, // Whether floating point textures can be rendered and read\n colorBufferHalfFloat // Whether half float textures can be rendered and read\n } = options;\n let supported = true;\n\n if (colorBufferFloat) {\n supported = Boolean(\n // WebGL 2\n gl.getExtension('EXT_color_buffer_float') ||\n // WebGL 1, not exposed on all platforms\n gl.getExtension('WEBGL_color_buffer_float') ||\n // WebGL 1, implicitly enables float render targets https://www.khronos.org/registry/webgl/extensions/OES_texture_float/\n gl.getExtension('OES_texture_float')\n );\n }\n\n if (colorBufferHalfFloat) {\n supported =\n supported &&\n Boolean(\n // WebGL 2\n gl.getExtension('EXT_color_buffer_float') ||\n // WebGL 1\n gl.getExtension('EXT_color_buffer_half_float')\n );\n }\n\n return supported;\n}\n"],"file":"framebuffer.js"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type Program from './program';
|
|
2
|
-
import type { AttributeBinding, VaryingBinding } from '../helpers/program-bindings';
|
|
3
|
-
/**
|
|
4
|
-
* is a mechanism for taking a program object and querying information
|
|
5
|
-
* about it, so as to be able to interface and interact with it.
|
|
6
|
-
* For example, if there is a uniform, you may need to query its
|
|
7
|
-
* location so that you can set its value.
|
|
8
|
-
*/
|
|
9
|
-
export default class ProgramConfiguration {
|
|
10
|
-
id: string;
|
|
11
|
-
attributeInfos: AttributeBinding[];
|
|
12
|
-
attributeInfosByName: Record<string, AttributeBinding>;
|
|
13
|
-
attributeInfosByLocation: AttributeBinding[];
|
|
14
|
-
varyingInfos: VaryingBinding[];
|
|
15
|
-
varyingInfosByName: Record<string, VaryingBinding>;
|
|
16
|
-
constructor(program: Program);
|
|
17
|
-
getAttributeInfo(locationOrName: number | string): AttributeBinding;
|
|
18
|
-
getAttributeLocation(locationOrName: number | string): number;
|
|
19
|
-
getAttributeAccessor(locationOrName: number | string): import("../types/accessor").Accessor;
|
|
20
|
-
getVaryingInfo(locationOrName: number | string): VaryingBinding;
|
|
21
|
-
getVaryingIndex(locationOrName: number | string): number;
|
|
22
|
-
getVaryingAccessor(locationOrName: number | string): import("../types/accessor").Accessor;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=program-configuration.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"program-configuration.d.ts","sourceRoot":"","sources":["../../src/classes/program-configuration.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,EAAC,gBAAgB,EAAE,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAGlF;;;;;GAKG;AACF,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,gBAAgB,EAAE,CAAM;IACxC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAM;IAG5D,wBAAwB,EAAE,gBAAgB,EAAE,CAAM;IAClD,YAAY,EAAE,cAAc,EAAE,CAAM;IACpC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAM;gBAE5C,OAAO,EAAE,OAAO;IAiB5B,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,gBAAgB;IASnE,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;IAK7D,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IAKpD,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc;IAQ/D,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;IAKxD,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;CAInD"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
-
import { getProgramBindings } from '../helpers/get-program-bindings';
|
|
3
|
-
export default class ProgramConfiguration {
|
|
4
|
-
constructor(program) {
|
|
5
|
-
_defineProperty(this, "id", void 0);
|
|
6
|
-
|
|
7
|
-
_defineProperty(this, "attributeInfos", []);
|
|
8
|
-
|
|
9
|
-
_defineProperty(this, "attributeInfosByName", {});
|
|
10
|
-
|
|
11
|
-
_defineProperty(this, "attributeInfosByLocation", []);
|
|
12
|
-
|
|
13
|
-
_defineProperty(this, "varyingInfos", []);
|
|
14
|
-
|
|
15
|
-
_defineProperty(this, "varyingInfosByName", {});
|
|
16
|
-
|
|
17
|
-
this.id = program.id;
|
|
18
|
-
Object.seal(this);
|
|
19
|
-
const bindings = getProgramBindings(program.gl2, program.handle);
|
|
20
|
-
this.attributeInfos = bindings.attributes;
|
|
21
|
-
|
|
22
|
-
for (const attributeInfo of bindings.attributes) {
|
|
23
|
-
this.attributeInfosByName[attributeInfo.name] = attributeInfo;
|
|
24
|
-
this.attributeInfosByLocation[attributeInfo.location] = attributeInfo;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
for (const varyingInfo of bindings.varyings) {
|
|
28
|
-
this.varyingInfosByName[varyingInfo.name] = varyingInfo;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
getAttributeInfo(locationOrName) {
|
|
33
|
-
const location = Number(locationOrName);
|
|
34
|
-
|
|
35
|
-
if (Number.isFinite(location)) {
|
|
36
|
-
return this.attributeInfosByLocation[location];
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
return this.attributeInfosByName[locationOrName] || null;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
getAttributeLocation(locationOrName) {
|
|
43
|
-
const attributeInfo = this.getAttributeInfo(locationOrName);
|
|
44
|
-
return attributeInfo ? attributeInfo.location : -1;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
getAttributeAccessor(locationOrName) {
|
|
48
|
-
const attributeInfo = this.getAttributeInfo(locationOrName);
|
|
49
|
-
return attributeInfo ? attributeInfo.accessor : null;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
getVaryingInfo(locationOrName) {
|
|
53
|
-
const location = Number(locationOrName);
|
|
54
|
-
|
|
55
|
-
if (Number.isFinite(location)) {
|
|
56
|
-
return this.varyingInfos[location];
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
return this.varyingInfosByName[locationOrName] || null;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
getVaryingIndex(locationOrName) {
|
|
63
|
-
const varying = this.getVaryingInfo(locationOrName);
|
|
64
|
-
return varying ? varying.location : -1;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
getVaryingAccessor(locationOrName) {
|
|
68
|
-
const varying = this.getVaryingInfo(locationOrName);
|
|
69
|
-
return varying ? varying.accessor : null;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=program-configuration.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/classes/program-configuration.ts"],"names":["getProgramBindings","ProgramConfiguration","constructor","program","id","Object","seal","bindings","gl2","handle","attributeInfos","attributes","attributeInfo","attributeInfosByName","name","attributeInfosByLocation","location","varyingInfo","varyings","varyingInfosByName","getAttributeInfo","locationOrName","Number","isFinite","getAttributeLocation","getAttributeAccessor","accessor","getVaryingInfo","varyingInfos","getVaryingIndex","varying","getVaryingAccessor"],"mappings":";AAKA,SAAQA,kBAAR,QAAiC,iCAAjC;AAQC,eAAe,MAAMC,oBAAN,CAA2B;AAUzCC,EAAAA,WAAW,CAACC,OAAD,EAAmB;AAAA;;AAAA,4CARO,EAQP;;AAAA,kDAP2B,EAO3B;;AAAA,sDAJiB,EAIjB;;AAAA,0CAHG,EAGH;;AAAA,gDAFuB,EAEvB;;AAC5B,SAAKC,EAAL,GAAUD,OAAO,CAACC,EAAlB;AACAC,IAAAA,MAAM,CAACC,IAAP,CAAY,IAAZ;AAEA,UAAMC,QAAQ,GAAGP,kBAAkB,CAACG,OAAO,CAACK,GAAT,EAAcL,OAAO,CAACM,MAAtB,CAAnC;AAEA,SAAKC,cAAL,GAAsBH,QAAQ,CAACI,UAA/B;;AACA,SAAK,MAAMC,aAAX,IAA4BL,QAAQ,CAACI,UAArC,EAAiD;AAC/C,WAAKE,oBAAL,CAA0BD,aAAa,CAACE,IAAxC,IAAgDF,aAAhD;AACA,WAAKG,wBAAL,CAA8BH,aAAa,CAACI,QAA5C,IAAwDJ,aAAxD;AACD;;AAED,SAAK,MAAMK,WAAX,IAA0BV,QAAQ,CAACW,QAAnC,EAA6C;AAC3C,WAAKC,kBAAL,CAAwBF,WAAW,CAACH,IAApC,IAA4CG,WAA5C;AACD;AACF;;AAEDG,EAAAA,gBAAgB,CAACC,cAAD,EAAoD;AAClE,UAAML,QAAQ,GAAGM,MAAM,CAACD,cAAD,CAAvB;;AACA,QAAIC,MAAM,CAACC,QAAP,CAAgBP,QAAhB,CAAJ,EAA+B;AAC7B,aAAO,KAAKD,wBAAL,CAA8BC,QAA9B,CAAP;AACD;;AACD,WAAO,KAAKH,oBAAL,CAA0BQ,cAA1B,KAA6C,IAApD;AACD;;AAGDG,EAAAA,oBAAoB,CAACH,cAAD,EAA0C;AAC5D,UAAMT,aAAa,GAAG,KAAKQ,gBAAL,CAAsBC,cAAtB,CAAtB;AACA,WAAOT,aAAa,GAAGA,aAAa,CAACI,QAAjB,GAA4B,CAAC,CAAjD;AACD;;AAEDS,EAAAA,oBAAoB,CAACJ,cAAD,EAAkC;AACpD,UAAMT,aAAa,GAAG,KAAKQ,gBAAL,CAAsBC,cAAtB,CAAtB;AACA,WAAOT,aAAa,GAAGA,aAAa,CAACc,QAAjB,GAA4B,IAAhD;AACD;;AAEDC,EAAAA,cAAc,CAACN,cAAD,EAAkD;AAC9D,UAAML,QAAQ,GAAGM,MAAM,CAACD,cAAD,CAAvB;;AACA,QAAIC,MAAM,CAACC,QAAP,CAAgBP,QAAhB,CAAJ,EAA+B;AAC7B,aAAO,KAAKY,YAAL,CAAkBZ,QAAlB,CAAP;AACD;;AACD,WAAO,KAAKG,kBAAL,CAAwBE,cAAxB,KAA2C,IAAlD;AACD;;AAEDQ,EAAAA,eAAe,CAACR,cAAD,EAA0C;AACvD,UAAMS,OAAO,GAAG,KAAKH,cAAL,CAAoBN,cAApB,CAAhB;AACA,WAAOS,OAAO,GAAGA,OAAO,CAACd,QAAX,GAAsB,CAAC,CAArC;AACD;;AAEDe,EAAAA,kBAAkB,CAACV,cAAD,EAAkC;AAClD,UAAMS,OAAO,GAAG,KAAKH,cAAL,CAAoBN,cAApB,CAAhB;AACA,WAAOS,OAAO,GAAGA,OAAO,CAACJ,QAAX,GAAsB,IAApC;AACD;;AA9DwC","sourcesContent":["// Contains metadata describing attribute configurations for a program's shaders\n// Much of this is automatically extracted from shaders after program linking\n// import Accessor from './accessor';\nimport type Program from './program';\nimport type {AttributeBinding, VaryingBinding} from '../helpers/program-bindings';\nimport {getProgramBindings} from '../helpers/get-program-bindings';\n\n/**\n * is a mechanism for taking a program object and querying information\n * about it, so as to be able to interface and interact with it.\n * For example, if there is a uniform, you may need to query its\n * location so that you can set its value.\n */\n export default class ProgramConfiguration {\n id: string;\n attributeInfos: AttributeBinding[] = [];\n attributeInfosByName: Record<string, AttributeBinding> = {};\n // Locations may not be contiguous the case of matrix attributes\n // so keep a separate location->attribute map.\n attributeInfosByLocation: AttributeBinding[] = [];\n varyingInfos: VaryingBinding[] = [];\n varyingInfosByName: Record<string, VaryingBinding> = {};\n\n constructor(program: Program) {\n this.id = program.id;\n Object.seal(this);\n\n const bindings = getProgramBindings(program.gl2, program.handle);\n\n this.attributeInfos = bindings.attributes;\n for (const attributeInfo of bindings.attributes) {\n this.attributeInfosByName[attributeInfo.name] = attributeInfo;\n this.attributeInfosByLocation[attributeInfo.location] = attributeInfo;\n }\n\n for (const varyingInfo of bindings.varyings) {\n this.varyingInfosByName[varyingInfo.name] = varyingInfo;\n }\n }\n\n getAttributeInfo(locationOrName: number | string): AttributeBinding {\n const location = Number(locationOrName);\n if (Number.isFinite(location)) {\n return this.attributeInfosByLocation[location];\n }\n return this.attributeInfosByName[locationOrName] || null;\n }\n\n // Resolves an attribute name or index to an index\n getAttributeLocation(locationOrName: number | string): number {\n const attributeInfo = this.getAttributeInfo(locationOrName);\n return attributeInfo ? attributeInfo.location : -1;\n }\n\n getAttributeAccessor(locationOrName: number | string) {\n const attributeInfo = this.getAttributeInfo(locationOrName);\n return attributeInfo ? attributeInfo.accessor : null;\n }\n\n getVaryingInfo(locationOrName: number | string): VaryingBinding {\n const location = Number(locationOrName);\n if (Number.isFinite(location)) {\n return this.varyingInfos[location];\n }\n return this.varyingInfosByName[locationOrName] || null;\n }\n\n getVaryingIndex(locationOrName: number | string): number {\n const varying = this.getVaryingInfo(locationOrName);\n return varying ? varying.location : -1;\n }\n\n getVaryingAccessor(locationOrName: number | string) {\n const varying = this.getVaryingInfo(locationOrName);\n return varying ? varying.accessor : null;\n }\n}\n"],"file":"program-configuration.js"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { Shader } from '@luma.gl/api';
|
|
2
|
-
import WebGLDevice from '../adapter/webgl-device';
|
|
3
|
-
import WebGLResource, { ResourceProps } from './webgl-resource';
|
|
4
|
-
import Framebuffer from './framebuffer';
|
|
5
|
-
import { WEBGLShader } from '../adapter/webgl-shader';
|
|
6
|
-
import ProgramConfiguration from './program-configuration';
|
|
7
|
-
export declare type ProgramProps = ResourceProps & {
|
|
8
|
-
hash?: string;
|
|
9
|
-
vs?: string | Shader;
|
|
10
|
-
fs?: string | Shader;
|
|
11
|
-
varyings?: string[];
|
|
12
|
-
bufferMode?: number;
|
|
13
|
-
};
|
|
14
|
-
export declare type ProgramDrawOptions = {
|
|
15
|
-
logPriority?: number;
|
|
16
|
-
drawMode?: number;
|
|
17
|
-
vertexCount: any;
|
|
18
|
-
offset?: number;
|
|
19
|
-
start?: number;
|
|
20
|
-
end?: number;
|
|
21
|
-
isIndexed?: boolean;
|
|
22
|
-
indexType?: any;
|
|
23
|
-
instanceCount?: number;
|
|
24
|
-
isInstanced?: boolean;
|
|
25
|
-
vertexArray?: any;
|
|
26
|
-
transformFeedback?: any;
|
|
27
|
-
framebuffer?: Framebuffer;
|
|
28
|
-
parameters?: {};
|
|
29
|
-
uniforms?: Record<string, any>;
|
|
30
|
-
samplers?: any;
|
|
31
|
-
};
|
|
32
|
-
export default class Program extends WebGLResource<ProgramProps> {
|
|
33
|
-
configuration: ProgramConfiguration;
|
|
34
|
-
hash: string;
|
|
35
|
-
vs: WEBGLShader;
|
|
36
|
-
fs: WEBGLShader;
|
|
37
|
-
uniforms: Record<string, any>;
|
|
38
|
-
varyings: Record<string, any>;
|
|
39
|
-
_textureUniforms: Record<string, any>;
|
|
40
|
-
_isCached: boolean;
|
|
41
|
-
_textureIndexCounter: number;
|
|
42
|
-
_uniformCount: number;
|
|
43
|
-
_uniformSetters: Record<string, Function>;
|
|
44
|
-
constructor(device: WebGLDevice | WebGLRenderingContext, props?: ProgramProps);
|
|
45
|
-
destroy(options?: {}): this;
|
|
46
|
-
delete(options?: {}): this;
|
|
47
|
-
initialize(props?: ProgramProps): this;
|
|
48
|
-
setProps(props: any): this;
|
|
49
|
-
draw(options: ProgramDrawOptions): boolean;
|
|
50
|
-
setUniforms(uniforms?: {}): this;
|
|
51
|
-
_areTexturesRenderable(): boolean;
|
|
52
|
-
_bindTextures(): void;
|
|
53
|
-
_createHandle(): WebGLProgram;
|
|
54
|
-
_deleteHandle(): void;
|
|
55
|
-
_getOptionsFromHandle(handle: any): {};
|
|
56
|
-
_getParameter(pname: any): any;
|
|
57
|
-
_setId(id: any): void;
|
|
58
|
-
_getName(): string;
|
|
59
|
-
_compileAndLink(): void;
|
|
60
|
-
_readUniformLocationsFromLinkedProgram(): void;
|
|
61
|
-
getActiveUniforms(uniformIndices: any, pname: any): any;
|
|
62
|
-
getUniformBlockIndex(blockName: any): number;
|
|
63
|
-
getActiveUniformBlockParameter(blockIndex: any, pname: any): any;
|
|
64
|
-
uniformBlockBinding(blockIndex: any, blockBinding: any): void;
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=program.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/classes/program.ts"],"names":[],"mappings":"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"}
|