@luma.gl/webgl 8.5.9 → 8.6.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +8 -1
- package/dist/adapter/converters/set-device-parameters.d.ts +5 -0
- package/dist/adapter/converters/set-device-parameters.d.ts.map +1 -0
- package/dist/adapter/converters/set-device-parameters.js +124 -0
- package/dist/adapter/converters/set-device-parameters.js.map +1 -0
- package/dist/adapter/converters/webgpu-texture-formats.d.ts +281 -0
- package/dist/adapter/converters/webgpu-texture-formats.d.ts.map +1 -0
- package/dist/adapter/converters/webgpu-texture-formats.js +285 -0
- package/dist/adapter/converters/webgpu-texture-formats.js.map +1 -0
- package/dist/adapter/device-helpers/device-features.d.ts +12 -0
- package/dist/adapter/device-helpers/device-features.d.ts.map +1 -0
- package/dist/adapter/device-helpers/device-features.js +123 -0
- package/dist/adapter/device-helpers/device-features.js.map +1 -0
- package/dist/adapter/device-helpers/device-limits.d.ts +51 -0
- package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -0
- package/dist/adapter/device-helpers/device-limits.js +90 -0
- package/dist/adapter/device-helpers/device-limits.js.map +1 -0
- package/dist/adapter/device-helpers/get-device-info.d.ts +4 -0
- package/dist/adapter/device-helpers/get-device-info.d.ts.map +1 -0
- package/dist/adapter/device-helpers/get-device-info.js +44 -0
- package/dist/adapter/device-helpers/get-device-info.js.map +1 -0
- package/dist/adapter/device-helpers/is-old-ie.d.ts +2 -0
- package/dist/adapter/device-helpers/is-old-ie.d.ts.map +1 -0
- package/dist/{esm/features/check-old-ie.js → adapter/device-helpers/is-old-ie.js} +3 -3
- package/dist/adapter/device-helpers/is-old-ie.js.map +1 -0
- package/dist/adapter/webgl-device.d.ts +111 -0
- package/dist/adapter/webgl-device.d.ts.map +1 -0
- package/dist/adapter/webgl-device.js +208 -0
- package/dist/adapter/webgl-device.js.map +1 -0
- package/dist/adapter/webgl-shader.d.ts +18 -0
- package/dist/adapter/webgl-shader.d.ts.map +1 -0
- package/dist/adapter/webgl-shader.js +82 -0
- package/dist/adapter/webgl-shader.js.map +1 -0
- package/dist/bundle.d.ts +2 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +5 -0
- package/dist/bundle.js.map +1 -0
- package/dist/classes/accessor.d.ts +28 -0
- package/dist/classes/accessor.d.ts.map +1 -0
- package/dist/classes/accessor.js +112 -0
- package/dist/classes/accessor.js.map +1 -0
- package/dist/classes/accessor.ts.disabled +159 -0
- package/dist/classes/clear.d.ts +17 -0
- package/dist/classes/clear.d.ts.map +1 -0
- package/{src → dist}/classes/clear.js +29 -23
- package/dist/classes/clear.js.map +1 -0
- package/dist/classes/copy-and-blit.d.ts +86 -0
- package/dist/classes/copy-and-blit.d.ts.map +1 -0
- package/dist/classes/copy-and-blit.js +338 -0
- package/dist/classes/copy-and-blit.js.map +1 -0
- package/dist/classes/framebuffer.d.ts +139 -0
- package/dist/classes/framebuffer.d.ts.map +1 -0
- package/dist/classes/framebuffer.js +656 -0
- package/dist/classes/framebuffer.js.map +1 -0
- package/dist/classes/program-configuration.d.ts +24 -0
- package/dist/classes/program-configuration.d.ts.map +1 -0
- package/dist/classes/program-configuration.js +73 -0
- package/dist/classes/program-configuration.js.map +1 -0
- package/dist/classes/program.d.ts +66 -0
- package/dist/classes/program.d.ts.map +1 -0
- package/dist/classes/program.js +379 -0
- package/dist/classes/program.js.map +1 -0
- package/dist/classes/query.d.ts +27 -0
- package/dist/classes/query.d.ts.map +1 -0
- package/dist/classes/query.js +145 -0
- package/dist/classes/query.js.map +1 -0
- package/dist/classes/renderbuffer-formats.d.ts +16 -0
- package/dist/classes/renderbuffer-formats.d.ts.map +1 -0
- package/dist/classes/renderbuffer-formats.js +185 -0
- package/dist/classes/renderbuffer-formats.js.map +1 -0
- package/dist/classes/renderbuffer.d.ts +60 -0
- package/dist/classes/renderbuffer.d.ts.map +1 -0
- package/dist/classes/renderbuffer.js +128 -0
- package/dist/classes/renderbuffer.js.map +1 -0
- package/dist/classes/shader.d.ts +42 -0
- package/dist/classes/shader.d.ts.map +1 -0
- package/dist/classes/shader.js +118 -0
- package/dist/classes/shader.js.map +1 -0
- package/dist/classes/texture-2d.d.ts +9 -0
- package/dist/classes/texture-2d.d.ts.map +1 -0
- package/dist/classes/texture-2d.js +36 -0
- package/dist/classes/texture-2d.js.map +1 -0
- package/dist/classes/texture-3d.d.ts +29 -0
- package/dist/classes/texture-3d.d.ts.map +1 -0
- package/dist/classes/texture-3d.js +76 -0
- package/dist/classes/texture-3d.js.map +1 -0
- package/dist/classes/texture-cube.d.ts +28 -0
- package/dist/classes/texture-cube.d.ts.map +1 -0
- package/dist/classes/texture-cube.js +130 -0
- package/dist/classes/texture-cube.js.map +1 -0
- package/dist/classes/texture-formats.d.ts +37 -0
- package/dist/classes/texture-formats.d.ts.map +1 -0
- package/dist/classes/texture-formats.js +98 -0
- package/dist/classes/texture-formats.js.map +1 -0
- package/dist/classes/texture.d.ts +123 -0
- package/dist/classes/texture.d.ts.map +1 -0
- package/dist/classes/texture.js +786 -0
- package/dist/classes/texture.js.map +1 -0
- package/dist/classes/transform-feedback.d.ts +33 -0
- package/dist/classes/transform-feedback.d.ts.map +1 -0
- package/dist/classes/transform-feedback.js +198 -0
- package/dist/classes/transform-feedback.js.map +1 -0
- package/dist/classes/uniform-buffer-layout.d.ts +17 -0
- package/dist/classes/uniform-buffer-layout.d.ts.map +1 -0
- package/dist/classes/uniform-buffer-layout.js +104 -0
- package/dist/classes/uniform-buffer-layout.js.map +1 -0
- package/dist/classes/uniforms.d.ts +37 -0
- package/dist/classes/uniforms.d.ts.map +1 -0
- package/dist/classes/uniforms.js +250 -0
- package/dist/classes/uniforms.js.map +1 -0
- package/dist/classes/vertex-array-object.d.ts +76 -0
- package/dist/classes/vertex-array-object.d.ts.map +1 -0
- package/dist/classes/vertex-array-object.js +261 -0
- package/dist/classes/vertex-array-object.js.map +1 -0
- package/dist/classes/vertex-array.d.ts +75 -0
- package/dist/classes/vertex-array.d.ts.map +1 -0
- package/dist/classes/vertex-array.js +408 -0
- package/dist/classes/vertex-array.js.map +1 -0
- package/dist/classes/webgl-buffer.d.ts +100 -0
- package/dist/classes/webgl-buffer.d.ts.map +1 -0
- package/dist/{esm/classes/buffer.js → classes/webgl-buffer.js} +100 -73
- package/dist/classes/webgl-buffer.js.map +1 -0
- package/dist/classes/webgl-resource.d.ts +56 -0
- package/dist/classes/webgl-resource.d.ts.map +1 -0
- package/dist/{esm/classes/resource.js → classes/webgl-resource.js} +35 -52
- package/dist/classes/webgl-resource.js.map +1 -0
- package/dist/context/context/context-state.d.ts +18 -0
- package/dist/context/context/context-state.d.ts.map +1 -0
- package/dist/context/context/context-state.js +26 -0
- package/dist/context/context/context-state.js.map +1 -0
- package/dist/context/context/create-context.d.ts +40 -0
- package/dist/context/context/create-context.d.ts.map +1 -0
- package/dist/context/context/create-context.js +37 -0
- package/dist/context/context/create-context.js.map +1 -0
- package/dist/context/context/device-pixels.d.ts +25 -0
- package/dist/context/context/device-pixels.d.ts.map +1 -0
- package/dist/context/context/device-pixels.js +98 -0
- package/dist/context/context/device-pixels.js.map +1 -0
- package/dist/context/context/get-canvas.d.ts +13 -0
- package/dist/context/context/get-canvas.d.ts.map +1 -0
- package/dist/context/context/get-canvas.js +31 -0
- package/dist/context/context/get-canvas.js.map +1 -0
- package/dist/context/context/resize-context.d.ts +20 -0
- package/dist/context/context/resize-context.d.ts.map +1 -0
- package/dist/context/context/resize-context.js +15 -0
- package/dist/context/context/resize-context.js.map +1 -0
- package/dist/context/context/webgl-checks.d.ts +13 -0
- package/dist/context/context/webgl-checks.d.ts.map +1 -0
- package/dist/context/context/webgl-checks.js +34 -0
- package/dist/context/context/webgl-checks.js.map +1 -0
- package/dist/context/parameters/unified-parameter-api.d.ts +31 -0
- package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -0
- package/dist/context/parameters/unified-parameter-api.js +65 -0
- package/dist/context/parameters/unified-parameter-api.js.map +1 -0
- package/dist/context/parameters/webgl-parameter-tables.d.ts +169 -0
- package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -0
- package/dist/context/parameters/webgl-parameter-tables.js +445 -0
- package/dist/context/parameters/webgl-parameter-tables.js.map +1 -0
- package/dist/context/parameters/webgl-parameters.d.ts +144 -0
- package/dist/context/parameters/webgl-parameters.d.ts.map +1 -0
- package/dist/context/parameters/webgl-parameters.js +2 -0
- package/dist/context/parameters/webgl-parameters.js.map +1 -0
- package/dist/context/polyfill/get-parameter-polyfill.d.ts +2 -0
- package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -0
- package/dist/context/polyfill/get-parameter-polyfill.js +91 -0
- package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -0
- package/dist/context/polyfill/polyfill-context.d.ts +5 -0
- package/dist/context/polyfill/polyfill-context.d.ts.map +1 -0
- package/dist/context/polyfill/polyfill-context.js +91 -0
- package/dist/context/polyfill/polyfill-context.js.map +1 -0
- package/dist/context/polyfill/polyfill-table.d.ts +48 -0
- package/dist/context/polyfill/polyfill-table.d.ts.map +1 -0
- package/dist/context/polyfill/polyfill-table.js +160 -0
- package/dist/context/polyfill/polyfill-table.js.map +1 -0
- package/dist/context/polyfill/polyfill-vertex-array-object.d.ts +2 -0
- package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -0
- package/dist/context/polyfill/polyfill-vertex-array-object.js +335 -0
- package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
- package/dist/context/state-tracker/deep-array-equal.d.ts +3 -0
- package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -0
- package/dist/context/state-tracker/deep-array-equal.js +21 -0
- package/dist/context/state-tracker/deep-array-equal.js.map +1 -0
- package/dist/context/state-tracker/track-context-state.d.ts +22 -0
- package/dist/context/state-tracker/track-context-state.d.ts.map +1 -0
- package/dist/context/state-tracker/track-context-state.js +169 -0
- package/dist/context/state-tracker/track-context-state.js.map +1 -0
- package/dist/context/state-tracker/with-parameters.d.ts +13 -0
- package/dist/context/state-tracker/with-parameters.d.ts.map +1 -0
- package/dist/context/state-tracker/with-parameters.js +36 -0
- package/dist/context/state-tracker/with-parameters.js.map +1 -0
- package/dist/debug/debug-program-configuration.d.ts +2 -0
- package/dist/debug/debug-program-configuration.d.ts.map +1 -0
- package/dist/debug/debug-program-configuration.js +40 -0
- package/dist/debug/debug-program-configuration.js.map +1 -0
- package/dist/debug/debug-uniforms.d.ts +12 -0
- package/dist/debug/debug-uniforms.d.ts.map +1 -0
- package/dist/debug/debug-uniforms.js +108 -0
- package/dist/debug/debug-uniforms.js.map +1 -0
- package/dist/debug/debug-vertex-array.d.ts +5 -0
- package/dist/debug/debug-vertex-array.d.ts.map +1 -0
- package/dist/debug/debug-vertex-array.js +118 -0
- package/dist/debug/debug-vertex-array.js.map +1 -0
- package/dist/es5/adapter/converters/set-device-parameters.js +138 -0
- package/dist/es5/adapter/converters/set-device-parameters.js.map +1 -0
- package/dist/es5/adapter/converters/webgpu-texture-formats.js +296 -0
- package/dist/es5/adapter/converters/webgpu-texture-formats.js.map +1 -0
- package/dist/es5/adapter/device-helpers/device-features.js +152 -0
- package/dist/es5/adapter/device-helpers/device-features.js.map +1 -0
- package/dist/es5/adapter/device-helpers/device-limits.js +64 -0
- package/dist/es5/adapter/device-helpers/device-limits.js.map +1 -0
- package/dist/es5/adapter/device-helpers/get-device-info.js +55 -0
- package/dist/es5/adapter/device-helpers/get-device-info.js.map +1 -0
- package/dist/es5/{features/check-old-ie.js → adapter/device-helpers/is-old-ie.js} +3 -3
- package/dist/es5/adapter/device-helpers/is-old-ie.js.map +1 -0
- package/dist/es5/adapter/webgl-device.js +279 -0
- package/dist/es5/adapter/webgl-device.js.map +1 -0
- package/dist/es5/adapter/webgl-shader.js +155 -0
- package/dist/es5/adapter/webgl-shader.js.map +1 -0
- package/dist/es5/bundle.js +2 -4
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/classes/accessor.js +36 -38
- package/dist/es5/classes/accessor.js.map +1 -1
- package/dist/es5/classes/accessor.ts.disabled +159 -0
- package/dist/es5/classes/clear.js +17 -11
- package/dist/es5/classes/clear.js.map +1 -1
- package/dist/es5/classes/copy-and-blit.js +121 -117
- package/dist/es5/classes/copy-and-blit.js.map +1 -1
- package/dist/es5/classes/framebuffer.js +435 -423
- package/dist/es5/classes/framebuffer.js.map +1 -1
- package/dist/es5/classes/program-configuration.js +44 -108
- package/dist/es5/classes/program-configuration.js.map +1 -1
- package/dist/es5/classes/program.js +108 -85
- package/dist/es5/classes/program.js.map +1 -1
- package/dist/es5/classes/query.js +58 -59
- package/dist/es5/classes/query.js.map +1 -1
- package/dist/es5/classes/renderbuffer-formats.js +79 -52
- package/dist/es5/classes/renderbuffer-formats.js.map +1 -1
- package/dist/es5/classes/renderbuffer.js +129 -100
- package/dist/es5/classes/renderbuffer.js.map +1 -1
- package/dist/es5/classes/shader.js +70 -96
- package/dist/es5/classes/shader.js.map +1 -1
- package/dist/es5/classes/texture-2d.js +25 -21
- package/dist/es5/classes/texture-2d.js.map +1 -1
- package/dist/es5/classes/texture-3d.js +49 -29
- package/dist/es5/classes/texture-3d.js.map +1 -1
- package/dist/es5/classes/texture-cube.js +45 -36
- package/dist/es5/classes/texture-cube.js.map +1 -1
- package/dist/es5/classes/texture-formats.js +35 -33
- package/dist/es5/classes/texture-formats.js.map +1 -1
- package/dist/es5/classes/texture.js +213 -101
- package/dist/es5/classes/texture.js.map +1 -1
- package/dist/es5/classes/transform-feedback.js +37 -34
- package/dist/es5/classes/transform-feedback.js.map +1 -1
- package/dist/es5/classes/uniform-buffer-layout.js +4 -4
- package/dist/es5/classes/uniform-buffer-layout.js.map +1 -1
- package/dist/es5/classes/uniforms.js +73 -73
- package/dist/es5/classes/uniforms.js.map +1 -1
- package/dist/es5/classes/vertex-array-object.js +106 -149
- package/dist/es5/classes/vertex-array-object.js.map +1 -1
- package/dist/es5/classes/vertex-array.js +52 -43
- package/dist/es5/classes/vertex-array.js.map +1 -1
- package/dist/es5/classes/{buffer.js → webgl-buffer.js} +120 -111
- package/dist/es5/classes/webgl-buffer.js.map +1 -0
- package/dist/es5/classes/{resource.js → webgl-resource.js} +78 -99
- package/dist/es5/classes/webgl-resource.js.map +1 -0
- package/dist/es5/context/context/context-state.js +31 -0
- package/dist/es5/context/context/context-state.js.map +1 -0
- package/dist/es5/context/context/create-context.js +57 -0
- package/dist/es5/context/context/create-context.js.map +1 -0
- package/dist/es5/context/context/device-pixels.js +115 -0
- package/dist/es5/context/context/device-pixels.js.map +1 -0
- package/dist/es5/context/context/get-canvas.js +40 -0
- package/dist/es5/context/context/get-canvas.js.map +1 -0
- package/dist/es5/context/context/resize-context.js +23 -0
- package/dist/es5/context/context/resize-context.js.map +1 -0
- package/dist/es5/context/context/webgl-checks.js +54 -0
- package/dist/es5/context/context/webgl-checks.js.map +1 -0
- package/dist/es5/context/parameters/unified-parameter-api.js +95 -0
- package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -0
- package/dist/es5/context/parameters/webgl-parameter-tables.js +392 -0
- package/dist/es5/context/parameters/webgl-parameter-tables.js.map +1 -0
- package/dist/es5/context/parameters/webgl-parameters.js +6 -0
- package/dist/es5/context/parameters/webgl-parameters.js.map +1 -0
- package/dist/es5/context/polyfill/get-parameter-polyfill.js +81 -0
- package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +1 -0
- package/dist/es5/context/polyfill/polyfill-context.js +134 -0
- package/dist/es5/context/polyfill/polyfill-context.js.map +1 -0
- package/dist/es5/context/polyfill/polyfill-table.js +166 -0
- package/dist/es5/context/polyfill/polyfill-table.js.map +1 -0
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +341 -0
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
- package/dist/es5/context/state-tracker/deep-array-equal.js +28 -0
- package/dist/es5/context/state-tracker/deep-array-equal.js.map +1 -0
- package/dist/es5/context/state-tracker/track-context-state.js +196 -0
- package/dist/es5/context/state-tracker/track-context-state.js.map +1 -0
- package/dist/es5/context/state-tracker/with-parameters.js +44 -0
- package/dist/es5/context/state-tracker/with-parameters.js.map +1 -0
- package/dist/es5/debug/debug-program-configuration.js +1 -1
- package/dist/es5/debug/debug-program-configuration.js.map +1 -1
- package/dist/es5/debug/debug-uniforms.js +18 -20
- package/dist/es5/debug/debug-uniforms.js.map +1 -1
- package/dist/es5/debug/debug-vertex-array.js +16 -16
- package/dist/es5/debug/debug-vertex-array.js.map +1 -1
- package/dist/es5/helpers/get-program-bindings.js +274 -0
- package/dist/es5/helpers/get-program-bindings.js.map +1 -0
- package/dist/es5/helpers/program-bindings.js +2 -0
- package/dist/es5/helpers/program-bindings.js.map +1 -0
- package/dist/es5/index.js +159 -99
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/init.js +21 -41
- package/dist/es5/init.js.map +1 -1
- package/dist/es5/types/accessor.d.ts +29 -0
- package/dist/es5/types.js +2 -0
- package/dist/es5/types.js.map +1 -0
- package/dist/es5/webgl-utils/attribute-utils.js +4 -4
- package/dist/es5/webgl-utils/attribute-utils.js.map +1 -1
- package/dist/es5/webgl-utils/constants-to-keys.js +3 -3
- package/dist/es5/webgl-utils/constants-to-keys.js.map +1 -1
- package/dist/es5/webgl-utils/format-utils.js +21 -17
- package/dist/es5/webgl-utils/format-utils.js.map +1 -1
- package/dist/es5/webgl-utils/get-error.js.map +1 -1
- package/dist/es5/webgl-utils/index.js +74 -0
- package/dist/es5/webgl-utils/index.js.map +1 -0
- package/dist/es5/webgl-utils/parse-shader-compiler-log.js +72 -0
- package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +1 -0
- package/dist/es5/webgl-utils/request-animation-frame.js.map +1 -1
- package/dist/es5/webgl-utils/texture-utils.js +6 -4
- package/dist/es5/webgl-utils/texture-utils.js.map +1 -1
- package/dist/es5/webgl-utils/typed-array-utils.js +39 -34
- package/dist/es5/webgl-utils/typed-array-utils.js.map +1 -1
- package/dist/esm/adapter/converters/set-device-parameters.js +124 -0
- package/dist/esm/adapter/converters/set-device-parameters.js.map +1 -0
- package/dist/esm/adapter/converters/webgpu-texture-formats.js +285 -0
- package/dist/esm/adapter/converters/webgpu-texture-formats.js.map +1 -0
- package/dist/esm/adapter/device-helpers/device-features.js +123 -0
- package/dist/esm/adapter/device-helpers/device-features.js.map +1 -0
- package/dist/esm/adapter/device-helpers/device-limits.js +90 -0
- package/dist/esm/adapter/device-helpers/device-limits.js.map +1 -0
- package/dist/esm/adapter/device-helpers/get-device-info.js +44 -0
- package/dist/esm/adapter/device-helpers/get-device-info.js.map +1 -0
- package/dist/esm/adapter/device-helpers/is-old-ie.js +8 -0
- package/dist/esm/adapter/device-helpers/is-old-ie.js.map +1 -0
- package/dist/esm/adapter/webgl-device.js +208 -0
- package/dist/esm/adapter/webgl-device.js.map +1 -0
- package/dist/esm/adapter/webgl-shader.js +82 -0
- package/dist/esm/adapter/webgl-shader.js.map +1 -0
- package/dist/esm/bundle.js +2 -4
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/classes/accessor.js +6 -6
- package/dist/esm/classes/accessor.js.map +1 -1
- package/dist/esm/classes/accessor.ts.disabled +159 -0
- package/dist/esm/classes/clear.js +19 -14
- package/dist/esm/classes/clear.js.map +1 -1
- package/dist/esm/classes/copy-and-blit.js +67 -64
- package/dist/esm/classes/copy-and-blit.js.map +1 -1
- package/dist/esm/classes/framebuffer.js +341 -313
- package/dist/esm/classes/framebuffer.js.map +1 -1
- package/dist/esm/classes/program-configuration.js +25 -104
- package/dist/esm/classes/program-configuration.js.map +1 -1
- package/dist/esm/classes/program.js +98 -62
- package/dist/esm/classes/program.js.map +1 -1
- package/dist/esm/classes/query.js +20 -16
- package/dist/esm/classes/query.js.map +1 -1
- package/dist/esm/classes/renderbuffer-formats.js +72 -49
- package/dist/esm/classes/renderbuffer-formats.js.map +1 -1
- package/dist/esm/classes/renderbuffer.js +86 -73
- package/dist/esm/classes/renderbuffer.js.map +1 -1
- package/dist/esm/classes/shader.js +47 -67
- package/dist/esm/classes/shader.js.map +1 -1
- package/dist/esm/classes/texture-2d.js +13 -9
- package/dist/esm/classes/texture-2d.js.map +1 -1
- package/dist/esm/classes/texture-3d.js +28 -16
- package/dist/esm/classes/texture-3d.js.map +1 -1
- package/dist/esm/classes/texture-cube.js +45 -31
- package/dist/esm/classes/texture-cube.js.map +1 -1
- package/dist/esm/classes/texture-formats.js +52 -51
- package/dist/esm/classes/texture-formats.js.map +1 -1
- package/dist/esm/classes/texture.js +174 -58
- package/dist/esm/classes/texture.js.map +1 -1
- package/dist/esm/classes/transform-feedback.js +26 -14
- package/dist/esm/classes/transform-feedback.js.map +1 -1
- package/dist/esm/classes/uniform-buffer-layout.js +1 -1
- package/dist/esm/classes/uniform-buffer-layout.js.map +1 -1
- package/dist/esm/classes/uniforms.js +111 -113
- package/dist/esm/classes/uniforms.js.map +1 -1
- package/dist/esm/classes/vertex-array-object.js +52 -89
- package/dist/esm/classes/vertex-array-object.js.map +1 -1
- package/dist/esm/classes/vertex-array.js +52 -31
- package/dist/esm/classes/vertex-array.js.map +1 -1
- package/dist/esm/classes/webgl-buffer.js +382 -0
- package/dist/esm/classes/webgl-buffer.js.map +1 -0
- package/dist/esm/classes/webgl-resource.js +212 -0
- package/dist/esm/classes/webgl-resource.js.map +1 -0
- package/dist/esm/context/context/context-state.js +26 -0
- package/dist/esm/context/context/context-state.js.map +1 -0
- package/dist/esm/context/context/create-context.js +37 -0
- package/dist/esm/context/context/create-context.js.map +1 -0
- package/dist/esm/context/context/device-pixels.js +98 -0
- package/dist/esm/context/context/device-pixels.js.map +1 -0
- package/dist/esm/context/context/get-canvas.js +31 -0
- package/dist/esm/context/context/get-canvas.js.map +1 -0
- package/dist/esm/context/context/resize-context.js +15 -0
- package/dist/esm/context/context/resize-context.js.map +1 -0
- package/dist/esm/context/context/webgl-checks.js +34 -0
- package/dist/esm/context/context/webgl-checks.js.map +1 -0
- package/dist/esm/context/parameters/unified-parameter-api.js +65 -0
- package/dist/esm/context/parameters/unified-parameter-api.js.map +1 -0
- package/dist/esm/context/parameters/webgl-parameter-tables.js +445 -0
- package/dist/esm/context/parameters/webgl-parameter-tables.js.map +1 -0
- package/dist/esm/context/parameters/webgl-parameters.js +2 -0
- package/dist/esm/context/parameters/webgl-parameters.js.map +1 -0
- package/dist/esm/context/polyfill/get-parameter-polyfill.js +91 -0
- package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +1 -0
- package/dist/esm/context/polyfill/polyfill-context.js +91 -0
- package/dist/esm/context/polyfill/polyfill-context.js.map +1 -0
- package/dist/esm/context/polyfill/polyfill-table.js +160 -0
- package/dist/esm/context/polyfill/polyfill-table.js.map +1 -0
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +335 -0
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
- package/dist/esm/context/state-tracker/deep-array-equal.js +21 -0
- package/dist/esm/context/state-tracker/deep-array-equal.js.map +1 -0
- package/dist/esm/context/state-tracker/track-context-state.js +169 -0
- package/dist/esm/context/state-tracker/track-context-state.js.map +1 -0
- package/dist/esm/context/state-tracker/with-parameters.js +36 -0
- package/dist/esm/context/state-tracker/with-parameters.js.map +1 -0
- package/dist/esm/debug/debug-program-configuration.js +4 -4
- package/dist/esm/debug/debug-program-configuration.js.map +1 -1
- package/dist/esm/debug/debug-uniforms.js +9 -9
- package/dist/esm/debug/debug-uniforms.js.map +1 -1
- package/dist/esm/debug/debug-vertex-array.js +18 -16
- package/dist/esm/debug/debug-vertex-array.js.map +1 -1
- package/dist/esm/helpers/get-program-bindings.js +228 -0
- package/dist/esm/helpers/get-program-bindings.js.map +1 -0
- package/dist/esm/helpers/program-bindings.js +2 -0
- package/dist/esm/helpers/program-bindings.js.map +1 -0
- package/dist/esm/index.js +17 -15
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/init.js +12 -28
- package/dist/esm/init.js.map +1 -1
- package/dist/esm/types/accessor.d.ts +29 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/webgl-utils/attribute-utils.js +1 -1
- package/dist/esm/webgl-utils/attribute-utils.js.map +1 -1
- package/dist/esm/webgl-utils/constants-to-keys.js +4 -4
- package/dist/esm/webgl-utils/constants-to-keys.js.map +1 -1
- package/dist/esm/webgl-utils/format-utils.js +16 -15
- package/dist/esm/webgl-utils/format-utils.js.map +1 -1
- package/dist/esm/webgl-utils/get-error.js +1 -1
- package/dist/esm/webgl-utils/get-error.js.map +1 -1
- package/dist/esm/webgl-utils/index.js +5 -0
- package/dist/esm/webgl-utils/index.js.map +1 -0
- package/dist/esm/webgl-utils/parse-shader-compiler-log.js +37 -0
- package/dist/esm/webgl-utils/parse-shader-compiler-log.js.map +1 -0
- package/dist/esm/webgl-utils/request-animation-frame.js.map +1 -1
- package/dist/esm/webgl-utils/texture-utils.js +4 -3
- package/dist/esm/webgl-utils/texture-utils.js.map +1 -1
- package/dist/esm/webgl-utils/typed-array-utils.js +41 -36
- package/dist/esm/webgl-utils/typed-array-utils.js.map +1 -1
- package/dist/helpers/get-program-bindings.d.ts +8 -0
- package/dist/helpers/get-program-bindings.d.ts.map +1 -0
- package/dist/helpers/get-program-bindings.js +228 -0
- package/dist/helpers/get-program-bindings.js.map +1 -0
- package/dist/helpers/program-bindings.d.ts +41 -0
- package/dist/helpers/program-bindings.d.ts.map +1 -0
- package/dist/helpers/program-bindings.js +2 -0
- package/dist/helpers/program-bindings.js.map +1 -0
- package/dist/index.d.ts +51 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- package/dist/init.d.ts +5 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.js +33 -0
- package/dist/init.js.map +1 -0
- package/dist/types/accessor.d.ts +29 -0
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/webgl-utils/attribute-utils.d.ts +18 -0
- package/dist/webgl-utils/attribute-utils.d.ts.map +1 -0
- package/dist/webgl-utils/attribute-utils.js +182 -0
- package/dist/webgl-utils/attribute-utils.js.map +1 -0
- package/dist/webgl-utils/constants-to-keys.d.ts +4 -0
- package/dist/webgl-utils/constants-to-keys.d.ts.map +1 -0
- package/dist/webgl-utils/constants-to-keys.js +41 -0
- package/dist/webgl-utils/constants-to-keys.js.map +1 -0
- package/dist/webgl-utils/format-utils.d.ts +3 -0
- package/dist/webgl-utils/format-utils.d.ts.map +1 -0
- package/dist/webgl-utils/format-utils.js +45 -0
- package/dist/webgl-utils/format-utils.js.map +1 -0
- package/dist/webgl-utils/get-error.d.ts +3 -0
- package/dist/webgl-utils/get-error.d.ts.map +1 -0
- package/dist/webgl-utils/get-error.js +41 -0
- package/dist/webgl-utils/get-error.js.map +1 -0
- package/dist/webgl-utils/index.d.ts +5 -0
- package/dist/webgl-utils/index.d.ts.map +1 -0
- package/dist/webgl-utils/index.js +5 -0
- package/dist/webgl-utils/index.js.map +1 -0
- package/dist/webgl-utils/parse-shader-compiler-log.d.ts +8 -0
- package/dist/webgl-utils/parse-shader-compiler-log.d.ts.map +1 -0
- package/dist/webgl-utils/parse-shader-compiler-log.js +37 -0
- package/dist/webgl-utils/parse-shader-compiler-log.js.map +1 -0
- package/dist/webgl-utils/request-animation-frame.d.ts +4 -0
- package/dist/webgl-utils/request-animation-frame.d.ts.map +1 -0
- package/dist/webgl-utils/request-animation-frame.js +7 -0
- package/dist/webgl-utils/request-animation-frame.js.map +1 -0
- package/dist/webgl-utils/texture-utils.d.ts +15 -0
- package/dist/webgl-utils/texture-utils.d.ts.map +1 -0
- package/dist/webgl-utils/texture-utils.js +48 -0
- package/dist/webgl-utils/texture-utils.js.map +1 -0
- package/dist/webgl-utils/typed-array-utils.d.ts +43 -0
- package/dist/webgl-utils/typed-array-utils.d.ts.map +1 -0
- package/{src → dist}/webgl-utils/typed-array-utils.js +45 -27
- package/dist/webgl-utils/typed-array-utils.js.map +1 -0
- package/package.json +9 -9
- package/src/.DS_Store +0 -0
- package/src/adapter/converters/set-device-parameters.ts +182 -0
- package/src/adapter/converters/webgpu-texture-formats.ts +167 -0
- package/src/adapter/device-helpers/device-features.ts +227 -0
- package/src/adapter/device-helpers/device-limits.ts +150 -0
- package/src/adapter/device-helpers/get-device-info.ts +49 -0
- package/src/{features/check-old-ie.js → adapter/device-helpers/is-old-ie.ts} +3 -3
- package/src/adapter/webgl-device.ts +406 -0
- package/src/adapter/webgl-shader.ts +84 -0
- package/src/bundle.ts +4 -0
- package/src/classes/accessor.js +2 -3
- package/src/classes/accessor.ts.disabled +159 -0
- package/src/classes/clear.ts +108 -0
- package/src/classes/{copy-and-blit.js → copy-and-blit.ts} +143 -55
- package/src/classes/{framebuffer.js → framebuffer.ts} +381 -321
- package/src/classes/program-configuration.ts +77 -0
- package/src/classes/{program.js → program.ts} +111 -77
- package/src/classes/{query.js → query.ts} +31 -25
- package/src/classes/{renderbuffer-formats.js → renderbuffer-formats.ts} +42 -14
- package/src/classes/renderbuffer.ts +154 -0
- package/src/classes/shader.ts +129 -0
- package/src/classes/texture-2d.ts +35 -0
- package/src/classes/{texture-3d.js → texture-3d.ts} +48 -18
- package/src/classes/{texture-cube.js → texture-cube.ts} +52 -34
- package/src/classes/{texture-formats.js → texture-formats.ts} +10 -2
- package/src/classes/{texture.js → texture.ts} +223 -57
- package/src/classes/{transform-feedback.js → transform-feedback.ts} +34 -25
- package/src/classes/{uniform-buffer-layout.js → uniform-buffer-layout.ts} +10 -6
- package/src/classes/{uniforms.js → uniforms.ts} +123 -77
- package/src/classes/{vertex-array-object.js → vertex-array-object.ts} +136 -114
- package/src/classes/{vertex-array.js → vertex-array.ts} +84 -59
- package/src/classes/{buffer.js → webgl-buffer.ts} +126 -50
- package/src/classes/{resource.js → webgl-resource.ts} +55 -46
- package/src/context/context/context-state.ts +39 -0
- package/src/context/context/create-context.ts +83 -0
- package/src/context/context/device-pixels.ts +147 -0
- package/src/context/context/get-canvas.ts +37 -0
- package/src/context/context/resize-context.ts +37 -0
- package/src/context/context/webgl-checks.ts +49 -0
- package/src/context/parameters/unified-parameter-api.ts +128 -0
- package/src/context/parameters/webgl-parameter-tables.ts +625 -0
- package/src/context/parameters/webgl-parameters.ts +197 -0
- package/src/context/polyfill/get-parameter-polyfill.ts +118 -0
- package/src/context/polyfill/polyfill-context.ts +98 -0
- package/src/context/polyfill/polyfill-table.ts +162 -0
- package/src/context/polyfill/polyfill-vertex-array-object.ts +360 -0
- package/src/context/state-tracker/deep-array-equal.ts +20 -0
- package/src/context/state-tracker/track-context-state.ts +250 -0
- package/src/context/state-tracker/with-parameters.ts +50 -0
- package/src/debug/{debug-program-configuration.js → debug-program-configuration.ts} +0 -0
- package/src/debug/{debug-uniforms.js → debug-uniforms.ts} +18 -8
- package/src/debug/{debug-vertex-array.js → debug-vertex-array.ts} +6 -5
- package/src/helpers/get-program-bindings.ts +244 -0
- package/src/helpers/program-bindings.ts +46 -0
- package/src/index.ts +133 -0
- package/src/{init.js → init.ts} +11 -25
- package/src/types/accessor.d.ts +29 -0
- package/src/{types.d.ts → types.ts} +1 -1
- package/src/webgl-utils/{attribute-utils.js → attribute-utils.ts} +1 -2
- package/src/webgl-utils/{constants-to-keys.js → constants-to-keys.ts} +1 -1
- package/src/webgl-utils/{format-utils.js → format-utils.ts} +1 -1
- package/src/webgl-utils/{get-error.js → get-error.ts} +0 -0
- package/src/webgl-utils/index.ts +12 -0
- package/src/webgl-utils/parse-shader-compiler-log.ts +48 -0
- package/src/webgl-utils/{request-animation-frame.js → request-animation-frame.ts} +3 -2
- package/src/webgl-utils/{texture-utils.js → texture-utils.ts} +14 -10
- package/src/webgl-utils/typed-array-utils.ts +137 -0
- package/dist/dist.js +0 -13555
- package/dist/dist.min.js +0 -1
- package/dist/es5/classes/buffer.d.ts +0 -84
- package/dist/es5/classes/buffer.js.map +0 -1
- package/dist/es5/classes/clear.d.ts +0 -11
- package/dist/es5/classes/copy-and-blit.d.ts +0 -101
- package/dist/es5/classes/framebuffer.d.ts +0 -96
- package/dist/es5/classes/program-configuration.d.ts +0 -15
- package/dist/es5/classes/program.d.ts +0 -44
- package/dist/es5/classes/query.d.ts +0 -21
- package/dist/es5/classes/renderbuffer.d.ts +0 -34
- package/dist/es5/classes/resource.d.ts +0 -47
- package/dist/es5/classes/resource.js.map +0 -1
- package/dist/es5/classes/shader.d.ts +0 -29
- package/dist/es5/classes/texture-2d.d.ts +0 -11
- package/dist/es5/classes/texture-3d.d.ts +0 -29
- package/dist/es5/classes/texture-cube.d.ts +0 -23
- package/dist/es5/classes/texture.d.ts +0 -80
- package/dist/es5/classes/transform-feedback.d.ts +0 -16
- package/dist/es5/classes/uniform-buffer-layout.d.ts +0 -18
- package/dist/es5/classes/uniforms.d.ts +0 -63
- package/dist/es5/classes/vertex-array-object.d.ts +0 -25
- package/dist/es5/classes/vertex-array.d.ts +0 -37
- package/dist/es5/debug/debug-program-configuration.d.ts +0 -1
- package/dist/es5/debug/debug-uniforms.d.ts +0 -11
- package/dist/es5/debug/debug-vertex-array.d.ts +0 -1
- package/dist/es5/features/check-glsl-extension.js +0 -41
- package/dist/es5/features/check-glsl-extension.js.map +0 -1
- package/dist/es5/features/check-old-ie.js.map +0 -1
- package/dist/es5/features/features.js +0 -99
- package/dist/es5/features/features.js.map +0 -1
- package/dist/es5/features/index.js +0 -64
- package/dist/es5/features/index.js.map +0 -1
- package/dist/es5/features/limits.js +0 -64
- package/dist/es5/features/limits.js.map +0 -1
- package/dist/es5/features/webgl-features-table.js +0 -64
- package/dist/es5/features/webgl-features-table.js.map +0 -1
- package/dist/es5/features/webgl-limits-table.js +0 -132
- package/dist/es5/features/webgl-limits-table.js.map +0 -1
- package/dist/es5/glsl-utils/format-glsl-error.d.ts +0 -16
- package/dist/es5/glsl-utils/format-glsl-error.js +0 -108
- package/dist/es5/glsl-utils/format-glsl-error.js.map +0 -1
- package/dist/es5/glsl-utils/get-shader-name.js +0 -14
- package/dist/es5/glsl-utils/get-shader-name.js.map +0 -1
- package/dist/es5/glsl-utils/get-shader-type-name.js +0 -22
- package/dist/es5/glsl-utils/get-shader-type-name.js.map +0 -1
- package/dist/es5/glsl-utils/get-shader-version.js +0 -22
- package/dist/es5/glsl-utils/get-shader-version.js.map +0 -1
- package/dist/es5/glsl-utils/index.js +0 -48
- package/dist/es5/glsl-utils/index.js.map +0 -1
- package/dist/es5/index.d.ts +0 -71
- package/dist/es5/init.d.ts +0 -12
- package/dist/es5/types.d.ts +0 -8
- package/dist/es5/utils/array-utils-flat.js +0 -51
- package/dist/es5/utils/array-utils-flat.js.map +0 -1
- package/dist/es5/utils/assert.d.ts +0 -1
- package/dist/es5/utils/assert.js +0 -13
- package/dist/es5/utils/assert.js.map +0 -1
- package/dist/es5/utils/check-props.js +0 -51
- package/dist/es5/utils/check-props.js.map +0 -1
- package/dist/es5/utils/format-value.js +0 -57
- package/dist/es5/utils/format-value.js.map +0 -1
- package/dist/es5/utils/is-old-ie.d.ts +0 -1
- package/dist/es5/utils/is-old-ie.js +0 -14
- package/dist/es5/utils/is-old-ie.js.map +0 -1
- package/dist/es5/utils/load-file.js +0 -50
- package/dist/es5/utils/load-file.js.map +0 -1
- package/dist/es5/utils/stub-methods.js +0 -25
- package/dist/es5/utils/stub-methods.js.map +0 -1
- package/dist/es5/utils/utils.d.ts +0 -13
- package/dist/es5/utils/utils.js +0 -36
- package/dist/es5/utils/utils.js.map +0 -1
- package/dist/es5/webgl-utils/request-animation-frame.d.ts +0 -3
- package/dist/es5/webgl-utils/texture-utils.d.ts +0 -11
- package/dist/es5/webgl-utils/typed-array-utils.d.ts +0 -36
- package/dist/esm/classes/buffer.d.ts +0 -84
- package/dist/esm/classes/buffer.js.map +0 -1
- package/dist/esm/classes/clear.d.ts +0 -11
- package/dist/esm/classes/copy-and-blit.d.ts +0 -101
- package/dist/esm/classes/framebuffer.d.ts +0 -96
- package/dist/esm/classes/program-configuration.d.ts +0 -15
- package/dist/esm/classes/program.d.ts +0 -44
- package/dist/esm/classes/query.d.ts +0 -21
- package/dist/esm/classes/renderbuffer.d.ts +0 -34
- package/dist/esm/classes/resource.d.ts +0 -47
- package/dist/esm/classes/resource.js.map +0 -1
- package/dist/esm/classes/shader.d.ts +0 -29
- package/dist/esm/classes/texture-2d.d.ts +0 -11
- package/dist/esm/classes/texture-3d.d.ts +0 -29
- package/dist/esm/classes/texture-cube.d.ts +0 -23
- package/dist/esm/classes/texture.d.ts +0 -80
- package/dist/esm/classes/transform-feedback.d.ts +0 -16
- package/dist/esm/classes/uniform-buffer-layout.d.ts +0 -18
- package/dist/esm/classes/uniforms.d.ts +0 -63
- package/dist/esm/classes/vertex-array-object.d.ts +0 -25
- package/dist/esm/classes/vertex-array.d.ts +0 -37
- package/dist/esm/debug/debug-program-configuration.d.ts +0 -1
- package/dist/esm/debug/debug-uniforms.d.ts +0 -11
- package/dist/esm/debug/debug-vertex-array.d.ts +0 -1
- package/dist/esm/features/check-glsl-extension.js +0 -27
- package/dist/esm/features/check-glsl-extension.js.map +0 -1
- package/dist/esm/features/check-old-ie.js.map +0 -1
- package/dist/esm/features/features.js +0 -66
- package/dist/esm/features/features.js.map +0 -1
- package/dist/esm/features/index.js +0 -5
- package/dist/esm/features/index.js.map +0 -1
- package/dist/esm/features/limits.js +0 -52
- package/dist/esm/features/limits.js.map +0 -1
- package/dist/esm/features/webgl-features-table.js +0 -71
- package/dist/esm/features/webgl-features-table.js.map +0 -1
- package/dist/esm/features/webgl-limits-table.js +0 -160
- package/dist/esm/features/webgl-limits-table.js.map +0 -1
- package/dist/esm/glsl-utils/format-glsl-error.d.ts +0 -16
- package/dist/esm/glsl-utils/format-glsl-error.js +0 -93
- package/dist/esm/glsl-utils/format-glsl-error.js.map +0 -1
- package/dist/esm/glsl-utils/get-shader-name.js +0 -6
- package/dist/esm/glsl-utils/get-shader-name.js.map +0 -1
- package/dist/esm/glsl-utils/get-shader-type-name.js +0 -15
- package/dist/esm/glsl-utils/get-shader-type-name.js.map +0 -1
- package/dist/esm/glsl-utils/get-shader-version.js +0 -15
- package/dist/esm/glsl-utils/get-shader-version.js.map +0 -1
- package/dist/esm/glsl-utils/index.js +0 -5
- package/dist/esm/glsl-utils/index.js.map +0 -1
- package/dist/esm/index.d.ts +0 -71
- package/dist/esm/init.d.ts +0 -12
- package/dist/esm/types.d.ts +0 -8
- package/dist/esm/utils/array-utils-flat.js +0 -39
- package/dist/esm/utils/array-utils-flat.js.map +0 -1
- package/dist/esm/utils/assert.d.ts +0 -1
- package/dist/esm/utils/assert.js +0 -6
- package/dist/esm/utils/assert.js.map +0 -1
- package/dist/esm/utils/check-props.js +0 -38
- package/dist/esm/utils/check-props.js.map +0 -1
- package/dist/esm/utils/format-value.js +0 -50
- package/dist/esm/utils/format-value.js.map +0 -1
- package/dist/esm/utils/is-old-ie.d.ts +0 -1
- package/dist/esm/utils/is-old-ie.js +0 -5
- package/dist/esm/utils/is-old-ie.js.map +0 -1
- package/dist/esm/utils/load-file.js +0 -30
- package/dist/esm/utils/load-file.js.map +0 -1
- package/dist/esm/utils/stub-methods.js +0 -17
- package/dist/esm/utils/stub-methods.js.map +0 -1
- package/dist/esm/utils/utils.d.ts +0 -13
- package/dist/esm/utils/utils.js +0 -22
- package/dist/esm/utils/utils.js.map +0 -1
- package/dist/esm/webgl-utils/request-animation-frame.d.ts +0 -3
- package/dist/esm/webgl-utils/texture-utils.d.ts +0 -11
- package/dist/esm/webgl-utils/typed-array-utils.d.ts +0 -36
- package/src/bundle.js +0 -8
- package/src/classes/buffer.d.ts +0 -84
- package/src/classes/clear.d.ts +0 -11
- package/src/classes/copy-and-blit.d.ts +0 -101
- package/src/classes/framebuffer.d.ts +0 -96
- package/src/classes/program-configuration.d.ts +0 -15
- package/src/classes/program-configuration.js +0 -123
- package/src/classes/program.d.ts +0 -44
- package/src/classes/query.d.ts +0 -21
- package/src/classes/renderbuffer.d.ts +0 -34
- package/src/classes/renderbuffer.js +0 -105
- package/src/classes/resource.d.ts +0 -47
- package/src/classes/shader.d.ts +0 -29
- package/src/classes/shader.js +0 -147
- package/src/classes/texture-2d.d.ts +0 -11
- package/src/classes/texture-2d.js +0 -30
- package/src/classes/texture-3d.d.ts +0 -29
- package/src/classes/texture-cube.d.ts +0 -23
- package/src/classes/texture.d.ts +0 -80
- package/src/classes/transform-feedback.d.ts +0 -16
- package/src/classes/uniform-buffer-layout.d.ts +0 -18
- package/src/classes/uniforms.d.ts +0 -63
- package/src/classes/vertex-array-object.d.ts +0 -25
- package/src/classes/vertex-array.d.ts +0 -37
- package/src/debug/debug-program-configuration.d.ts +0 -1
- package/src/debug/debug-uniforms.d.ts +0 -11
- package/src/debug/debug-vertex-array.d.ts +0 -1
- package/src/features/check-glsl-extension.js +0 -34
- package/src/features/features.js +0 -79
- package/src/features/index.js +0 -5
- package/src/features/limits.js +0 -65
- package/src/features/webgl-features-table.js +0 -104
- package/src/features/webgl-limits-table.js +0 -51
- package/src/glsl-utils/format-glsl-error.d.ts +0 -16
- package/src/glsl-utils/format-glsl-error.js +0 -107
- package/src/glsl-utils/get-shader-name.js +0 -7
- package/src/glsl-utils/get-shader-type-name.js +0 -13
- package/src/glsl-utils/get-shader-version.js +0 -12
- package/src/glsl-utils/index.js +0 -8
- package/src/index.d.ts +0 -71
- package/src/index.js +0 -70
- package/src/init.d.ts +0 -12
- package/src/utils/array-utils-flat.js +0 -56
- package/src/utils/assert.d.ts +0 -1
- package/src/utils/assert.js +0 -7
- package/src/utils/check-props.js +0 -68
- package/src/utils/format-value.js +0 -37
- package/src/utils/is-old-ie.d.ts +0 -1
- package/src/utils/is-old-ie.js +0 -6
- package/src/utils/load-file.js +0 -39
- package/src/utils/stub-methods.js +0 -20
- package/src/utils/utils.d.ts +0 -13
- package/src/utils/utils.js +0 -36
- package/src/webgl-utils/request-animation-frame.d.ts +0 -3
- package/src/webgl-utils/texture-utils.d.ts +0 -11
- package/src/webgl-utils/typed-array-utils.d.ts +0 -36
|
@@ -0,0 +1,182 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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":"AAAA,SAAQA,MAAR,QAAqB,cAArB;AAEA,MAAMC,OAAO,GAAG,MAAhB;AACA,MAAMC,gBAAgB,GAAG,MAAzB;AACA,MAAMC,QAAQ,GAAG,MAAjB;AACA,MAAMC,iBAAiB,GAAG,MAA1B;AAEA,MAAMC,SAAS,GAAG,GAAlB;AACA,MAAMC,QAAQ,GAAG,GAAjB;AACA,MAAMC,YAAY,GAAG,GAArB;AACA,MAAMC,aAAa,GAAG,GAAtB;AACA,MAAMC,YAAY,GAAG,GAArB;AACA,MAAMC,iBAAiB,GAAG,GAA1B;AACA,MAAMC,eAAe,GAAG,GAAxB;AAGA,MAAMC,QAAQ,GAAG,MAAjB;AACA,MAAMC,aAAa,GAAG,MAAtB;AACA,MAAMC,aAAa,GAAG,MAAtB;AACA,MAAMC,aAAa,GAAG,MAAtB;AAEA,MAAMC,MAAM,GAAG,MAAf;AACA,MAAMC,WAAW,GAAG,MAApB;AACA,MAAMC,WAAW,GAAG,MAApB;AACA,MAAMC,WAAW,GAAG,MAApB;AAEA,MAAMC,eAAe,GAAG,MAAxB;AACA,MAAMC,oBAAoB,GAAG,MAA7B;AACA,MAAMC,oBAAoB,GAAG,MAA7B;AACA,MAAMC,oBAAoB,GAAG,MAA7B;AAEA,MAAMC,OAAO,GAAG,MAAhB;AACA,MAAMC,YAAY,GAAG,MAArB;AACA,MAAMC,YAAY,GAAG,MAArB;AACA,MAAMC,YAAY,GAAG,MAArB;AAEA,MAAMC,aAAa,GAAG,MAAtB;AACA,MAAMC,aAAa,GAAG,MAAtB;AACA,MAAMC,aAAa,GAAG,MAAtB;AAEA,MAAMC,eAAe,GAAG,MAAxB;AACA,MAAMC,eAAe,GAAG,MAAxB;AACA,MAAMC,eAAe,GAAG,MAAxB;AACA,MAAMC,eAAe,GAAG,MAAxB;AACA,MAAMC,eAAe,GAAG,MAAxB;AACA,MAAMC,eAAe,GAAG,MAAxB;AAGA,MAAMC,kBAAkB,GAAG;AACzB,GAACzB,QAAD,GAAY,CAACA,QAAD,EAAW,CAAX,EAAc,OAAd,CADa;AAEzB,GAACC,aAAD,GAAiB,CAACD,QAAD,EAAW,CAAX,EAAc,MAAd,CAFQ;AAGzB,GAACE,aAAD,GAAiB,CAACF,QAAD,EAAW,CAAX,EAAc,MAAd,CAHQ;AAIzB,GAACG,aAAD,GAAiB,CAACH,QAAD,EAAW,CAAX,EAAc,MAAd,CAJQ;AAMzB,GAACI,MAAD,GAAU,CAACA,MAAD,EAAS,CAAT,EAAY,KAAZ,CANe;AAOzB,GAACC,WAAD,GAAe,CAACD,MAAD,EAAS,CAAT,EAAY,OAAZ,CAPU;AAQzB,GAACE,WAAD,GAAe,CAACF,MAAD,EAAS,CAAT,EAAY,OAAZ,CARU;AASzB,GAACG,WAAD,GAAe,CAACH,MAAD,EAAS,CAAT,EAAY,OAAZ,CATU;AAWzB,GAACI,eAAD,GAAmB,CAACA,eAAD,EAAkB,CAAlB,EAAqB,MAArB,CAXM;AAYzB,GAACC,oBAAD,GAAwB,CAACD,eAAD,EAAkB,CAAlB,EAAqB,OAArB,CAZC;AAazB,GAACE,oBAAD,GAAwB,CAACF,eAAD,EAAkB,CAAlB,EAAqB,OAArB,CAbC;AAczB,GAACG,oBAAD,GAAwB,CAACH,eAAD,EAAkB,CAAlB,EAAqB,OAArB,CAdC;AAgBzB,GAACI,OAAD,GAAW,CAACZ,QAAD,EAAW,CAAX,EAAc,MAAd,CAhBc;AAiBzB,GAACa,YAAD,GAAgB,CAACb,QAAD,EAAW,CAAX,EAAc,OAAd,CAjBS;AAkBzB,GAACc,YAAD,GAAgB,CAACd,QAAD,EAAW,CAAX,EAAc,OAAd,CAlBS;AAmBzB,GAACe,YAAD,GAAgB,CAACf,QAAD,EAAW,CAAX,EAAc,OAAd,CAnBS;AAqBzB,GAACgB,aAAD,GAAiB,CAAChB,QAAD,EAAW,CAAX,EAAc,MAAd,CArBQ;AAsBzB,GAACmB,eAAD,GAAmB,CAACnB,QAAD,EAAW,CAAX,EAAc,QAAd,CAtBM;AAuBzB,GAACoB,eAAD,GAAmB,CAACpB,QAAD,EAAW,CAAX,EAAc,QAAd,CAvBM;AAyBzB,GAACiB,aAAD,GAAiB,CAACjB,QAAD,EAAW,EAAX,EAAe,MAAf,CAzBQ;AA0BzB,GAACqB,eAAD,GAAmB,CAACrB,QAAD,EAAW,EAAX,EAAe,QAAf,CA1BM;AA2BzB,GAACsB,eAAD,GAAmB,CAACtB,QAAD,EAAW,EAAX,EAAe,QAAf,CA3BM;AA6BzB,GAACkB,aAAD,GAAiB,CAAClB,QAAD,EAAW,EAAX,EAAe,MAAf,CA7BQ;AA8BzB,GAACuB,eAAD,GAAmB,CAACvB,QAAD,EAAW,EAAX,EAAe,QAAf,CA9BM;AA+BzB,GAACwB,eAAD,GAAmB,CAACxB,QAAD,EAAW,EAAX,EAAe,QAAf;AA/BM,CAA3B;AAmCA,OAAO,SAAS0B,oBAAT,CAA8BC,QAA9B,EAAwC;AAC7C,UAAQA,QAAR;AACE,SAAKlC,SAAL;AACE,aAAOA,SAAP;;AACF,SAAKC,QAAL;AACE,aAAOA,QAAP;;AACF,SAAKE,aAAL;AACE,aAAOF,QAAP;;AACF,SAAKC,YAAL;AACE,aAAOD,QAAP;;AACF,SAAKG,YAAL;AACE,aAAOA,YAAP;;AACF,SAAKC,iBAAL;AACE,aAAOD,YAAP;;AACF,SAAKE,eAAL;AACE,aAAOF,YAAP;;AACF;AACET,MAAAA,MAAM,CAAC,KAAD,CAAN;AACA,aAAO,CAAP;AAjBJ;AAmBD;AAGD,OAAO,SAASwC,iBAAT,CAA2B;AAACD,EAAAA,QAAD;AAAWE,EAAAA;AAAX,CAA3B,EAAoD;AACzD,UAAQF,QAAR;AACE,SAAKlC,SAAL;AACA,SAAKE,YAAL;AACE,aAAOkC,WAAP;;AACF,SAAKnC,QAAL;AACE,aAAOmC,WAAW,GAAG,CAArB;;AACF,SAAKjC,aAAL;AACE,aAAOiC,WAAW,GAAG,CAArB;;AACF,SAAKhC,YAAL;AACE,aAAOgC,WAAW,GAAG,CAArB;;AACF,SAAK/B,iBAAL;AACA,SAAKC,eAAL;AACE,aAAO8B,WAAW,GAAG,CAArB;;AACF;AACEzC,MAAAA,MAAM,CAAC,KAAD,CAAN;AACA,aAAO,CAAP;AAfJ;AAiBD;AAGD,OAAO,SAAS0C,cAAT,CAAwB;AAACH,EAAAA,QAAD;AAAWE,EAAAA;AAAX,CAAxB,EAAiD;AACtD,QAAME,cAAc,GAAGH,iBAAiB,CAAC;AAACD,IAAAA,QAAD;AAAWE,IAAAA;AAAX,GAAD,CAAxC;;AACA,UAAQH,oBAAoB,CAACC,QAAD,CAA5B;AACE,SAAKlC,SAAL;AACE,aAAOsC,cAAP;;AACF,SAAKrC,QAAL;AACE,aAAOqC,cAAc,GAAG,CAAxB;;AACF,SAAKlC,YAAL;AACE,aAAOkC,cAAc,GAAG,CAAxB;;AACF;AACE3C,MAAAA,MAAM,CAAC,KAAD,CAAN;AACA,aAAO,CAAP;AATJ;AAWD;AAGD,OAAO,SAAS4C,wBAAT,CAAkCC,eAAlC,EAAmD;AACxD,QAAMC,WAAW,GAAGT,kBAAkB,CAACQ,eAAD,CAAtC;;AACA,MAAI,CAACC,WAAL,EAAkB;AAChB,WAAO,IAAP;AACD;;AACD,QAAM,CAACC,IAAD,EAAOC,UAAP,IAAqBF,WAA3B;AACA,SAAO;AAACC,IAAAA,IAAD;AAAOC,IAAAA;AAAP,GAAP;AACD;AAED,OAAO,SAASC,kBAAT,CAA4BF,IAA5B,EAAkCC,UAAlC,EAA8C;AACnD,UAAQD,IAAR;AACE,SAAK9C,OAAL;AACA,SAAKC,gBAAL;AACA,SAAKC,QAAL;AACA,SAAKC,iBAAL;AACE2C,MAAAA,IAAI,GAAGnC,QAAP;AACA;;AACF;AAPF;;AAUA,OAAK,MAAMsC,MAAX,IAAqBb,kBAArB,EAAyC;AACvC,UAAM,CAACc,QAAD,EAAWC,cAAX,EAA2BC,IAA3B,IAAmChB,kBAAkB,CAACa,MAAD,CAA3D;;AACA,QAAIC,QAAQ,KAAKJ,IAAb,IAAqBK,cAAc,KAAKJ,UAA5C,EAAwD;AACtD,aAAO;AAACE,QAAAA,MAAD;AAASG,QAAAA;AAAT,OAAP;AACD;AACF;;AACD,SAAO,IAAP;AACD","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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { assert } from '@luma.gl/api';
|
|
2
|
+
export function getKeyValue(gl, name) {
|
|
3
|
+
if (typeof name !== 'string') {
|
|
4
|
+
return name;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
const number = Number(name);
|
|
8
|
+
|
|
9
|
+
if (!isNaN(number)) {
|
|
10
|
+
return number;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
name = name.replace(/^.*\./, '');
|
|
14
|
+
const value = gl[name];
|
|
15
|
+
assert(value !== undefined, "Accessing undefined constant GL.".concat(name));
|
|
16
|
+
return value;
|
|
17
|
+
}
|
|
18
|
+
export function getKey(gl, value) {
|
|
19
|
+
value = Number(value);
|
|
20
|
+
|
|
21
|
+
for (const key in gl) {
|
|
22
|
+
if (gl[key] === value) {
|
|
23
|
+
return "GL.".concat(key);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return String(value);
|
|
28
|
+
}
|
|
29
|
+
export function getKeyType(gl, value) {
|
|
30
|
+
assert(value !== undefined, 'undefined key');
|
|
31
|
+
value = Number(value);
|
|
32
|
+
|
|
33
|
+
for (const key in gl) {
|
|
34
|
+
if (gl[key] === value) {
|
|
35
|
+
return "GL.".concat(key);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return String(value);
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=constants-to-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
const GL_NO_ERROR = 0;
|
|
2
|
+
const GL_INVALID_ENUM = 0x0500;
|
|
3
|
+
const GL_INVALID_VALUE = 0x0501;
|
|
4
|
+
const GL_INVALID_OPERATION = 0x0502;
|
|
5
|
+
const GL_OUT_OF_MEMORY = 0x0505;
|
|
6
|
+
const GL_CONTEXT_LOST_WEBGL = 0x9242;
|
|
7
|
+
const GL_INVALID_FRAMEBUFFER_OPERATION = 0x0506;
|
|
8
|
+
const GL_ERROR_MESSAGES = {
|
|
9
|
+
[GL_CONTEXT_LOST_WEBGL]: 'WebGL context lost',
|
|
10
|
+
[GL_INVALID_ENUM]: 'WebGL invalid enumerated argument',
|
|
11
|
+
[GL_INVALID_VALUE]: 'WebGL invalid value',
|
|
12
|
+
[GL_INVALID_OPERATION]: 'WebGL invalid operation',
|
|
13
|
+
[GL_INVALID_FRAMEBUFFER_OPERATION]: 'WebGL invalid framebuffer operation',
|
|
14
|
+
[GL_OUT_OF_MEMORY]: 'WebGL out of memory'
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
function glGetErrorMessage(gl, glError) {
|
|
18
|
+
return GL_ERROR_MESSAGES[glError] || "WebGL unknown error ".concat(glError);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export function glGetError(gl) {
|
|
22
|
+
const errorStack = [];
|
|
23
|
+
let glError = gl.getError();
|
|
24
|
+
|
|
25
|
+
while (glError !== GL_NO_ERROR) {
|
|
26
|
+
errorStack.push(glGetErrorMessage(gl, glError));
|
|
27
|
+
glError = gl.getError();
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return errorStack.length ? new Error(errorStack.join('\n')) : null;
|
|
31
|
+
}
|
|
32
|
+
export function glCheckError(gl) {
|
|
33
|
+
if (gl.debug) {
|
|
34
|
+
const error = glGetError(gl);
|
|
35
|
+
|
|
36
|
+
if (error) {
|
|
37
|
+
throw error;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=get-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/webgl-utils/get-error.ts"],"names":["GL_NO_ERROR","GL_INVALID_ENUM","GL_INVALID_VALUE","GL_INVALID_OPERATION","GL_OUT_OF_MEMORY","GL_CONTEXT_LOST_WEBGL","GL_INVALID_FRAMEBUFFER_OPERATION","GL_ERROR_MESSAGES","glGetErrorMessage","gl","glError","glGetError","errorStack","getError","push","length","Error","join","glCheckError","debug","error"],"mappings":"AAIA,MAAMA,WAAW,GAAG,CAApB;AACA,MAAMC,eAAe,GAAG,MAAxB;AACA,MAAMC,gBAAgB,GAAG,MAAzB;AACA,MAAMC,oBAAoB,GAAG,MAA7B;AACA,MAAMC,gBAAgB,GAAG,MAAzB;AACA,MAAMC,qBAAqB,GAAG,MAA9B;AACA,MAAMC,gCAAgC,GAAG,MAAzC;AAIA,MAAMC,iBAAiB,GAAG;AAIxB,GAACF,qBAAD,GAAyB,oBAJD;AAMxB,GAACJ,eAAD,GAAmB,mCANK;AAQxB,GAACC,gBAAD,GAAoB,qBARI;AAUxB,GAACC,oBAAD,GAAwB,yBAVA;AAaxB,GAACG,gCAAD,GAAoC,qCAbZ;AAexB,GAACF,gBAAD,GAAoB;AAfI,CAA1B;;AAkBA,SAASI,iBAAT,CAA2BC,EAA3B,EAA+BC,OAA/B,EAAwC;AACtC,SAAOH,iBAAiB,CAACG,OAAD,CAAjB,kCAAqDA,OAArD,CAAP;AACD;;AAGD,OAAO,SAASC,UAAT,CAAoBF,EAApB,EAAwB;AAE7B,QAAMG,UAAU,GAAG,EAAnB;AACA,MAAIF,OAAO,GAAGD,EAAE,CAACI,QAAH,EAAd;;AACA,SAAOH,OAAO,KAAKV,WAAnB,EAAgC;AAC9BY,IAAAA,UAAU,CAACE,IAAX,CAAgBN,iBAAiB,CAACC,EAAD,EAAKC,OAAL,CAAjC;AACAA,IAAAA,OAAO,GAAGD,EAAE,CAACI,QAAH,EAAV;AACD;;AACD,SAAOD,UAAU,CAACG,MAAX,GAAoB,IAAIC,KAAJ,CAAUJ,UAAU,CAACK,IAAX,CAAgB,IAAhB,CAAV,CAApB,GAAuD,IAA9D;AACD;AAED,OAAO,SAASC,YAAT,CAAsBT,EAAtB,EAA0B;AAC/B,MAAIA,EAAE,CAACU,KAAP,EAAc;AACZ,UAAMC,KAAK,GAAGT,UAAU,CAACF,EAAD,CAAxB;;AACA,QAAIW,KAAJ,EAAW;AACT,YAAMA,KAAN;AACD;AACF;AACF","sourcesContent":["// Helper definitions for validation of webgl parameters\n/* eslint-disable no-inline-comments, max-len */\n\n// Errors - Constants returned from getError().\nconst GL_NO_ERROR = 0; // Returned from getError.\nconst GL_INVALID_ENUM = 0x0500; // Returned from getError.\nconst GL_INVALID_VALUE = 0x0501; // Returned from getError.\nconst GL_INVALID_OPERATION = 0x0502; // Returned from getError.\nconst GL_OUT_OF_MEMORY = 0x0505; // Returned from getError.\nconst GL_CONTEXT_LOST_WEBGL = 0x9242; // Returned from getError.\nconst GL_INVALID_FRAMEBUFFER_OPERATION = 0x0506;\n\n// GL errors\n\nconst GL_ERROR_MESSAGES = {\n // If the WebGL context is lost, this error is returned on the\n // first call to getError. Afterwards and until the context has been\n // restored, it returns gl.NO_ERROR.\n [GL_CONTEXT_LOST_WEBGL]: 'WebGL context lost',\n // An unacceptable value has been specified for an enumerated argument.\n [GL_INVALID_ENUM]: 'WebGL invalid enumerated argument',\n // A numeric argument is out of range.\n [GL_INVALID_VALUE]: 'WebGL invalid value',\n // The specified command is not allowed for the current state.\n [GL_INVALID_OPERATION]: 'WebGL invalid operation',\n // The currently bound framebuffer is not framebuffer complete\n // when trying to render to or to read from it.\n [GL_INVALID_FRAMEBUFFER_OPERATION]: 'WebGL invalid framebuffer operation',\n // Not enough memory is left to execute the command.\n [GL_OUT_OF_MEMORY]: 'WebGL out of memory'\n};\n\nfunction glGetErrorMessage(gl, glError) {\n return GL_ERROR_MESSAGES[glError] || `WebGL unknown error ${glError}`;\n}\n\n// Returns an Error representing the Latest webGl error or null\nexport function glGetError(gl) {\n // Loop to ensure all errors are cleared\n const errorStack = [];\n let glError = gl.getError();\n while (glError !== GL_NO_ERROR) {\n errorStack.push(glGetErrorMessage(gl, glError));\n glError = gl.getError();\n }\n return errorStack.length ? new Error(errorStack.join('\\n')) : null;\n}\n\nexport function glCheckError(gl) {\n if (gl.debug) {\n const error = glGetError(gl);\n if (error) {\n throw error;\n }\n }\n}\n"],"file":"get-error.js"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { requestAnimationFrame, cancelAnimationFrame } from './request-animation-frame';
|
|
2
|
+
export { getGLTypeFromTypedArray, getTypedArrayFromGLType, flipRows, scalePixels } from './typed-array-utils';
|
|
3
|
+
export { getKeyValue, getKey, getKeyType } from './constants-to-keys';
|
|
4
|
+
export { cloneTextureFrom } from './texture-utils';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/webgl-utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAE,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAEtF,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,QAAQ,EACR,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAEpE,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { requestAnimationFrame, cancelAnimationFrame } from './request-animation-frame';
|
|
2
|
+
export { getGLTypeFromTypedArray, getTypedArrayFromGLType, flipRows, scalePixels } from './typed-array-utils';
|
|
3
|
+
export { getKeyValue, getKey, getKeyType } from './constants-to-keys';
|
|
4
|
+
export { cloneTextureFrom } from './texture-utils';
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/webgl-utils/index.ts"],"names":["requestAnimationFrame","cancelAnimationFrame","getGLTypeFromTypedArray","getTypedArrayFromGLType","flipRows","scalePixels","getKeyValue","getKey","getKeyType","cloneTextureFrom"],"mappings":"AAAA,SAAQA,qBAAR,EAA+BC,oBAA/B,QAA0D,2BAA1D;AAEA,SACEC,uBADF,EAEEC,uBAFF,EAGEC,QAHF,EAIEC,WAJF,QAKO,qBALP;AAOA,SAAQC,WAAR,EAAqBC,MAArB,EAA6BC,UAA7B,QAA8C,qBAA9C;AAEA,SAAQC,gBAAR,QAA+B,iBAA/B","sourcesContent":["export {requestAnimationFrame, cancelAnimationFrame} from './request-animation-frame';\n\nexport {\n getGLTypeFromTypedArray,\n getTypedArrayFromGLType,\n flipRows,\n scalePixels\n} from './typed-array-utils';\n\nexport {getKeyValue, getKey, getKeyType} from './constants-to-keys';\n\nexport {cloneTextureFrom} from './texture-utils';\n"],"file":"index.js"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CompilerMessage } from '@luma.gl/shadertools';
|
|
2
|
+
/**
|
|
3
|
+
* Parse a WebGL-format GLSL compilation log into an array of WebGPU style message records.
|
|
4
|
+
* This follows documented WebGL conventions for compilation logs.
|
|
5
|
+
* Based on https://github.com/wwwtyro/gl-format-compiler-error (public domain)
|
|
6
|
+
*/
|
|
7
|
+
export declare function parseShaderCompilerLog(errLog: string): readonly CompilerMessage[];
|
|
8
|
+
//# sourceMappingURL=parse-shader-compiler-log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-shader-compiler-log.d.ts","sourceRoot":"","sources":["../../src/webgl-utils/parse-shader-compiler-log.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAI1D;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAI,SAAS,eAAe,EAAE,CAqClF"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
const MESSAGE_TYPES = ['warning', 'error', 'info'];
|
|
2
|
+
export function parseShaderCompilerLog(errLog) {
|
|
3
|
+
const lines = errLog.split(/\r?\n/);
|
|
4
|
+
const messages = [];
|
|
5
|
+
|
|
6
|
+
for (const line of lines) {
|
|
7
|
+
if (line.length <= 1) {
|
|
8
|
+
continue;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const segments = line.split(':');
|
|
12
|
+
const [messageType, linePosition, lineNumber, ...rest] = segments;
|
|
13
|
+
let lineNum = parseInt(lineNumber, 10);
|
|
14
|
+
|
|
15
|
+
if (isNaN(lineNum)) {
|
|
16
|
+
lineNum = 0;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
let linePos = parseInt(linePosition, 10);
|
|
20
|
+
|
|
21
|
+
if (isNaN(linePos)) {
|
|
22
|
+
linePos = 0;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const lowerCaseType = messageType.toLowerCase();
|
|
26
|
+
const type = MESSAGE_TYPES.includes(lowerCaseType) ? lowerCaseType : 'info';
|
|
27
|
+
messages.push({
|
|
28
|
+
message: rest.join(':').trim(),
|
|
29
|
+
type,
|
|
30
|
+
lineNum,
|
|
31
|
+
linePos
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return messages;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=parse-shader-compiler-log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/webgl-utils/parse-shader-compiler-log.ts"],"names":["MESSAGE_TYPES","parseShaderCompilerLog","errLog","lines","split","messages","line","length","segments","messageType","linePosition","lineNumber","rest","lineNum","parseInt","isNaN","linePos","lowerCaseType","toLowerCase","type","includes","push","message","join","trim"],"mappings":"AAGA,MAAMA,aAAa,GAAG,CAAC,SAAD,EAAY,OAAZ,EAAqB,MAArB,CAAtB;AAOA,OAAO,SAASC,sBAAT,CAAgCC,MAAhC,EAA6E;AAElF,QAAMC,KAAK,GAAGD,MAAM,CAACE,KAAP,CAAa,OAAb,CAAd;AAEA,QAAMC,QAA2B,GAAG,EAApC;;AAEA,OAAK,MAAMC,IAAX,IAAmBH,KAAnB,EAA0B;AACxB,QAAIG,IAAI,CAACC,MAAL,IAAe,CAAnB,EAAsB;AACpB;AACD;;AAED,UAAMC,QAAkB,GAAGF,IAAI,CAACF,KAAL,CAAW,GAAX,CAA3B;AACA,UAAM,CAACK,WAAD,EAAcC,YAAd,EAA4BC,UAA5B,EAAwC,GAAGC,IAA3C,IAAmDJ,QAAzD;AAEA,QAAIK,OAAO,GAAGC,QAAQ,CAACH,UAAD,EAAa,EAAb,CAAtB;;AACA,QAAII,KAAK,CAACF,OAAD,CAAT,EAAoB;AAClBA,MAAAA,OAAO,GAAG,CAAV;AACD;;AAED,QAAIG,OAAO,GAAGF,QAAQ,CAACJ,YAAD,EAAe,EAAf,CAAtB;;AACA,QAAIK,KAAK,CAACC,OAAD,CAAT,EAAoB;AAClBA,MAAAA,OAAO,GAAG,CAAV;AACD;;AAGD,UAAMC,aAAa,GAAGR,WAAW,CAACS,WAAZ,EAAtB;AACA,UAAMC,IAAI,GAAInB,aAAa,CAACoB,QAAd,CAAuBH,aAAvB,IAAwCA,aAAxC,GAAwD,MAAtE;AAEAZ,IAAAA,QAAQ,CAACgB,IAAT,CAAc;AACZC,MAAAA,OAAO,EAAEV,IAAI,CAACW,IAAL,CAAU,GAAV,EAAeC,IAAf,EADG;AAEZL,MAAAA,IAFY;AAGZN,MAAAA,OAHY;AAIZG,MAAAA;AAJY,KAAd;AAMD;;AAED,SAAOX,QAAP;AACD","sourcesContent":["// luma.gl, MIT license\nimport type {CompilerMessage} from '@luma.gl/shadertools';\n\nconst MESSAGE_TYPES = ['warning', 'error', 'info'];\n\n/**\n * Parse a WebGL-format GLSL compilation log into an array of WebGPU style message records.\n * This follows documented WebGL conventions for compilation logs.\n * Based on https://github.com/wwwtyro/gl-format-compiler-error (public domain)\n */\nexport function parseShaderCompilerLog(errLog: string) : readonly CompilerMessage[] {\n // Parse the error - note: browser and driver dependent\n const lines = errLog.split(/\\r?\\n/);\n\n const messages: CompilerMessage[] = [];\n\n for (const line of lines) {\n if (line.length <= 1) {\n continue;\n }\n\n const segments: string[] = line.split(':');\n const [messageType, linePosition, lineNumber, ...rest] = segments;\n\n let lineNum = parseInt(lineNumber, 10);\n if (isNaN(lineNum)) {\n lineNum = 0;\n }\n\n let linePos = parseInt(linePosition, 10);\n if (isNaN(linePos)) {\n linePos = 0;\n }\n\n // Ensure supported type\n const lowerCaseType = messageType.toLowerCase();\n const type = (MESSAGE_TYPES.includes(lowerCaseType) ? lowerCaseType : 'info') as 'warning' | 'error' | 'info';\n\n messages.push({\n message: rest.join(':').trim(),\n type,\n lineNum,\n linePos // TODO\n })\n }\n\n return messages;\n}\n"],"file":"parse-shader-compiler-log.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-animation-frame.d.ts","sourceRoot":"","sources":["../../src/webgl-utils/request-animation-frame.ts"],"names":[],"mappings":";AAGA,wBAAgB,qBAAqB,CAAC,QAAQ,KAAA,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,CAIvE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,KAAA,GAAG,IAAI,CAIlD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export function requestAnimationFrame(callback) {
|
|
2
|
+
return typeof window !== 'undefined' && window.requestAnimationFrame ? window.requestAnimationFrame(callback) : setTimeout(callback, 1000 / 60);
|
|
3
|
+
}
|
|
4
|
+
export function cancelAnimationFrame(timerId) {
|
|
5
|
+
return typeof window !== 'undefined' && window.cancelAnimationFrame ? window.cancelAnimationFrame(timerId) : clearTimeout(timerId);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=request-animation-frame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/webgl-utils/request-animation-frame.ts"],"names":["requestAnimationFrame","callback","window","setTimeout","cancelAnimationFrame","timerId","clearTimeout"],"mappings":"AAGA,OAAO,SAASA,qBAAT,CAA+BC,QAA/B,EAAkE;AACvE,SAAO,OAAOC,MAAP,KAAkB,WAAlB,IAAiCA,MAAM,CAACF,qBAAxC,GACHE,MAAM,CAACF,qBAAP,CAA6BC,QAA7B,CADG,GAEHE,UAAU,CAACF,QAAD,EAAW,OAAO,EAAlB,CAFd;AAGD;AAED,OAAO,SAASG,oBAAT,CAA8BC,OAA9B,EAA6C;AAClD,SAAO,OAAOH,MAAP,KAAkB,WAAlB,IAAiCA,MAAM,CAACE,oBAAxC,GACHF,MAAM,CAACE,oBAAP,CAA4BC,OAA5B,CADG,GAEHC,YAAY,CAACD,OAAD,CAFhB;AAGD","sourcesContent":["// Node.js polyfills for requestAnimationFrame and cancelAnimationFrame\n// / <reference types=\"@types/node\" />\n\nexport function requestAnimationFrame(callback): number | NodeJS.Timeout {\n return typeof window !== 'undefined' && window.requestAnimationFrame\n ? window.requestAnimationFrame(callback)\n : setTimeout(callback, 1000 / 60);\n}\n\nexport function cancelAnimationFrame(timerId): void {\n return typeof window !== 'undefined' && window.cancelAnimationFrame\n ? window.cancelAnimationFrame(timerId)\n : clearTimeout(timerId);\n}\n"],"file":"request-animation-frame.js"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import Texture from '../classes/texture';
|
|
2
|
+
import Texture2D from '../classes/texture-2d';
|
|
3
|
+
import TextureCube from '../classes/texture-cube';
|
|
4
|
+
import Texture3D from '../classes/texture-3d';
|
|
5
|
+
import Framebuffer, { FramebufferProps } from '../classes/framebuffer';
|
|
6
|
+
declare type TextureType = Texture2D | TextureCube | Texture3D;
|
|
7
|
+
/** Clone a new texture object from a reference texture object. */
|
|
8
|
+
export declare function cloneTextureFrom<T extends TextureType>(refTexture: T, overrides?: any): T;
|
|
9
|
+
/**
|
|
10
|
+
* Wraps a given texture into a framebuffer object, that can be further used
|
|
11
|
+
* to read data from the texture object.
|
|
12
|
+
*/
|
|
13
|
+
export declare function toFramebuffer(texture: Texture, opts?: FramebufferProps): Framebuffer;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=texture-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texture-utils.d.ts","sourceRoot":"","sources":["../../src/webgl-utils/texture-utils.ts"],"names":[],"mappings":"AAGA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,WAAW,EAAE,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AAErE,aAAK,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;AAEvD,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,WAAW,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,CAAC,CA2BzF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,WAAW,CAcpF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { assert } from '@luma.gl/api';
|
|
2
|
+
import GL from '@luma.gl/constants';
|
|
3
|
+
import Texture2D from '../classes/texture-2d';
|
|
4
|
+
import TextureCube from '../classes/texture-cube';
|
|
5
|
+
import Texture3D from '../classes/texture-3d';
|
|
6
|
+
import Framebuffer from '../classes/framebuffer';
|
|
7
|
+
export function cloneTextureFrom(refTexture, overrides) {
|
|
8
|
+
assert(refTexture instanceof Texture2D || refTexture instanceof TextureCube || refTexture instanceof Texture3D);
|
|
9
|
+
const TextureType = refTexture.constructor;
|
|
10
|
+
const {
|
|
11
|
+
gl,
|
|
12
|
+
width,
|
|
13
|
+
height,
|
|
14
|
+
format,
|
|
15
|
+
type,
|
|
16
|
+
dataFormat,
|
|
17
|
+
border,
|
|
18
|
+
mipmaps
|
|
19
|
+
} = refTexture;
|
|
20
|
+
const textureOptions = Object.assign({
|
|
21
|
+
width,
|
|
22
|
+
height,
|
|
23
|
+
format,
|
|
24
|
+
type,
|
|
25
|
+
dataFormat,
|
|
26
|
+
border,
|
|
27
|
+
mipmaps
|
|
28
|
+
}, overrides);
|
|
29
|
+
return new TextureType(gl, textureOptions);
|
|
30
|
+
}
|
|
31
|
+
export function toFramebuffer(texture, opts) {
|
|
32
|
+
const {
|
|
33
|
+
gl,
|
|
34
|
+
width,
|
|
35
|
+
height,
|
|
36
|
+
id
|
|
37
|
+
} = texture;
|
|
38
|
+
const framebuffer = new Framebuffer(gl, Object.assign({}, opts, {
|
|
39
|
+
id: "framebuffer-for-".concat(id),
|
|
40
|
+
width,
|
|
41
|
+
height,
|
|
42
|
+
attachments: {
|
|
43
|
+
[GL.COLOR_ATTACHMENT0]: texture
|
|
44
|
+
}
|
|
45
|
+
}));
|
|
46
|
+
return framebuffer;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=texture-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/webgl-utils/texture-utils.ts"],"names":["assert","GL","Texture2D","TextureCube","Texture3D","Framebuffer","cloneTextureFrom","refTexture","overrides","TextureType","constructor","gl","width","height","format","type","dataFormat","border","mipmaps","textureOptions","Object","assign","toFramebuffer","texture","opts","id","framebuffer","attachments","COLOR_ATTACHMENT0"],"mappings":"AACA,SAAQA,MAAR,QAAqB,cAArB;AACA,OAAOC,EAAP,MAAe,oBAAf;AAEA,OAAOC,SAAP,MAAsB,uBAAtB;AACA,OAAOC,WAAP,MAAwB,yBAAxB;AACA,OAAOC,SAAP,MAAsB,uBAAtB;AACA,OAAOC,WAAP,MAA4C,wBAA5C;AAKA,OAAO,SAASC,gBAAT,CAAiDC,UAAjD,EAAgEC,SAAhE,EAAoF;AACzFR,EAAAA,MAAM,CACJO,UAAU,YAAYL,SAAtB,IACEK,UAAU,YAAYJ,WADxB,IAEEI,UAAU,YAAYH,SAHpB,CAAN;AAMA,QAAMK,WAAW,GAAGF,UAAU,CAACG,WAA/B;AAEA,QAAM;AAACC,IAAAA,EAAD;AAAKC,IAAAA,KAAL;AAAYC,IAAAA,MAAZ;AAAoBC,IAAAA,MAApB;AAA4BC,IAAAA,IAA5B;AAAkCC,IAAAA,UAAlC;AAA8CC,IAAAA,MAA9C;AAAsDC,IAAAA;AAAtD,MAAiEX,UAAvE;AAEA,QAAMY,cAAc,GAAGC,MAAM,CAACC,MAAP,CACrB;AACET,IAAAA,KADF;AAEEC,IAAAA,MAFF;AAGEC,IAAAA,MAHF;AAIEC,IAAAA,IAJF;AAKEC,IAAAA,UALF;AAMEC,IAAAA,MANF;AAOEC,IAAAA;AAPF,GADqB,EAUrBV,SAVqB,CAAvB;AAeA,SAAO,IAAIC,WAAJ,CAAgBE,EAAhB,EAAoBQ,cAApB,CAAP;AACD;AAMD,OAAO,SAASG,aAAT,CAAuBC,OAAvB,EAAyCC,IAAzC,EAA+E;AACpF,QAAM;AAACb,IAAAA,EAAD;AAAKC,IAAAA,KAAL;AAAYC,IAAAA,MAAZ;AAAoBY,IAAAA;AAApB,MAA0BF,OAAhC;AACA,QAAMG,WAAW,GAAG,IAAIrB,WAAJ,CAClBM,EADkB,EAElBS,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBG,IAAlB,EAAwB;AACtBC,IAAAA,EAAE,4BAAqBA,EAArB,CADoB;AAEtBb,IAAAA,KAFsB;AAGtBC,IAAAA,MAHsB;AAItBc,IAAAA,WAAW,EAAE;AACX,OAAC1B,EAAE,CAAC2B,iBAAJ,GAAwBL;AADb;AAJS,GAAxB,CAFkB,CAApB;AAWA,SAAOG,WAAP;AACD","sourcesContent":["// TODO: Two subdirectories must not depend on each other (classes vs utils)!\nimport {assert} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport Texture from '../classes/texture';\nimport Texture2D from '../classes/texture-2d';\nimport TextureCube from '../classes/texture-cube';\nimport Texture3D from '../classes/texture-3d';\nimport Framebuffer, {FramebufferProps} from '../classes/framebuffer';\n\ntype TextureType = Texture2D | TextureCube | Texture3D;\n\n/** Clone a new texture object from a reference texture object. */\nexport function cloneTextureFrom<T extends TextureType>(refTexture: T, overrides?: any): T {\n assert(\n refTexture instanceof Texture2D ||\n refTexture instanceof TextureCube ||\n refTexture instanceof Texture3D\n );\n\n const TextureType = refTexture.constructor;\n\n const {gl, width, height, format, type, dataFormat, border, mipmaps} = refTexture;\n\n const textureOptions = Object.assign(\n {\n width,\n height,\n format,\n type,\n dataFormat,\n border,\n mipmaps\n },\n overrides\n );\n\n // TODO: move this to `Texture` class as instance method and use this.constructor\n // @ts-expect-error\n return new TextureType(gl, textureOptions);\n}\n\n/**\n * Wraps a given texture into a framebuffer object, that can be further used\n * to read data from the texture object.\n */ \nexport function toFramebuffer(texture: Texture, opts?: FramebufferProps): Framebuffer {\n const {gl, width, height, id} = texture;\n const framebuffer = new Framebuffer(\n gl,\n Object.assign({}, opts, {\n id: `framebuffer-for-${id}`,\n width,\n height,\n attachments: {\n [GL.COLOR_ATTACHMENT0]: texture\n }\n })\n );\n return framebuffer;\n}\n"],"file":"texture-utils.js"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import GL from '@luma.gl/constants';
|
|
2
|
+
declare type TypedArrayConstructor = Float32ArrayConstructor | Uint16ArrayConstructor | Uint32ArrayConstructor | Uint8ArrayConstructor | Uint8ClampedArrayConstructor | Int8ArrayConstructor | Int16ArrayConstructor | Int32ArrayConstructor;
|
|
3
|
+
/**
|
|
4
|
+
* Converts TYPED ARRAYS to corresponding GL constant
|
|
5
|
+
* Used to auto deduce gl parameter types
|
|
6
|
+
* @param {*} arrayOrType
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export declare function getGLTypeFromTypedArray(arrayOrType: any): GL.BYTE | GL.UNSIGNED_BYTE | GL.SHORT | GL.UNSIGNED_SHORT | GL.INT | GL.UNSIGNED_INT | GL.FLOAT;
|
|
10
|
+
/**
|
|
11
|
+
* Converts GL constant to corresponding TYPED ARRAY
|
|
12
|
+
* Used to auto deduce gl parameter types
|
|
13
|
+
* @param {*} glType
|
|
14
|
+
* @param {*} param1
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
17
|
+
export declare function getTypedArrayFromGLType(glType: any, options?: {
|
|
18
|
+
clamped?: boolean;
|
|
19
|
+
}): TypedArrayConstructor;
|
|
20
|
+
/**
|
|
21
|
+
* Flip rows (can be used on arrays returned from `Framebuffer.readPixels`)
|
|
22
|
+
* https: *stackoverflow.com/questions/41969562/
|
|
23
|
+
* how-can-i-flip-the-result-of-webglrenderingcontext-readpixels
|
|
24
|
+
* @param {*} param0
|
|
25
|
+
*/
|
|
26
|
+
export declare function flipRows(options: {
|
|
27
|
+
data: any;
|
|
28
|
+
width: any;
|
|
29
|
+
height: any;
|
|
30
|
+
bytesPerPixel?: number;
|
|
31
|
+
temp?: any;
|
|
32
|
+
}): void;
|
|
33
|
+
export declare function scalePixels(options: {
|
|
34
|
+
data: any;
|
|
35
|
+
width: any;
|
|
36
|
+
height: any;
|
|
37
|
+
}): {
|
|
38
|
+
data: Uint8Array;
|
|
39
|
+
width: number;
|
|
40
|
+
height: number;
|
|
41
|
+
};
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=typed-array-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typed-array-utils.d.ts","sourceRoot":"","sources":["../../src/webgl-utils/typed-array-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAIpC,aAAK,qBAAqB,GACtB,uBAAuB,GACvB,sBAAsB,GACtB,sBAAsB,GACtB,qBAAqB,GACrB,4BAA4B,GAC5B,oBAAoB,GACpB,qBAAqB,GACrB,qBAAqB,CAAC;AAE1B;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,KAAA,mGAuBlD;AAED;;;;;;GAMG;AAEH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,GAAG,EACX,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACA,qBAAqB,CAwBvB;AAED;;;;;GAKG;AACF,wBAAgB,QAAQ,CAAC,OAAO,EAAE;IACjC,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAE,GAAG,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,GAAG,IAAI,CAgBP;AAGD,wBAAgB,WAAW,CAAC,OAAO,EAAE;IACnC,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAE,GAAG,CAAC;CACb,GAAG;IACF,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAaA"}
|