@luma.gl/webgl 8.6.0-alpha.1 → 8.6.0-alpha.2
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/dist/api/device2.d.ts +52 -0
- package/dist/api/device2.d.ts.map +1 -0
- package/dist/api/device2.js +23 -0
- package/dist/api/device2.js.map +1 -0
- package/dist/classes/accessor.js +2 -2
- package/dist/classes/accessor.js.map +1 -1
- package/dist/classes/accessor.ts.disabled +1 -1
- package/dist/classes/clear.d.ts +3 -2
- package/dist/classes/clear.d.ts.map +1 -1
- package/dist/classes/clear.js +7 -4
- package/dist/classes/clear.js.map +1 -1
- package/dist/classes/copy-and-blit.d.ts +18 -1
- package/dist/classes/copy-and-blit.d.ts.map +1 -1
- package/dist/classes/copy-and-blit.js +30 -25
- package/dist/classes/copy-and-blit.js.map +1 -1
- package/dist/classes/framebuffer.d.ts +10 -1
- package/dist/classes/framebuffer.d.ts.map +1 -1
- package/dist/classes/framebuffer.js +15 -15
- package/dist/classes/framebuffer.js.map +1 -1
- package/dist/classes/program-configuration.d.ts +2 -2
- package/dist/classes/program-configuration.d.ts.map +1 -1
- package/dist/classes/program-configuration.js +1 -1
- package/dist/classes/program-configuration.js.map +1 -1
- package/dist/classes/program.d.ts +6 -6
- package/dist/classes/program.d.ts.map +1 -1
- package/dist/classes/program.js +11 -9
- package/dist/classes/program.js.map +1 -1
- package/dist/classes/query.d.ts.map +1 -1
- package/dist/classes/query.js +6 -5
- package/dist/classes/query.js.map +1 -1
- package/dist/classes/renderbuffer-formats.js +1 -1
- package/dist/classes/renderbuffer-formats.js.map +1 -1
- package/dist/classes/renderbuffer.d.ts.map +1 -1
- package/dist/classes/renderbuffer.js +4 -3
- package/dist/classes/renderbuffer.js.map +1 -1
- package/dist/classes/texture-2d.d.ts +4 -3
- package/dist/classes/texture-2d.d.ts.map +1 -1
- package/dist/classes/texture-2d.js +5 -8
- package/dist/classes/texture-2d.js.map +1 -1
- package/dist/classes/texture-3d.d.ts +3 -2
- package/dist/classes/texture-3d.d.ts.map +1 -1
- package/dist/classes/texture-3d.js +15 -6
- package/dist/classes/texture-3d.js.map +1 -1
- package/dist/classes/texture-cube.d.ts +2 -1
- package/dist/classes/texture-cube.d.ts.map +1 -1
- package/dist/classes/texture-cube.js +3 -4
- package/dist/classes/texture-cube.js.map +1 -1
- package/dist/classes/texture-formats.js +1 -1
- package/dist/classes/texture-formats.js.map +1 -1
- package/dist/classes/texture.d.ts +14 -9
- package/dist/classes/texture.d.ts.map +1 -1
- package/dist/classes/texture.js +19 -18
- package/dist/classes/texture.js.map +1 -1
- package/dist/classes/transform-feedback.d.ts.map +1 -1
- package/dist/classes/transform-feedback.js +5 -4
- package/dist/classes/transform-feedback.js.map +1 -1
- package/dist/classes/uniform-buffer-layout.js +1 -1
- package/dist/classes/uniform-buffer-layout.js.map +1 -1
- package/dist/classes/uniforms.d.ts +0 -1
- package/dist/classes/uniforms.d.ts.map +1 -1
- package/dist/classes/uniforms.js +1 -2
- package/dist/classes/uniforms.js.map +1 -1
- package/dist/classes/vertex-array-object.d.ts +1 -1
- package/dist/classes/vertex-array-object.d.ts.map +1 -1
- package/dist/classes/vertex-array-object.js +8 -9
- package/dist/classes/vertex-array-object.js.map +1 -1
- package/dist/classes/vertex-array.d.ts +1 -1
- package/dist/classes/vertex-array.d.ts.map +1 -1
- package/dist/classes/vertex-array.js +1 -2
- package/dist/classes/vertex-array.js.map +1 -1
- package/dist/classes/webgl-buffer.d.ts +2 -0
- package/dist/classes/webgl-buffer.d.ts.map +1 -1
- package/dist/classes/webgl-buffer.js +8 -5
- package/dist/classes/webgl-buffer.js.map +1 -1
- package/dist/classes/webgl-resource.d.ts +6 -4
- package/dist/classes/webgl-resource.d.ts.map +1 -1
- package/dist/classes/webgl-resource.js +12 -8
- package/dist/classes/webgl-resource.js.map +1 -1
- package/dist/classes/webgl-shader.d.ts +3 -1
- package/dist/classes/webgl-shader.d.ts.map +1 -1
- package/dist/classes/webgl-shader.js +7 -4
- package/dist/classes/webgl-shader.js.map +1 -1
- 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 +30 -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-uniforms.js +1 -1
- package/dist/debug/debug-uniforms.js.map +1 -1
- package/dist/debug/debug-vertex-array.js +2 -2
- package/dist/debug/debug-vertex-array.js.map +1 -1
- package/dist/device/check-glsl-extension.d.ts +4 -0
- package/dist/device/check-glsl-extension.d.ts.map +1 -0
- package/dist/device/check-glsl-extension.js +22 -0
- package/dist/device/check-glsl-extension.js.map +1 -0
- package/dist/device/device-features.d.ts +12 -0
- package/dist/device/device-features.d.ts.map +1 -0
- package/dist/device/device-features.js +123 -0
- package/dist/device/device-features.js.map +1 -0
- package/dist/device/device-limits.d.ts +51 -0
- package/dist/device/device-limits.d.ts.map +1 -0
- package/dist/device/device-limits.js +90 -0
- package/dist/device/device-limits.js.map +1 -0
- package/dist/device/get-device-info.d.ts +4 -0
- package/dist/device/get-device-info.d.ts.map +1 -0
- package/dist/device/get-device-info.js +44 -0
- package/dist/device/get-device-info.js.map +1 -0
- package/dist/device/webgl-device.d.ts +111 -0
- package/dist/device/webgl-device.d.ts.map +1 -0
- package/dist/device/webgl-device.js +208 -0
- package/dist/device/webgl-device.js.map +1 -0
- package/dist/es5/api/device2.js +42 -0
- package/dist/es5/api/device2.js.map +1 -0
- package/dist/es5/bundle.js +1 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/classes/accessor.js +104 -74
- package/dist/es5/classes/accessor.js.map +1 -1
- package/dist/es5/classes/accessor.ts.disabled +1 -1
- package/dist/es5/classes/clear.js +55 -34
- package/dist/es5/classes/clear.js.map +1 -1
- package/dist/es5/classes/copy-and-blit.js +175 -156
- package/dist/es5/classes/copy-and-blit.js.map +1 -1
- package/dist/es5/classes/framebuffer.js +647 -518
- package/dist/es5/classes/framebuffer.js.map +1 -1
- package/dist/es5/classes/program-configuration.js +138 -121
- package/dist/es5/classes/program-configuration.js.map +1 -1
- package/dist/es5/classes/program.js +368 -292
- package/dist/es5/classes/program.js.map +1 -1
- package/dist/es5/classes/query.js +172 -107
- package/dist/es5/classes/query.js.map +1 -1
- package/dist/es5/classes/renderbuffer-formats.js +126 -164
- package/dist/es5/classes/renderbuffer-formats.js.map +1 -1
- package/dist/es5/classes/renderbuffer.js +151 -98
- package/dist/es5/classes/renderbuffer.js.map +1 -1
- package/dist/es5/classes/texture-2d.js +44 -17
- package/dist/es5/classes/texture-2d.js.map +1 -1
- package/dist/es5/classes/texture-3d.js +107 -48
- package/dist/es5/classes/texture-3d.js.map +1 -1
- package/dist/es5/classes/texture-cube.js +169 -110
- package/dist/es5/classes/texture-cube.js.map +1 -1
- package/dist/es5/classes/texture-formats.js +42 -71
- package/dist/es5/classes/texture-formats.js.map +1 -1
- package/dist/es5/classes/texture.js +780 -665
- package/dist/es5/classes/texture.js.map +1 -1
- package/dist/es5/classes/transform-feedback.js +206 -150
- package/dist/es5/classes/transform-feedback.js.map +1 -1
- package/dist/es5/classes/uniform-buffer-layout.js +103 -89
- package/dist/es5/classes/uniform-buffer-layout.js.map +1 -1
- package/dist/es5/classes/uniforms.js +39 -80
- package/dist/es5/classes/uniforms.js.map +1 -1
- package/dist/es5/classes/vertex-array-object.js +268 -209
- package/dist/es5/classes/vertex-array-object.js.map +1 -1
- package/dist/es5/classes/vertex-array.js +348 -303
- package/dist/es5/classes/vertex-array.js.map +1 -1
- package/dist/es5/classes/webgl-buffer.js +374 -303
- package/dist/es5/classes/webgl-buffer.js.map +1 -1
- package/dist/es5/classes/webgl-resource.js +231 -161
- package/dist/es5/classes/webgl-resource.js.map +1 -1
- package/dist/es5/classes/webgl-shader.js +230 -134
- package/dist/es5/classes/webgl-shader.js.map +1 -1
- 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 +48 -20
- package/dist/es5/debug/debug-program-configuration.js.map +1 -1
- package/dist/es5/debug/debug-uniforms.js +110 -70
- package/dist/es5/debug/debug-uniforms.js.map +1 -1
- package/dist/es5/debug/debug-vertex-array.js +49 -54
- package/dist/es5/debug/debug-vertex-array.js.map +1 -1
- package/dist/es5/device/check-glsl-extension.js +33 -0
- package/dist/es5/device/check-glsl-extension.js.map +1 -0
- package/dist/es5/device/device-features.js +152 -0
- package/dist/es5/device/device-features.js.map +1 -0
- package/dist/es5/device/device-limits.js +64 -0
- package/dist/es5/device/device-limits.js.map +1 -0
- package/dist/es5/device/get-device-info.js +55 -0
- package/dist/es5/device/get-device-info.js.map +1 -0
- package/dist/es5/device/webgl-device.js +279 -0
- package/dist/es5/device/webgl-device.js.map +1 -0
- package/dist/es5/index.js +179 -189
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/init.js +18 -14
- package/dist/es5/init.js.map +1 -1
- package/dist/es5/webgl-utils/attribute-utils.js +74 -87
- package/dist/es5/webgl-utils/attribute-utils.js.map +1 -1
- package/dist/es5/webgl-utils/constants-to-keys.js +7 -7
- package/dist/es5/webgl-utils/constants-to-keys.js.map +1 -1
- package/dist/es5/webgl-utils/format-utils.js +4 -4
- package/dist/es5/webgl-utils/format-utils.js.map +1 -1
- package/dist/es5/webgl-utils/get-error.js +18 -18
- package/dist/es5/webgl-utils/get-error.js.map +1 -1
- package/dist/es5/webgl-utils/index.js +10 -10
- package/dist/es5/webgl-utils/is-old-ie.js +16 -0
- package/dist/es5/webgl-utils/is-old-ie.js.map +1 -0
- package/dist/es5/webgl-utils/parse-shader-compiler-log.js +53 -25
- package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +1 -1
- package/dist/es5/webgl-utils/texture-utils.js +32 -36
- package/dist/es5/webgl-utils/texture-utils.js.map +1 -1
- package/dist/es5/webgl-utils/typed-array-utils.js +33 -32
- package/dist/es5/webgl-utils/typed-array-utils.js.map +1 -1
- package/dist/es5/webgl-utils/webgl-info.ts.disabled +135 -0
- package/dist/esm/api/device2.js +23 -0
- package/dist/esm/api/device2.js.map +1 -0
- package/dist/esm/classes/accessor.js +2 -2
- package/dist/esm/classes/accessor.js.map +1 -1
- package/dist/esm/classes/accessor.ts.disabled +1 -1
- package/dist/esm/classes/clear.js +7 -4
- package/dist/esm/classes/clear.js.map +1 -1
- package/dist/esm/classes/copy-and-blit.js +30 -25
- package/dist/esm/classes/copy-and-blit.js.map +1 -1
- package/dist/esm/classes/framebuffer.js +15 -15
- package/dist/esm/classes/framebuffer.js.map +1 -1
- package/dist/esm/classes/program-configuration.js +1 -1
- package/dist/esm/classes/program-configuration.js.map +1 -1
- package/dist/esm/classes/program.js +11 -9
- package/dist/esm/classes/program.js.map +1 -1
- package/dist/esm/classes/query.js +6 -5
- package/dist/esm/classes/query.js.map +1 -1
- package/dist/esm/classes/renderbuffer-formats.js +1 -1
- package/dist/esm/classes/renderbuffer-formats.js.map +1 -1
- package/dist/esm/classes/renderbuffer.js +4 -3
- package/dist/esm/classes/renderbuffer.js.map +1 -1
- package/dist/esm/classes/texture-2d.js +5 -8
- package/dist/esm/classes/texture-2d.js.map +1 -1
- package/dist/esm/classes/texture-3d.js +15 -6
- package/dist/esm/classes/texture-3d.js.map +1 -1
- package/dist/esm/classes/texture-cube.js +3 -4
- package/dist/esm/classes/texture-cube.js.map +1 -1
- package/dist/esm/classes/texture-formats.js +1 -1
- package/dist/esm/classes/texture-formats.js.map +1 -1
- package/dist/esm/classes/texture.js +19 -18
- package/dist/esm/classes/texture.js.map +1 -1
- package/dist/esm/classes/transform-feedback.js +5 -4
- 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 +1 -2
- package/dist/esm/classes/uniforms.js.map +1 -1
- package/dist/esm/classes/vertex-array-object.js +8 -9
- package/dist/esm/classes/vertex-array-object.js.map +1 -1
- package/dist/esm/classes/vertex-array.js +1 -2
- package/dist/esm/classes/vertex-array.js.map +1 -1
- package/dist/esm/classes/webgl-buffer.js +8 -5
- package/dist/esm/classes/webgl-buffer.js.map +1 -1
- package/dist/esm/classes/webgl-resource.js +12 -8
- package/dist/esm/classes/webgl-resource.js.map +1 -1
- package/dist/esm/classes/webgl-shader.js +7 -4
- package/dist/esm/classes/webgl-shader.js.map +1 -1
- 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-uniforms.js +1 -1
- package/dist/esm/debug/debug-uniforms.js.map +1 -1
- package/dist/esm/debug/debug-vertex-array.js +2 -2
- package/dist/esm/debug/debug-vertex-array.js.map +1 -1
- package/dist/esm/device/check-glsl-extension.js +22 -0
- package/dist/esm/device/check-glsl-extension.js.map +1 -0
- package/dist/esm/device/device-features.js +123 -0
- package/dist/esm/device/device-features.js.map +1 -0
- package/dist/esm/device/device-limits.js +90 -0
- package/dist/esm/device/device-limits.js.map +1 -0
- package/dist/esm/device/get-device-info.js +44 -0
- package/dist/esm/device/get-device-info.js.map +1 -0
- package/dist/esm/device/webgl-device.js +208 -0
- package/dist/esm/device/webgl-device.js.map +1 -0
- package/dist/esm/index.js +22 -20
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/init.js +11 -8
- package/dist/esm/init.js.map +1 -1
- 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 +1 -1
- package/dist/esm/webgl-utils/constants-to-keys.js.map +1 -1
- package/dist/esm/webgl-utils/format-utils.js +1 -1
- package/dist/esm/webgl-utils/format-utils.js.map +1 -1
- package/dist/esm/{features/check-old-ie.js → webgl-utils/is-old-ie.js} +3 -3
- package/dist/esm/webgl-utils/is-old-ie.js.map +1 -0
- package/dist/esm/webgl-utils/texture-utils.js +2 -2
- package/dist/esm/webgl-utils/texture-utils.js.map +1 -1
- package/dist/esm/webgl-utils/typed-array-utils.js +22 -18
- package/dist/esm/webgl-utils/typed-array-utils.js.map +1 -1
- package/dist/esm/webgl-utils/webgl-info.ts.disabled +135 -0
- package/dist/index.d.ts +36 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -20
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +11 -8
- package/dist/init.js.map +1 -1
- package/dist/webgl-utils/attribute-utils.d.ts +1 -1
- package/dist/webgl-utils/attribute-utils.js +1 -1
- package/dist/webgl-utils/attribute-utils.js.map +1 -1
- package/dist/webgl-utils/constants-to-keys.js +1 -1
- package/dist/webgl-utils/constants-to-keys.js.map +1 -1
- package/dist/webgl-utils/format-utils.d.ts +2 -2
- package/dist/webgl-utils/format-utils.js +1 -1
- package/dist/webgl-utils/format-utils.js.map +1 -1
- package/dist/webgl-utils/is-old-ie.d.ts +2 -0
- package/dist/webgl-utils/is-old-ie.d.ts.map +1 -0
- package/dist/{features/check-old-ie.js → webgl-utils/is-old-ie.js} +3 -3
- package/dist/webgl-utils/is-old-ie.js.map +1 -0
- package/dist/webgl-utils/texture-utils.d.ts +12 -8
- package/dist/webgl-utils/texture-utils.d.ts.map +1 -1
- package/dist/webgl-utils/texture-utils.js +2 -2
- package/dist/webgl-utils/texture-utils.js.map +1 -1
- package/dist/webgl-utils/typed-array-utils.d.ts +39 -32
- package/dist/webgl-utils/typed-array-utils.d.ts.map +1 -1
- package/dist/webgl-utils/typed-array-utils.js +22 -18
- package/dist/webgl-utils/typed-array-utils.js.map +1 -1
- package/dist/webgl-utils/webgl-info.ts.disabled +135 -0
- package/package.json +5 -6
- package/src/.DS_Store +0 -0
- package/src/api/device2.ts +71 -0
- package/src/classes/accessor.js +2 -2
- package/src/classes/accessor.ts.disabled +1 -1
- package/src/classes/clear.ts +9 -4
- package/src/classes/copy-and-blit.ts +49 -52
- package/src/classes/framebuffer.ts +38 -35
- package/src/classes/program-configuration.ts +6 -6
- package/src/classes/program.ts +21 -15
- package/src/classes/query.ts +6 -6
- package/src/classes/renderbuffer-formats.ts +1 -1
- package/src/classes/renderbuffer.ts +5 -4
- package/src/classes/texture-2d.ts +6 -11
- package/src/classes/texture-3d.ts +16 -11
- package/src/classes/texture-cube.ts +7 -7
- package/src/classes/texture-formats.ts +1 -1
- package/src/classes/texture.ts +39 -40
- package/src/classes/transform-feedback.ts +14 -13
- package/src/classes/uniform-buffer-layout.ts +1 -1
- package/src/classes/uniforms.ts +4 -10
- package/src/classes/vertex-array-object.ts +10 -14
- package/src/classes/vertex-array.ts +2 -3
- package/src/classes/webgl-buffer.ts +7 -5
- package/src/classes/webgl-resource.ts +20 -18
- package/src/classes/webgl-shader.ts +6 -4
- 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 +127 -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-uniforms.ts +1 -1
- package/src/debug/debug-vertex-array.ts +2 -4
- package/src/device/check-glsl-extension.ts +44 -0
- package/src/device/device-features.ts +227 -0
- package/src/device/device-limits.ts +150 -0
- package/src/device/get-device-info.ts +49 -0
- package/src/device/webgl-device.ts +406 -0
- package/src/index.ts +76 -22
- package/src/init.ts +12 -9
- package/src/types.ts +1 -1
- package/src/webgl-utils/attribute-utils.ts +1 -1
- package/src/webgl-utils/constants-to-keys.ts +1 -1
- package/src/webgl-utils/format-utils.ts +1 -1
- package/src/{features/check-old-ie.ts → webgl-utils/is-old-ie.ts} +3 -3
- package/src/webgl-utils/{texture-utils.js → texture-utils.ts} +13 -10
- package/src/webgl-utils/{typed-array-utils.js → typed-array-utils.ts} +59 -16
- package/src/webgl-utils/webgl-info.ts.disabled +135 -0
- package/dist/context/gl-context.d.ts +0 -15
- package/dist/context/gl-context.d.ts.map +0 -1
- package/dist/context/gl-context.js +0 -32
- package/dist/context/gl-context.js.map +0 -1
- package/dist/context/luma-context-data.d.ts +0 -31
- package/dist/context/luma-context-data.d.ts.map +0 -1
- package/dist/context/luma-context-data.js +0 -5
- package/dist/context/luma-context-data.js.map +0 -1
- package/dist/es5/context/gl-context.js +0 -46
- package/dist/es5/context/gl-context.js.map +0 -1
- package/dist/es5/context/luma-context-data.js +0 -12
- package/dist/es5/context/luma-context-data.js.map +0 -1
- package/dist/es5/features/check-glsl-extension.js +0 -40
- package/dist/es5/features/check-glsl-extension.js.map +0 -1
- package/dist/es5/features/check-old-ie.js +0 -15
- package/dist/es5/features/check-old-ie.js.map +0 -1
- package/dist/es5/features/features.js +0 -85
- 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 -72
- package/dist/es5/features/limits.js.map +0 -1
- package/dist/es5/features/webgl-features-table.js +0 -84
- package/dist/es5/features/webgl-features-table.js.map +0 -1
- package/dist/es5/features/webgl-limits-table.js +0 -172
- package/dist/es5/features/webgl-limits-table.js.map +0 -1
- package/dist/es5/utils/array-utils-flat.js +0 -50
- package/dist/es5/utils/array-utils-flat.js.map +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 -50
- 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/index.js +0 -68
- package/dist/es5/utils/index.js.map +0 -1
- package/dist/es5/utils/is-old-ie.js +0 -13
- package/dist/es5/utils/is-old-ie.js.map +0 -1
- package/dist/es5/utils/load-file.js +0 -43
- 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.js +0 -31
- package/dist/es5/utils/utils.js.map +0 -1
- 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/context/gl-context.js +0 -32
- package/dist/esm/context/gl-context.js.map +0 -1
- package/dist/esm/context/luma-context-data.js +0 -5
- package/dist/esm/context/luma-context-data.js.map +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 -67
- 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 -55
- 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 -161
- package/dist/esm/features/webgl-limits-table.js.map +0 -1
- 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.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/index.js +0 -7
- package/dist/esm/utils/index.js.map +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 -16
- package/dist/esm/utils/stub-methods.js.map +0 -1
- package/dist/esm/utils/utils.js +0 -20
- package/dist/esm/utils/utils.js.map +0 -1
- package/dist/esm/webgl-utils/texture-utils.d.ts +0 -11
- package/dist/esm/webgl-utils/typed-array-utils.d.ts +0 -36
- package/dist/features/check-glsl-extension.d.ts +0 -2
- package/dist/features/check-glsl-extension.d.ts.map +0 -1
- package/dist/features/check-glsl-extension.js +0 -27
- package/dist/features/check-glsl-extension.js.map +0 -1
- package/dist/features/check-old-ie.d.ts +0 -2
- package/dist/features/check-old-ie.d.ts.map +0 -1
- package/dist/features/check-old-ie.js.map +0 -1
- package/dist/features/features.d.ts +0 -6
- package/dist/features/features.d.ts.map +0 -1
- package/dist/features/features.js +0 -67
- package/dist/features/features.js.map +0 -1
- package/dist/features/index.d.ts +0 -5
- package/dist/features/index.d.ts.map +0 -1
- package/dist/features/index.js +0 -5
- package/dist/features/index.js.map +0 -1
- package/dist/features/limits.d.ts +0 -28
- package/dist/features/limits.d.ts.map +0 -1
- package/dist/features/limits.js +0 -55
- package/dist/features/limits.js.map +0 -1
- package/dist/features/webgl-features-table.d.ts +0 -30
- package/dist/features/webgl-features-table.d.ts.map +0 -1
- package/dist/features/webgl-features-table.js +0 -71
- package/dist/features/webgl-features-table.js.map +0 -1
- package/dist/features/webgl-limits-table.d.ts +0 -161
- package/dist/features/webgl-limits-table.d.ts.map +0 -1
- package/dist/features/webgl-limits-table.js +0 -161
- package/dist/features/webgl-limits-table.js.map +0 -1
- package/dist/utils/array-utils-flat.d.ts +0 -9
- package/dist/utils/array-utils-flat.d.ts.map +0 -1
- package/dist/utils/array-utils-flat.js +0 -39
- package/dist/utils/array-utils-flat.js.map +0 -1
- package/dist/utils/assert.d.ts +0 -2
- package/dist/utils/assert.d.ts.map +0 -1
- package/dist/utils/assert.js +0 -6
- package/dist/utils/assert.js.map +0 -1
- package/dist/utils/check-props.d.ts +0 -2
- package/dist/utils/check-props.d.ts.map +0 -1
- package/dist/utils/check-props.js +0 -38
- package/dist/utils/check-props.js.map +0 -1
- package/dist/utils/format-value.d.ts +0 -5
- package/dist/utils/format-value.d.ts.map +0 -1
- package/dist/utils/format-value.js +0 -50
- package/dist/utils/format-value.js.map +0 -1
- package/dist/utils/index.d.ts +0 -7
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -7
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/is-old-ie.d.ts +0 -4
- package/dist/utils/is-old-ie.d.ts.map +0 -1
- package/dist/utils/is-old-ie.js +0 -5
- package/dist/utils/is-old-ie.js.map +0 -1
- package/dist/utils/load-file.d.ts +0 -4
- package/dist/utils/load-file.d.ts.map +0 -1
- package/dist/utils/load-file.js +0 -30
- package/dist/utils/load-file.js.map +0 -1
- package/dist/utils/stub-methods.d.ts +0 -2
- package/dist/utils/stub-methods.d.ts.map +0 -1
- package/dist/utils/stub-methods.js +0 -16
- package/dist/utils/stub-methods.js.map +0 -1
- package/dist/utils/utils.d.ts +0 -15
- package/dist/utils/utils.d.ts.map +0 -1
- package/dist/utils/utils.js +0 -20
- package/dist/utils/utils.js.map +0 -1
- package/src/context/gl-context.ts +0 -31
- package/src/context/luma-context-data.ts +0 -27
- package/src/features/check-glsl-extension.ts +0 -34
- package/src/features/features.ts +0 -80
- package/src/features/index.ts +0 -5
- package/src/features/limits.ts +0 -66
- package/src/features/webgl-features-table.ts +0 -104
- package/src/features/webgl-limits-table.ts +0 -51
- package/src/utils/array-utils-flat.ts +0 -56
- package/src/utils/assert.ts +0 -7
- package/src/utils/check-props.ts +0 -68
- package/src/utils/format-value.ts +0 -37
- package/src/utils/index.ts +0 -6
- package/src/utils/is-old-ie.ts +0 -6
- package/src/utils/load-file.ts +0 -40
- package/src/utils/stub-methods.ts +0 -20
- package/src/utils/utils.ts +0 -35
- package/src/webgl-utils/texture-utils.d.ts +0 -11
- package/src/webgl-utils/typed-array-utils.d.ts +0 -36
|
@@ -32,9 +32,11 @@ export function getGLTypeFromTypedArray(arrayOrType) {
|
|
|
32
32
|
throw new Error(ERR_TYPE_DEDUCTION);
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
export function getTypedArrayFromGLType(glType, {
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
export function getTypedArrayFromGLType(glType, options) {
|
|
36
|
+
const {
|
|
37
|
+
clamped = true
|
|
38
|
+
} = options || {};
|
|
39
|
+
|
|
38
40
|
switch (glType) {
|
|
39
41
|
case GL.FLOAT:
|
|
40
42
|
return Float32Array;
|
|
@@ -64,29 +66,31 @@ export function getTypedArrayFromGLType(glType, {
|
|
|
64
66
|
throw new Error('Failed to deduce typed array type from GL constant');
|
|
65
67
|
}
|
|
66
68
|
}
|
|
67
|
-
export function flipRows({
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
69
|
+
export function flipRows(options) {
|
|
70
|
+
const {
|
|
71
|
+
data,
|
|
72
|
+
width,
|
|
73
|
+
height,
|
|
74
|
+
bytesPerPixel = 4,
|
|
75
|
+
temp
|
|
76
|
+
} = options;
|
|
74
77
|
const bytesPerRow = width * bytesPerPixel;
|
|
75
|
-
|
|
78
|
+
const tempBuffer = temp || new Uint8Array(bytesPerRow);
|
|
76
79
|
|
|
77
80
|
for (let y = 0; y < height / 2; ++y) {
|
|
78
81
|
const topOffset = y * bytesPerRow;
|
|
79
82
|
const bottomOffset = (height - y - 1) * bytesPerRow;
|
|
80
|
-
|
|
83
|
+
tempBuffer.set(data.subarray(topOffset, topOffset + bytesPerRow));
|
|
81
84
|
data.copyWithin(topOffset, bottomOffset, bottomOffset + bytesPerRow);
|
|
82
|
-
data.set(
|
|
85
|
+
data.set(tempBuffer, bottomOffset);
|
|
83
86
|
}
|
|
84
87
|
}
|
|
85
|
-
export function scalePixels({
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
export function scalePixels(options) {
|
|
89
|
+
const {
|
|
90
|
+
data,
|
|
91
|
+
width,
|
|
92
|
+
height
|
|
93
|
+
} = options;
|
|
90
94
|
const newWidth = Math.round(width / 2);
|
|
91
95
|
const newHeight = Math.round(height / 2);
|
|
92
96
|
const newData = new Uint8Array(newWidth * newHeight * 4);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/webgl-utils/typed-array-utils.
|
|
1
|
+
{"version":3,"sources":["../../../src/webgl-utils/typed-array-utils.ts"],"names":["GL","ERR_TYPE_DEDUCTION","getGLTypeFromTypedArray","arrayOrType","type","ArrayBuffer","isView","constructor","Float32Array","FLOAT","Uint16Array","UNSIGNED_SHORT","Uint32Array","UNSIGNED_INT","Uint8Array","UNSIGNED_BYTE","Uint8ClampedArray","Int8Array","BYTE","Int16Array","SHORT","Int32Array","INT","Error","getTypedArrayFromGLType","glType","options","clamped","UNSIGNED_SHORT_5_6_5","UNSIGNED_SHORT_4_4_4_4","UNSIGNED_SHORT_5_5_5_1","flipRows","data","width","height","bytesPerPixel","temp","bytesPerRow","tempBuffer","y","topOffset","bottomOffset","set","subarray","copyWithin","scalePixels","newWidth","Math","round","newHeight","newData","x","c"],"mappings":"AAAA,OAAOA,EAAP,MAAe,oBAAf;AAEA,MAAMC,kBAAkB,GAAG,+CAA3B;AAkBA,OAAO,SAASC,uBAAT,CAAiCC,WAAjC,EAA8C;AAEnD,QAAMC,IAAI,GAAGC,WAAW,CAACC,MAAZ,CAAmBH,WAAnB,IAAkCA,WAAW,CAACI,WAA9C,GAA4DJ,WAAzE;;AACA,UAAQC,IAAR;AACE,SAAKI,YAAL;AACE,aAAOR,EAAE,CAACS,KAAV;;AACF,SAAKC,WAAL;AACE,aAAOV,EAAE,CAACW,cAAV;;AACF,SAAKC,WAAL;AACE,aAAOZ,EAAE,CAACa,YAAV;;AACF,SAAKC,UAAL;AACE,aAAOd,EAAE,CAACe,aAAV;;AACF,SAAKC,iBAAL;AACE,aAAOhB,EAAE,CAACe,aAAV;;AACF,SAAKE,SAAL;AACE,aAAOjB,EAAE,CAACkB,IAAV;;AACF,SAAKC,UAAL;AACE,aAAOnB,EAAE,CAACoB,KAAV;;AACF,SAAKC,UAAL;AACE,aAAOrB,EAAE,CAACsB,GAAV;;AACF;AACE,YAAM,IAAIC,KAAJ,CAAUtB,kBAAV,CAAN;AAlBJ;AAoBD;AAUD,OAAO,SAASuB,uBAAT,CACLC,MADK,EAELC,OAFK,EAKkB;AACvB,QAAM;AAACC,IAAAA,OAAO,GAAG;AAAX,MAAmBD,OAAO,IAAI,EAApC;;AAEA,UAAQD,MAAR;AACE,SAAKzB,EAAE,CAACS,KAAR;AACE,aAAOD,YAAP;;AACF,SAAKR,EAAE,CAACW,cAAR;AACA,SAAKX,EAAE,CAAC4B,oBAAR;AACA,SAAK5B,EAAE,CAAC6B,sBAAR;AACA,SAAK7B,EAAE,CAAC8B,sBAAR;AACE,aAAOpB,WAAP;;AACF,SAAKV,EAAE,CAACa,YAAR;AACE,aAAOD,WAAP;;AACF,SAAKZ,EAAE,CAACe,aAAR;AACE,aAAOY,OAAO,GAAGX,iBAAH,GAAuBF,UAArC;;AACF,SAAKd,EAAE,CAACkB,IAAR;AACE,aAAOD,SAAP;;AACF,SAAKjB,EAAE,CAACoB,KAAR;AACE,aAAOD,UAAP;;AACF,SAAKnB,EAAE,CAACsB,GAAR;AACE,aAAOD,UAAP;;AACF;AACE,YAAM,IAAIE,KAAJ,CAAU,oDAAV,CAAN;AAnBJ;AAqBD;AAQA,OAAO,SAASQ,QAAT,CAAkBL,OAAlB,EAMC;AACP,QAAM;AAACM,IAAAA,IAAD;AAAOC,IAAAA,KAAP;AAAcC,IAAAA,MAAd;AAAsBC,IAAAA,aAAa,GAAG,CAAtC;AAAyCC,IAAAA;AAAzC,MAAiDV,OAAvD;AACA,QAAMW,WAAW,GAAGJ,KAAK,GAAGE,aAA5B;AAGA,QAAMG,UAAU,GAAGF,IAAI,IAAI,IAAItB,UAAJ,CAAeuB,WAAf,CAA3B;;AACA,OAAK,IAAIE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGL,MAAM,GAAG,CAA7B,EAAgC,EAAEK,CAAlC,EAAqC;AACnC,UAAMC,SAAS,GAAGD,CAAC,GAAGF,WAAtB;AACA,UAAMI,YAAY,GAAG,CAACP,MAAM,GAAGK,CAAT,GAAa,CAAd,IAAmBF,WAAxC;AAEAC,IAAAA,UAAU,CAACI,GAAX,CAAeV,IAAI,CAACW,QAAL,CAAcH,SAAd,EAAyBA,SAAS,GAAGH,WAArC,CAAf;AAEAL,IAAAA,IAAI,CAACY,UAAL,CAAgBJ,SAAhB,EAA2BC,YAA3B,EAAyCA,YAAY,GAAGJ,WAAxD;AAEAL,IAAAA,IAAI,CAACU,GAAL,CAASJ,UAAT,EAAqBG,YAArB;AACD;AACF;AAGD,OAAO,SAASI,WAAT,CAAqBnB,OAArB,EAQL;AACA,QAAM;AAACM,IAAAA,IAAD;AAAOC,IAAAA,KAAP;AAAcC,IAAAA;AAAd,MAAwBR,OAA9B;AACA,QAAMoB,QAAQ,GAAGC,IAAI,CAACC,KAAL,CAAWf,KAAK,GAAG,CAAnB,CAAjB;AACA,QAAMgB,SAAS,GAAGF,IAAI,CAACC,KAAL,CAAWd,MAAM,GAAG,CAApB,CAAlB;AACA,QAAMgB,OAAO,GAAG,IAAIpC,UAAJ,CAAegC,QAAQ,GAAGG,SAAX,GAAuB,CAAtC,CAAhB;;AACA,OAAK,IAAIV,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGU,SAApB,EAA+BV,CAAC,EAAhC,EAAoC;AAClC,SAAK,IAAIY,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGL,QAApB,EAA8BK,CAAC,EAA/B,EAAmC;AACjC,WAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,CAApB,EAAuBA,CAAC,EAAxB,EAA4B;AAC1BF,QAAAA,OAAO,CAAC,CAACX,CAAC,GAAGO,QAAJ,GAAeK,CAAhB,IAAqB,CAArB,GAAyBC,CAA1B,CAAP,GAAsCpB,IAAI,CAAC,CAACO,CAAC,GAAG,CAAJ,GAAQN,KAAR,GAAgBkB,CAAC,GAAG,CAArB,IAA0B,CAA1B,GAA8BC,CAA/B,CAA1C;AACD;AACF;AACF;;AACD,SAAO;AAACpB,IAAAA,IAAI,EAAEkB,OAAP;AAAgBjB,IAAAA,KAAK,EAAEa,QAAvB;AAAiCZ,IAAAA,MAAM,EAAEe;AAAzC,GAAP;AACD","sourcesContent":["import GL from '@luma.gl/constants';\n\nconst ERR_TYPE_DEDUCTION = 'Failed to deduce GL constant from typed array';\n\ntype TypedArrayConstructor =\n | Float32ArrayConstructor\n | Uint16ArrayConstructor\n | Uint32ArrayConstructor\n | Uint8ArrayConstructor\n | Uint8ClampedArrayConstructor\n | Int8ArrayConstructor\n | Int16ArrayConstructor\n | Int32ArrayConstructor;\n\n/**\n * Converts TYPED ARRAYS to corresponding GL constant\n * Used to auto deduce gl parameter types\n * @param {*} arrayOrType\n * @returns\n */\nexport function getGLTypeFromTypedArray(arrayOrType) {\n // If typed array, look up constructor\n const type = ArrayBuffer.isView(arrayOrType) ? arrayOrType.constructor : arrayOrType;\n switch (type) {\n case Float32Array:\n return GL.FLOAT;\n case Uint16Array:\n return GL.UNSIGNED_SHORT;\n case Uint32Array:\n return GL.UNSIGNED_INT;\n case Uint8Array:\n return GL.UNSIGNED_BYTE;\n case Uint8ClampedArray:\n return GL.UNSIGNED_BYTE;\n case Int8Array:\n return GL.BYTE;\n case Int16Array:\n return GL.SHORT;\n case Int32Array:\n return GL.INT;\n default:\n throw new Error(ERR_TYPE_DEDUCTION);\n }\n}\n\n/**\n * Converts GL constant to corresponding TYPED ARRAY\n * Used to auto deduce gl parameter types\n * @param {*} glType\n * @param {*} param1\n * @returns\n */\n// eslint-disable-next-line complexity\nexport function getTypedArrayFromGLType(\n glType: any,\n options?: {\n clamped?: boolean;\n }\n): TypedArrayConstructor {\n const {clamped = true} = options || {};\n // Sorted in some order of likelihood to reduce amount of comparisons\n switch (glType) {\n case GL.FLOAT:\n return Float32Array;\n case GL.UNSIGNED_SHORT:\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 Uint16Array;\n case GL.UNSIGNED_INT:\n return Uint32Array;\n case GL.UNSIGNED_BYTE:\n return clamped ? Uint8ClampedArray : Uint8Array;\n case GL.BYTE:\n return Int8Array;\n case GL.SHORT:\n return Int16Array;\n case GL.INT:\n return Int32Array;\n default:\n throw new Error('Failed to deduce typed array type from GL constant');\n }\n}\n\n/**\n * Flip rows (can be used on arrays returned from `Framebuffer.readPixels`)\n * https: *stackoverflow.com/questions/41969562/\n * how-can-i-flip-the-result-of-webglrenderingcontext-readpixels\n * @param {*} param0\n */\n export function flipRows(options: {\n data: any;\n width: any;\n height: any;\n bytesPerPixel?: number;\n temp?: any;\n}): void {\n const {data, width, height, bytesPerPixel = 4, temp} = options;\n const bytesPerRow = width * bytesPerPixel;\n\n // make a temp buffer to hold one row\n const tempBuffer = temp || new Uint8Array(bytesPerRow);\n for (let y = 0; y < height / 2; ++y) {\n const topOffset = y * bytesPerRow;\n const bottomOffset = (height - y - 1) * bytesPerRow;\n // make copy of a row on the top half\n tempBuffer.set(data.subarray(topOffset, topOffset + bytesPerRow));\n // copy a row from the bottom half to the top\n data.copyWithin(topOffset, bottomOffset, bottomOffset + bytesPerRow);\n // copy the copy of the top half row to the bottom half\n data.set(tempBuffer, bottomOffset);\n }\n}\n\n\nexport function scalePixels(options: {\n data: any;\n width: any;\n height: any;\n}): {\n data: Uint8Array;\n width: number;\n height: number;\n} {\n const {data, width, height} = options;\n const newWidth = Math.round(width / 2);\n const newHeight = Math.round(height / 2);\n const newData = new Uint8Array(newWidth * newHeight * 4);\n for (let y = 0; y < newHeight; y++) {\n for (let x = 0; x < newWidth; x++) {\n for (let c = 0; c < 4; c++) {\n newData[(y * newWidth + x) * 4 + c] = data[(y * 2 * width + x * 2) * 4 + c];\n }\n }\n }\n return {data: newData, width: newWidth, height: newHeight};\n}\n"],"file":"typed-array-utils.js"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
// Feature detection for WebGL
|
|
2
|
+
//
|
|
3
|
+
// Provides a function that enables simple checking of which WebGL features are
|
|
4
|
+
// available in an WebGL1 or WebGL2 environment.
|
|
5
|
+
|
|
6
|
+
/* eslint-disable no-inline-comments, max-len */
|
|
7
|
+
import isOldIE from './is-old-ie';
|
|
8
|
+
import {assert} from './assert';
|
|
9
|
+
|
|
10
|
+
const GL_VENDOR = 0x1f00;
|
|
11
|
+
const GL_RENDERER = 0x1f01;
|
|
12
|
+
const GL_VERSION = 0x1f02;
|
|
13
|
+
const GL_SHADING_LANGUAGE_VERSION = 0x8b8c;
|
|
14
|
+
|
|
15
|
+
// Defines luma.gl "feature" names and semantics
|
|
16
|
+
const WEBGL_FEATURES = {
|
|
17
|
+
// GLSL extensions
|
|
18
|
+
GLSL_FRAG_DATA: ['WEBGL_draw_buffers', true], // TODO - name makes no sense in GLSL 3.00
|
|
19
|
+
GLSL_FRAG_DEPTH: ['EXT_frag_depth', true],
|
|
20
|
+
GLSL_DERIVATIVES: ['OES_standard_derivatives', true],
|
|
21
|
+
GLSL_TEXTURE_LOD: ['EXT_shader_texture_lod', true]
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// Create a key-mirrored FEATURES array
|
|
25
|
+
export const FEATURES = {
|
|
26
|
+
GLSL_FRAG_DATA: 'GLSL_FRAG_DATA',
|
|
27
|
+
GLSL_FRAG_DEPTH: 'GLSL_FRAG_DEPTH',
|
|
28
|
+
GLSL_DERIVATIVES: 'GLSL_DERIVATIVES',
|
|
29
|
+
GLSL_TEXTURE_LOD: 'GLSL_TEXTURE_LOD',
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
function isWebGL2(gl) {
|
|
33
|
+
if (typeof WebGL2RenderingContext !== 'undefined' && gl instanceof WebGL2RenderingContext) {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
return Boolean(gl && gl._version === 2);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export function getContextInfo(gl) {
|
|
40
|
+
const info = gl.getExtension('WEBGL_debug_renderer_info');
|
|
41
|
+
const vendor = gl.getParameter((info && info.UNMASKED_VENDOR_WEBGL) || GL_VENDOR);
|
|
42
|
+
const renderer = gl.getParameter((info && info.UNMASKED_RENDERER_WEBGL) || GL_RENDERER);
|
|
43
|
+
const gpuVendor = identifyGPUVendor(vendor, renderer);
|
|
44
|
+
const gpuInfo = {
|
|
45
|
+
gpuVendor,
|
|
46
|
+
vendor,
|
|
47
|
+
renderer,
|
|
48
|
+
version: gl.getParameter(GL_VERSION),
|
|
49
|
+
shadingLanguageVersion: gl.getParameter(GL_SHADING_LANGUAGE_VERSION)
|
|
50
|
+
};
|
|
51
|
+
return gpuInfo;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function identifyGPUVendor(vendor, renderer) {
|
|
55
|
+
if (vendor.match(/NVIDIA/i) || renderer.match(/NVIDIA/i)) {
|
|
56
|
+
return 'NVIDIA';
|
|
57
|
+
}
|
|
58
|
+
if (vendor.match(/INTEL/i) || renderer.match(/INTEL/i)) {
|
|
59
|
+
return 'INTEL';
|
|
60
|
+
}
|
|
61
|
+
if (vendor.match(/Apple/i) || renderer.match(/Apple/i)) {
|
|
62
|
+
return 'APPLE';
|
|
63
|
+
}
|
|
64
|
+
if (
|
|
65
|
+
vendor.match(/AMD/i) ||
|
|
66
|
+
renderer.match(/AMD/i) ||
|
|
67
|
+
vendor.match(/ATI/i) ||
|
|
68
|
+
renderer.match(/ATI/i)
|
|
69
|
+
) {
|
|
70
|
+
return 'AMD';
|
|
71
|
+
}
|
|
72
|
+
return 'UNKNOWN';
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
const compiledGlslExtensions = {};
|
|
76
|
+
|
|
77
|
+
// Enables feature detection in IE11 due to a bug where gl.getExtension may return true
|
|
78
|
+
// but fail to compile when the extension is enabled in the shader. Specifically,
|
|
79
|
+
// the OES_standard_derivatives and WEBGL_draw_buffers extensions fails to compile in IE11 even though its included
|
|
80
|
+
// in the list of supported extensions.
|
|
81
|
+
// opts allows user agent to be overridden for testing
|
|
82
|
+
/*
|
|
83
|
+
* Inputs :
|
|
84
|
+
* gl : WebGL context
|
|
85
|
+
* cap : Key of WEBGL_FEATURES object identifying the extension
|
|
86
|
+
* opts :
|
|
87
|
+
* behavior : behavior of extension to be tested, by defualt `enable` is used
|
|
88
|
+
* Returns : true, if shader is compiled successfully, false otherwise
|
|
89
|
+
*/
|
|
90
|
+
export function canCompileGLGSExtension(gl, cap, opts: {behavior?} = {}) {
|
|
91
|
+
const feature = WEBGL_FEATURES[cap];
|
|
92
|
+
assert(feature, cap);
|
|
93
|
+
|
|
94
|
+
if (!isOldIE(opts)) {
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if (cap in compiledGlslExtensions) {
|
|
99
|
+
return compiledGlslExtensions[cap];
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
const extensionName = feature[0];
|
|
103
|
+
const behavior = opts.behavior || 'enable';
|
|
104
|
+
const source = `#extension GL_${extensionName} : ${behavior}\nvoid main(void) {}`;
|
|
105
|
+
|
|
106
|
+
const shader = gl.createShader(gl.VERTEX_SHADER);
|
|
107
|
+
gl.shaderSource(shader, source);
|
|
108
|
+
gl.compileShader(shader);
|
|
109
|
+
const canCompile = gl.getShaderParameter(shader, gl.COMPILE_STATUS);
|
|
110
|
+
gl.deleteShader(shader);
|
|
111
|
+
compiledGlslExtensions[cap] = canCompile;
|
|
112
|
+
return canCompile;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// TODO - cache the value
|
|
116
|
+
function getFeature(gl, cap) {
|
|
117
|
+
const feature = WEBGL_FEATURES[cap];
|
|
118
|
+
assert(feature, cap);
|
|
119
|
+
|
|
120
|
+
// Get extension name from table
|
|
121
|
+
const extensionName = isWebGL2(gl) ? feature[1] || feature[0] : feature[0];
|
|
122
|
+
|
|
123
|
+
// Check if the value is dependent on checking an extension
|
|
124
|
+
const value =
|
|
125
|
+
typeof extensionName === 'string' ? Boolean(gl.getExtension(extensionName)) : extensionName;
|
|
126
|
+
|
|
127
|
+
assert(value === false || value === true);
|
|
128
|
+
|
|
129
|
+
return value;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
export function hasFeatures(gl, features) {
|
|
133
|
+
features = Array.isArray(features) ? features : [features];
|
|
134
|
+
return features.every((feature) => getFeature(gl, feature));
|
|
135
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,33 +1,49 @@
|
|
|
1
|
-
|
|
1
|
+
import './init';
|
|
2
|
+
export type { WebGLDeviceProps } from './device/webgl-device';
|
|
3
|
+
export { default as WebGLDevice, getWebGLDevice } from './device/webgl-device';
|
|
2
4
|
export { requestAnimationFrame, cancelAnimationFrame } from './webgl-utils/request-animation-frame';
|
|
3
5
|
export { cloneTextureFrom } from './webgl-utils/texture-utils';
|
|
4
6
|
export { getKeyValue, getKey } from './webgl-utils/constants-to-keys';
|
|
5
|
-
export { getContextInfo, getGLContextInfo, getContextLimits } from './features/limits';
|
|
6
|
-
export { FEATURES } from './features/webgl-features-table';
|
|
7
|
-
export { hasFeature, hasFeatures, getFeatures } from './features/features';
|
|
8
|
-
export { default as canCompileGLGSExtension } from './features/check-glsl-extension';
|
|
9
7
|
export { default as Accessor } from './classes/accessor';
|
|
8
|
+
export type { BufferProps } from '@luma.gl/api';
|
|
10
9
|
export { default as Buffer } from './classes/webgl-buffer';
|
|
11
|
-
export {
|
|
12
|
-
export { default as
|
|
13
|
-
export {
|
|
14
|
-
export { default as
|
|
15
|
-
export {
|
|
16
|
-
export {
|
|
10
|
+
export type { Texture2DProps } from './classes/texture-2d';
|
|
11
|
+
export { default as Texture2D } from './classes/texture-2d';
|
|
12
|
+
export type { TextureCubeProps } from './classes/texture-cube';
|
|
13
|
+
export { default as TextureCube } from './classes/texture-cube';
|
|
14
|
+
export type { ShaderProps } from './classes/webgl-shader';
|
|
15
|
+
export { Shader, VertexShader, FragmentShader } from './classes/webgl-shader';
|
|
16
|
+
export type { ProgramProps } from './classes/program';
|
|
17
|
+
export { default as Program } from './classes/program';
|
|
18
|
+
export type { FramebufferProps } from './classes/framebuffer';
|
|
19
|
+
export { default as Framebuffer } from './classes/framebuffer';
|
|
20
|
+
export type { RenderbufferProps } from './classes/renderbuffer';
|
|
21
|
+
export { default as Renderbuffer } from './classes/renderbuffer';
|
|
17
22
|
export { clear, clearBuffer } from './classes/clear';
|
|
18
23
|
export { readPixelsToArray, readPixelsToBuffer, copyToDataUrl, copyToImage, copyToTexture, blit } from './classes/copy-and-blit';
|
|
19
|
-
export {
|
|
20
|
-
export { default as
|
|
21
|
-
export {
|
|
22
|
-
export { default as
|
|
23
|
-
export {
|
|
24
|
+
export type { QueryProps } from './classes/query';
|
|
25
|
+
export { default as Query } from './classes/query';
|
|
26
|
+
export type { Texture3DProps } from './classes/texture-3d';
|
|
27
|
+
export { default as Texture3D } from './classes/texture-3d';
|
|
28
|
+
export type { TransformFeedbackProps } from './classes/transform-feedback';
|
|
29
|
+
export { default as TransformFeedback } from './classes/transform-feedback';
|
|
30
|
+
export type { VertexArrayObjectProps } from './classes/vertex-array-object';
|
|
31
|
+
export { default as VertexArrayObject } from './classes/vertex-array-object';
|
|
32
|
+
export type { VertexArrayProps } from './classes/vertex-array';
|
|
33
|
+
export { default as VertexArray } from './classes/vertex-array';
|
|
24
34
|
export { default as UniformBufferLayout } from './classes/uniform-buffer-layout';
|
|
25
|
-
export {
|
|
26
|
-
export {
|
|
27
|
-
export {
|
|
28
|
-
export {
|
|
35
|
+
export { isWebGL, isWebGL2, getWebGL2Context, assertWebGLContext, assertWebGL2Context } from './context/context/webgl-checks';
|
|
36
|
+
export { cssToDeviceRatio, cssToDevicePixels } from './context/context/device-pixels';
|
|
37
|
+
export type { GLParameters } from './context/parameters/webgl-parameters';
|
|
38
|
+
export { getParameters, setParameters, resetParameters } from './context/parameters/unified-parameter-api';
|
|
39
|
+
export { withParameters } from './context/state-tracker/with-parameters';
|
|
40
|
+
export { trackContextState, pushContextState, popContextState } from './context/state-tracker/track-context-state';
|
|
41
|
+
export { polyfillContext } from './context/polyfill/polyfill-context';
|
|
29
42
|
export { parseUniformName, getUniformSetter } from './classes/uniforms';
|
|
30
43
|
export { getDebugTableForUniforms } from './debug/debug-uniforms';
|
|
31
44
|
export { getDebugTableForVertexArray } from './debug/debug-vertex-array';
|
|
32
45
|
export { getDebugTableForProgramConfiguration } from './debug/debug-program-configuration';
|
|
46
|
+
export { lumaStats } from './init';
|
|
47
|
+
export { log, assert, uid, isObjectEmpty } from '@luma.gl/api';
|
|
48
|
+
export { setPathPrefix, loadFile, loadImage } from '@luma.gl/api';
|
|
33
49
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,33 +1,35 @@
|
|
|
1
|
-
|
|
1
|
+
import './init';
|
|
2
|
+
export { default as WebGLDevice, getWebGLDevice } from './device/webgl-device';
|
|
2
3
|
export { requestAnimationFrame, cancelAnimationFrame } from './webgl-utils/request-animation-frame';
|
|
3
4
|
export { cloneTextureFrom } from './webgl-utils/texture-utils';
|
|
4
5
|
export { getKeyValue, getKey } from './webgl-utils/constants-to-keys';
|
|
5
|
-
export { getContextInfo, getGLContextInfo, getContextLimits } from './features/limits';
|
|
6
|
-
export { FEATURES } from './features/webgl-features-table';
|
|
7
|
-
export { hasFeature, hasFeatures, getFeatures } from './features/features';
|
|
8
|
-
export { default as canCompileGLGSExtension } from './features/check-glsl-extension';
|
|
9
6
|
export { default as Accessor } from './classes/accessor';
|
|
10
7
|
export { default as Buffer } from './classes/webgl-buffer';
|
|
11
|
-
export { default as Texture2D
|
|
12
|
-
export { default as TextureCube
|
|
13
|
-
export { Shader, VertexShader, FragmentShader
|
|
14
|
-
export { default as Program
|
|
15
|
-
export { default as Framebuffer
|
|
16
|
-
export { default as Renderbuffer
|
|
8
|
+
export { default as Texture2D } from './classes/texture-2d';
|
|
9
|
+
export { default as TextureCube } from './classes/texture-cube';
|
|
10
|
+
export { Shader, VertexShader, FragmentShader } from './classes/webgl-shader';
|
|
11
|
+
export { default as Program } from './classes/program';
|
|
12
|
+
export { default as Framebuffer } from './classes/framebuffer';
|
|
13
|
+
export { default as Renderbuffer } from './classes/renderbuffer';
|
|
17
14
|
export { clear, clearBuffer } from './classes/clear';
|
|
18
15
|
export { readPixelsToArray, readPixelsToBuffer, copyToDataUrl, copyToImage, copyToTexture, blit } from './classes/copy-and-blit';
|
|
19
|
-
export { default as Query
|
|
20
|
-
export { default as Texture3D
|
|
21
|
-
export { default as TransformFeedback
|
|
22
|
-
export { default as VertexArrayObject
|
|
23
|
-
export { default as VertexArray
|
|
16
|
+
export { default as Query } from './classes/query';
|
|
17
|
+
export { default as Texture3D } from './classes/texture-3d';
|
|
18
|
+
export { default as TransformFeedback } from './classes/transform-feedback';
|
|
19
|
+
export { default as VertexArrayObject } from './classes/vertex-array-object';
|
|
20
|
+
export { default as VertexArray } from './classes/vertex-array';
|
|
24
21
|
export { default as UniformBufferLayout } from './classes/uniform-buffer-layout';
|
|
25
|
-
export {
|
|
26
|
-
export {
|
|
27
|
-
export {
|
|
28
|
-
export {
|
|
22
|
+
export { isWebGL, isWebGL2, getWebGL2Context, assertWebGLContext, assertWebGL2Context } from './context/context/webgl-checks';
|
|
23
|
+
export { cssToDeviceRatio, cssToDevicePixels } from './context/context/device-pixels';
|
|
24
|
+
export { getParameters, setParameters, resetParameters } from './context/parameters/unified-parameter-api';
|
|
25
|
+
export { withParameters } from './context/state-tracker/with-parameters';
|
|
26
|
+
export { trackContextState, pushContextState, popContextState } from './context/state-tracker/track-context-state';
|
|
27
|
+
export { polyfillContext } from './context/polyfill/polyfill-context';
|
|
29
28
|
export { parseUniformName, getUniformSetter } from './classes/uniforms';
|
|
30
29
|
export { getDebugTableForUniforms } from './debug/debug-uniforms';
|
|
31
30
|
export { getDebugTableForVertexArray } from './debug/debug-vertex-array';
|
|
32
31
|
export { getDebugTableForProgramConfiguration } from './debug/debug-program-configuration';
|
|
32
|
+
export { lumaStats } from './init';
|
|
33
|
+
export { log, assert, uid, isObjectEmpty } from '@luma.gl/api';
|
|
34
|
+
export { setPathPrefix, loadFile, loadImage } from '@luma.gl/api';
|
|
33
35
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["default","WebGLDevice","getWebGLDevice","requestAnimationFrame","cancelAnimationFrame","cloneTextureFrom","getKeyValue","getKey","Accessor","Buffer","Texture2D","TextureCube","Shader","VertexShader","FragmentShader","Program","Framebuffer","Renderbuffer","clear","clearBuffer","readPixelsToArray","readPixelsToBuffer","copyToDataUrl","copyToImage","copyToTexture","blit","Query","Texture3D","TransformFeedback","VertexArrayObject","VertexArray","UniformBufferLayout","isWebGL","isWebGL2","getWebGL2Context","assertWebGLContext","assertWebGL2Context","cssToDeviceRatio","cssToDevicePixels","getParameters","setParameters","resetParameters","withParameters","trackContextState","pushContextState","popContextState","polyfillContext","parseUniformName","getUniformSetter","getDebugTableForUniforms","getDebugTableForVertexArray","getDebugTableForProgramConfiguration","lumaStats","log","assert","uid","isObjectEmpty","setPathPrefix","loadFile","loadImage"],"mappings":"AAOA,OAAO,QAAP;AAIA,SAAQA,OAAO,IAAIC,WAAnB,EAAgCC,cAAhC,QAAqD,uBAArD;AAGA,SAAQC,qBAAR,EAA+BC,oBAA/B,QAA0D,uCAA1D;AAGA,SAAQC,gBAAR,QAA+B,6BAA/B;AACA,SAAQC,WAAR,EAAqBC,MAArB,QAAkC,iCAAlC;AAGA,SAAQP,OAAO,IAAIQ,QAAnB,QAAkC,oBAAlC;AAIA,SAAQR,OAAO,IAAIS,MAAnB,QAAgC,wBAAhC;AAEA,SAAQT,OAAO,IAAIU,SAAnB,QAAmC,sBAAnC;AAEA,SAAQV,OAAO,IAAIW,WAAnB,QAAqC,wBAArC;AAGA,SAAQC,MAAR,EAAgBC,YAAhB,EAA8BC,cAA9B,QAAmD,wBAAnD;AAEA,SAAQd,OAAO,IAAIe,OAAnB,QAAiC,mBAAjC;AAEA,SAAQf,OAAO,IAAIgB,WAAnB,QAAqC,uBAArC;AAEA,SAAQhB,OAAO,IAAIiB,YAAnB,QAAsC,wBAAtC;AAEA,SAAQC,KAAR,EAAeC,WAAf,QAAiC,iBAAjC;AAGA,SACEC,iBADF,EAEEC,kBAFF,EAGEC,aAHF,EAIEC,WAJF,EAKEC,aALF,EAMEC,IANF,QAOO,yBAPP;AAWA,SAAQzB,OAAO,IAAI0B,KAAnB,QAA+B,iBAA/B;AAEA,SAAQ1B,OAAO,IAAI2B,SAAnB,QAAmC,sBAAnC;AAEA,SAAQ3B,OAAO,IAAI4B,iBAAnB,QAA2C,8BAA3C;AAEA,SAAQ5B,OAAO,IAAI6B,iBAAnB,QAA2C,+BAA3C;AAEA,SAAQ7B,OAAO,IAAI8B,WAAnB,QAAqC,wBAArC;AACA,SAAQ9B,OAAO,IAAI+B,mBAAnB,QAA6C,iCAA7C;AAKA,SACEC,OADF,EAEEC,QAFF,EAGEC,gBAHF,EAIEC,kBAJF,EAKEC,mBALF,QAMO,gCANP;AASA,SAAQC,gBAAR,EAA0BC,iBAA1B,QAAkD,iCAAlD;AAKA,SACEC,aADF,EAEEC,aAFF,EAGEC,eAHF,QAIO,4CAJP;AAMA,SACEC,cADF,QAEO,yCAFP;AAKA,SACEC,iBADF,EAEEC,gBAFF,EAGEC,eAHF,QAIO,6CAJP;AAOA,SAAQC,eAAR,QAA8B,qCAA9B;AAGA,SAAQC,gBAAR,EAA0BC,gBAA1B,QAAiD,oBAAjD;AACA,SAAQC,wBAAR,QAAuC,wBAAvC;AACA,SAAQC,2BAAR,QAA0C,4BAA1C;AACA,SAAQC,oCAAR,QAAmD,qCAAnD;AAKA,SAAQC,SAAR,QAAwB,QAAxB;AACA,SAAQC,GAAR,EAAaC,MAAb,EAAqBC,GAArB,EAA0BC,aAA1B,QAA8C,cAA9C;AACA,SAAQC,aAAR,EAAuBC,QAAvB,EAAiCC,SAAjC,QAAiD,cAAjD","sourcesContent":["// luma.gl Base WebGL wrapper library\n// Provides simple class/function wrappers around the low level webgl objects\n// These classes are intentionally close to the WebGL API\n// but make it easier to use.\n// Higher level abstractions can be built on these classes\n\n// Initialize any global state\nimport './init';\n\n// export type {WebGLDeviceProps, WebGLDeviceInfo, WebGPUDeviceLimits} from './lib/webgl-device';\nexport type {WebGLDeviceProps} from './device/webgl-device';\nexport {default as WebGLDevice, getWebGLDevice} from './device/webgl-device';\n\n// UTILS\nexport {requestAnimationFrame, cancelAnimationFrame} from './webgl-utils/request-animation-frame';\n\n// WebGL Functions\nexport {cloneTextureFrom} from './webgl-utils/texture-utils';\nexport {getKeyValue, getKey} from './webgl-utils/constants-to-keys';\n\n// WebGL Helper Classes\nexport {default as Accessor} from './classes/accessor';\n\n// WebGL1 classes\nexport type {BufferProps} from '@luma.gl/api';\nexport {default as Buffer} from './classes/webgl-buffer';\nexport type {Texture2DProps} from './classes/texture-2d';\nexport {default as Texture2D} from './classes/texture-2d';\nexport type {TextureCubeProps} from './classes/texture-cube';\nexport {default as TextureCube} from './classes/texture-cube';\n\nexport type {ShaderProps} from './classes/webgl-shader';\nexport {Shader, VertexShader, FragmentShader} from './classes/webgl-shader';\nexport type {ProgramProps} from './classes/program';\nexport {default as Program} from './classes/program';\nexport type {FramebufferProps} from './classes/framebuffer';\nexport {default as Framebuffer} from './classes/framebuffer';\nexport type {RenderbufferProps} from './classes/renderbuffer';\nexport {default as Renderbuffer} from './classes/renderbuffer';\n\nexport {clear, clearBuffer} from './classes/clear';\n\n// Copy and Blit\nexport {\n readPixelsToArray,\n readPixelsToBuffer,\n copyToDataUrl,\n copyToImage,\n copyToTexture,\n blit\n} from './classes/copy-and-blit';\n\n// WebGL2 classes & Extensions\nexport type {QueryProps} from './classes/query';\nexport {default as Query} from './classes/query';\nexport type {Texture3DProps} from './classes/texture-3d';\nexport {default as Texture3D} from './classes/texture-3d';\nexport type {TransformFeedbackProps} from './classes/transform-feedback';\nexport {default as TransformFeedback} from './classes/transform-feedback';\nexport type {VertexArrayObjectProps} from './classes/vertex-array-object';\nexport {default as VertexArrayObject} from './classes/vertex-array-object';\nexport type {VertexArrayProps} from './classes/vertex-array';\nexport {default as VertexArray} from './classes/vertex-array';\nexport {default as UniformBufferLayout} from './classes/uniform-buffer-layout';\n\n// experimental WebGL exports\n\n// UTILS\nexport {\n isWebGL,\n isWebGL2,\n getWebGL2Context,\n assertWebGLContext,\n assertWebGL2Context\n} from './context/context/webgl-checks';\n\n// Device ratio\nexport {cssToDeviceRatio, cssToDevicePixels} from './context/context/device-pixels';\n\n// Unified parameter API\n\nexport type {GLParameters} from './context/parameters/webgl-parameters';\nexport {\n getParameters,\n setParameters,\n resetParameters\n} from './context/parameters/unified-parameter-api';\n\nexport {\n withParameters\n} from './context/state-tracker/with-parameters';\n\n// State tracking\nexport {\n trackContextState,\n pushContextState,\n popContextState\n} from './context/state-tracker/track-context-state';\n\n// Polyfills (supports a subset of WebGL2 APIs on WebGL1 contexts)\nexport {polyfillContext} from './context/polyfill/polyfill-context';\n\n// INTERNAL\nexport {parseUniformName, getUniformSetter} from './classes/uniforms';\nexport {getDebugTableForUniforms} from './debug/debug-uniforms';\nexport {getDebugTableForVertexArray} from './debug/debug-vertex-array';\nexport {getDebugTableForProgramConfiguration} from './debug/debug-program-configuration';\n\n// DEPRECATED\n\n// Deprecated re-exports\nexport {lumaStats} from './init';\nexport {log, assert, uid, isObjectEmpty} from '@luma.gl/api';\nexport {setPathPrefix, loadFile, loadImage} from '@luma.gl/api';\n\n\n// export {\n// getContextInfo, getGLContextInfo, getContextLimits,\n// FEATURES,\n// getFeatures,\n// canCompileGLGSExtension\n// } from '@luma.gl/gltools';\n\n// REMOVED in v8.6\n// getShaderInfo,\n// getShaderName\n// getShaderVersion\n"],"file":"index.js"}
|
package/dist/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAEA,OAAO,EAAO,SAAS,EAAC,MAAM,cAAc,CAAC;AA4C7C,OAAO,EAAC,SAAS,EAAC,CAAC;;AACnB,wBAA+B"}
|
package/dist/init.js
CHANGED
|
@@ -1,19 +1,22 @@
|
|
|
1
|
-
import { log } from '@luma.gl/
|
|
2
|
-
import { isBrowser
|
|
3
|
-
import { lumaStats } from '@luma.gl/api';
|
|
1
|
+
import { log } from '@luma.gl/api';
|
|
2
|
+
import { isBrowser } from '@probe.gl/env';
|
|
3
|
+
import { luma, lumaStats } from '@luma.gl/api';
|
|
4
|
+
import WebGLDevice from './device/webgl-device';
|
|
4
5
|
const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'untranspiled source';
|
|
5
6
|
const STARTUP_MESSAGE = 'set luma.log.level=1 (or higher) to trace rendering';
|
|
6
7
|
|
|
7
|
-
if (
|
|
8
|
-
throw new Error("luma.gl - multiple VERSIONs detected: ".concat(
|
|
8
|
+
if (globalThis.luma && globalThis.luma.VERSION !== VERSION) {
|
|
9
|
+
throw new Error("luma.gl - multiple VERSIONs detected: ".concat(globalThis.luma.VERSION, " vs ").concat(VERSION));
|
|
9
10
|
}
|
|
10
11
|
|
|
11
|
-
if (!
|
|
12
|
+
if (!globalThis.luma) {
|
|
13
|
+
luma.registerDevices([WebGLDevice]);
|
|
14
|
+
|
|
12
15
|
if (isBrowser()) {
|
|
13
16
|
log.log(1, "luma.gl ".concat(VERSION, " - ").concat(STARTUP_MESSAGE))();
|
|
14
17
|
}
|
|
15
18
|
|
|
16
|
-
|
|
19
|
+
globalThis.luma = globalThis.luma || {
|
|
17
20
|
VERSION,
|
|
18
21
|
version: VERSION,
|
|
19
22
|
log,
|
|
@@ -26,5 +29,5 @@ if (!global.luma) {
|
|
|
26
29
|
}
|
|
27
30
|
|
|
28
31
|
export { lumaStats };
|
|
29
|
-
export default
|
|
32
|
+
export default globalThis.luma;
|
|
30
33
|
//# sourceMappingURL=init.js.map
|
package/dist/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/init.ts"],"names":["log","isBrowser","
|
|
1
|
+
{"version":3,"sources":["../src/init.ts"],"names":["log","isBrowser","luma","lumaStats","WebGLDevice","VERSION","__VERSION__","STARTUP_MESSAGE","globalThis","Error","registerDevices","version","stats","globals","modules","nodeIO"],"mappings":"AAAA,SAAQA,GAAR,QAAkB,cAAlB;AACA,SAAQC,SAAR,QAAwB,eAAxB;AACA,SAAQC,IAAR,EAAcC,SAAd,QAA8B,cAA9B;AACA,OAAOC,WAAP,MAAwB,uBAAxB;AAIA,MAAMC,OAAO,GAAG,OAAOC,WAAP,KAAuB,WAAvB,GAAqCA,WAArC,GAAmD,qBAAnE;AAEA,MAAMC,eAAe,GAAG,qDAAxB;;AAKA,IAAIC,UAAU,CAACN,IAAX,IAAmBM,UAAU,CAACN,IAAX,CAAgBG,OAAhB,KAA4BA,OAAnD,EAA4D;AAC1D,QAAM,IAAII,KAAJ,iDAAmDD,UAAU,CAACN,IAAX,CAAgBG,OAAnE,iBAAiFA,OAAjF,EAAN;AACD;;AAED,IAAI,CAACG,UAAU,CAACN,IAAhB,EAAsB;AACpBA,EAAAA,IAAI,CAACQ,eAAL,CAAqB,CAACN,WAAD,CAArB;;AAEA,MAAIH,SAAS,EAAb,EAAiB;AACfD,IAAAA,GAAG,CAACA,GAAJ,CAAQ,CAAR,oBAAsBK,OAAtB,gBAAmCE,eAAnC;AACD;;AAEDC,EAAAA,UAAU,CAACN,IAAX,GAAkBM,UAAU,CAACN,IAAX,IAAmB;AACnCG,IAAAA,OADmC;AAEnCM,IAAAA,OAAO,EAAEN,OAF0B;AAGnCL,IAAAA,GAHmC;AAOnCY,IAAAA,KAAK,EAAET,SAP4B;AAcnCU,IAAAA,OAAO,EAAE;AACPC,MAAAA,OAAO,EAAE,EADF;AAEPC,MAAAA,MAAM,EAAE;AAFD;AAd0B,GAArC;AAmBD;;AAED,SAAQZ,SAAR;AACA,eAAeK,UAAU,CAACN,IAA1B","sourcesContent":["import {log} from '@luma.gl/api';\nimport {isBrowser} from '@probe.gl/env';\nimport {luma, lumaStats} from '@luma.gl/api';\nimport WebGLDevice from './device/webgl-device';\n\n// Version detection using babel plugin\n// @ts-expect-error\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'untranspiled source';\n\nconst STARTUP_MESSAGE = 'set luma.log.level=1 (or higher) to trace rendering';\n// Assign luma.log.level in console to control logging: \\\n// 0: none, 1: minimal, 2: verbose, 3: attribute/uniforms, 4: gl logs\n// luma.log.break[], set to gl funcs, luma.log.profile[] set to model names`;\n\nif (globalThis.luma && globalThis.luma.VERSION !== VERSION) {\n throw new Error(`luma.gl - multiple VERSIONs detected: ${globalThis.luma.VERSION} vs ${VERSION}`);\n}\n\nif (!globalThis.luma) {\n luma.registerDevices([WebGLDevice]);\n\n if (isBrowser()) {\n log.log(1, `luma.gl ${VERSION} - ${STARTUP_MESSAGE}`)();\n }\n\n globalThis.luma = globalThis.luma || {\n VERSION,\n version: VERSION,\n log,\n\n // A global stats object that various components can add information to\n // E.g. see webgl/resource.js\n stats: lumaStats,\n\n // Keep some luma globals in a sub-object\n // This allows us to dynamically detect if certain modules have been\n // included (such as IO and headless) and enable related functionality,\n // without unconditionally requiring and thus bundling big dependencies\n // into the app.\n globals: {\n modules: {},\n nodeIO: {}\n }\n };\n}\n\nexport {lumaStats};\nexport default globalThis.luma;\n"],"file":"init.js"}
|
|
@@ -1 +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":"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","sourcesContent":["import {assert} from '../utils';\n\nconst GL_BYTE = 0x1400;\nconst GL_UNSIGNED_BYTE = 0x1401;\nconst GL_SHORT = 0x1402;\nconst GL_UNSIGNED_SHORT = 0x1403;\n\nconst GL_POINTS = 0x0;\nconst GL_LINES = 0x1;\nconst GL_LINE_LOOP = 0x2;\nconst GL_LINE_STRIP = 0x3;\nconst GL_TRIANGLES = 0x4;\nconst GL_TRIANGLE_STRIP = 0x5;\nconst GL_TRIANGLE_FAN = 0x6;\n\n// Local constants - these will \"collapse\" during minification\nconst GL_FLOAT = 0x1406;\nconst GL_FLOAT_VEC2 = 0x8b50;\nconst GL_FLOAT_VEC3 = 0x8b51;\nconst GL_FLOAT_VEC4 = 0x8b52;\n\nconst GL_INT = 0x1404;\nconst GL_INT_VEC2 = 0x8b53;\nconst GL_INT_VEC3 = 0x8b54;\nconst GL_INT_VEC4 = 0x8b55;\n\nconst GL_UNSIGNED_INT = 0x1405;\nconst GL_UNSIGNED_INT_VEC2 = 0x8dc6;\nconst GL_UNSIGNED_INT_VEC3 = 0x8dc7;\nconst GL_UNSIGNED_INT_VEC4 = 0x8dc8;\n\nconst GL_BOOL = 0x8b56;\nconst GL_BOOL_VEC2 = 0x8b57;\nconst GL_BOOL_VEC3 = 0x8b58;\nconst GL_BOOL_VEC4 = 0x8b59;\n\nconst GL_FLOAT_MAT2 = 0x8b5a;\nconst GL_FLOAT_MAT3 = 0x8b5b;\nconst GL_FLOAT_MAT4 = 0x8b5c;\n\nconst GL_FLOAT_MAT2x3 = 0x8b65;\nconst GL_FLOAT_MAT2x4 = 0x8b66;\nconst GL_FLOAT_MAT3x2 = 0x8b67;\nconst GL_FLOAT_MAT3x4 = 0x8b68;\nconst GL_FLOAT_MAT4x2 = 0x8b69;\nconst GL_FLOAT_MAT4x3 = 0x8b6a;\n\n// Composite types table\nconst COMPOSITE_GL_TYPES = {\n [GL_FLOAT]: [GL_FLOAT, 1, 'float'],\n [GL_FLOAT_VEC2]: [GL_FLOAT, 2, 'vec2'],\n [GL_FLOAT_VEC3]: [GL_FLOAT, 3, 'vec3'],\n [GL_FLOAT_VEC4]: [GL_FLOAT, 4, 'vec4'],\n\n [GL_INT]: [GL_INT, 1, 'int'],\n [GL_INT_VEC2]: [GL_INT, 2, 'ivec2'],\n [GL_INT_VEC3]: [GL_INT, 3, 'ivec3'],\n [GL_INT_VEC4]: [GL_INT, 4, 'ivec4'],\n\n [GL_UNSIGNED_INT]: [GL_UNSIGNED_INT, 1, 'uint'],\n [GL_UNSIGNED_INT_VEC2]: [GL_UNSIGNED_INT, 2, 'uvec2'],\n [GL_UNSIGNED_INT_VEC3]: [GL_UNSIGNED_INT, 3, 'uvec3'],\n [GL_UNSIGNED_INT_VEC4]: [GL_UNSIGNED_INT, 4, 'uvec4'],\n\n [GL_BOOL]: [GL_FLOAT, 1, 'bool'],\n [GL_BOOL_VEC2]: [GL_FLOAT, 2, 'bvec2'],\n [GL_BOOL_VEC3]: [GL_FLOAT, 3, 'bvec3'],\n [GL_BOOL_VEC4]: [GL_FLOAT, 4, 'bvec4'],\n\n [GL_FLOAT_MAT2]: [GL_FLOAT, 8, 'mat2'], // 4\n [GL_FLOAT_MAT2x3]: [GL_FLOAT, 8, 'mat2x3'], // 6\n [GL_FLOAT_MAT2x4]: [GL_FLOAT, 8, 'mat2x4'], // 8\n\n [GL_FLOAT_MAT3]: [GL_FLOAT, 12, 'mat3'], // 9\n [GL_FLOAT_MAT3x2]: [GL_FLOAT, 12, 'mat3x2'], // 6\n [GL_FLOAT_MAT3x4]: [GL_FLOAT, 12, 'mat3x4'], // 12\n\n [GL_FLOAT_MAT4]: [GL_FLOAT, 16, 'mat4'], // 16\n [GL_FLOAT_MAT4x2]: [GL_FLOAT, 16, 'mat4x2'], // 8\n [GL_FLOAT_MAT4x3]: [GL_FLOAT, 16, 'mat4x3'] // 12\n};\n\n// Counts the number of complete primitives given a number of vertices and a drawMode\nexport function getPrimitiveDrawMode(drawMode) {\n switch (drawMode) {\n case GL_POINTS:\n return GL_POINTS;\n case GL_LINES:\n return GL_LINES;\n case GL_LINE_STRIP:\n return GL_LINES;\n case GL_LINE_LOOP:\n return GL_LINES;\n case GL_TRIANGLES:\n return GL_TRIANGLES;\n case GL_TRIANGLE_STRIP:\n return GL_TRIANGLES;\n case GL_TRIANGLE_FAN:\n return GL_TRIANGLES;\n default:\n assert(false);\n return 0;\n }\n}\n\n// Counts the number of complete \"primitives\" given a number of vertices and a drawMode\nexport function getPrimitiveCount({drawMode, vertexCount}) {\n switch (drawMode) {\n case GL_POINTS:\n case GL_LINE_LOOP:\n return vertexCount;\n case GL_LINES:\n return vertexCount / 2;\n case GL_LINE_STRIP:\n return vertexCount - 1;\n case GL_TRIANGLES:\n return vertexCount / 3;\n case GL_TRIANGLE_STRIP:\n case GL_TRIANGLE_FAN:\n return vertexCount - 2;\n default:\n assert(false);\n return 0;\n }\n}\n\n// Counts the number of vertices after splitting the vertex stream into separate \"primitives\"\nexport function getVertexCount({drawMode, vertexCount}) {\n const primitiveCount = getPrimitiveCount({drawMode, vertexCount});\n switch (getPrimitiveDrawMode(drawMode)) {\n case GL_POINTS:\n return primitiveCount;\n case GL_LINES:\n return primitiveCount * 2;\n case GL_TRIANGLES:\n return primitiveCount * 3;\n default:\n assert(false);\n return 0;\n }\n}\n\n// Decomposes a composite type GL.VEC3 into a basic type (GL.FLOAT) and components (3)\nexport function decomposeCompositeGLType(compositeGLType) {\n const typeAndSize = COMPOSITE_GL_TYPES[compositeGLType];\n if (!typeAndSize) {\n return null;\n }\n const [type, components] = typeAndSize;\n return {type, components};\n}\n\nexport function getCompositeGLType(type, components) {\n switch (type) {\n case GL_BYTE:\n case GL_UNSIGNED_BYTE:\n case GL_SHORT:\n case GL_UNSIGNED_SHORT:\n type = GL_FLOAT;\n break;\n default:\n }\n\n for (const glType in COMPOSITE_GL_TYPES) {\n const [compType, compComponents, name] = COMPOSITE_GL_TYPES[glType];\n if (compType === type && compComponents === components) {\n return {glType, name};\n }\n }\n return null;\n}\n"],"file":"attribute-utils.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/webgl-utils/attribute-utils.ts"],"names":["assert","GL_BYTE","GL_UNSIGNED_BYTE","GL_SHORT","GL_UNSIGNED_SHORT","GL_POINTS","GL_LINES","GL_LINE_LOOP","GL_LINE_STRIP","GL_TRIANGLES","GL_TRIANGLE_STRIP","GL_TRIANGLE_FAN","GL_FLOAT","GL_FLOAT_VEC2","GL_FLOAT_VEC3","GL_FLOAT_VEC4","GL_INT","GL_INT_VEC2","GL_INT_VEC3","GL_INT_VEC4","GL_UNSIGNED_INT","GL_UNSIGNED_INT_VEC2","GL_UNSIGNED_INT_VEC3","GL_UNSIGNED_INT_VEC4","GL_BOOL","GL_BOOL_VEC2","GL_BOOL_VEC3","GL_BOOL_VEC4","GL_FLOAT_MAT2","GL_FLOAT_MAT3","GL_FLOAT_MAT4","GL_FLOAT_MAT2x3","GL_FLOAT_MAT2x4","GL_FLOAT_MAT3x2","GL_FLOAT_MAT3x4","GL_FLOAT_MAT4x2","GL_FLOAT_MAT4x3","COMPOSITE_GL_TYPES","getPrimitiveDrawMode","drawMode","getPrimitiveCount","vertexCount","getVertexCount","primitiveCount","decomposeCompositeGLType","compositeGLType","typeAndSize","type","components","getCompositeGLType","glType","compType","compComponents","name"],"mappings":"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","sourcesContent":["import {assert} from '@luma.gl/api';\n\nconst GL_BYTE = 0x1400;\nconst GL_UNSIGNED_BYTE = 0x1401;\nconst GL_SHORT = 0x1402;\nconst GL_UNSIGNED_SHORT = 0x1403;\n\nconst GL_POINTS = 0x0;\nconst GL_LINES = 0x1;\nconst GL_LINE_LOOP = 0x2;\nconst GL_LINE_STRIP = 0x3;\nconst GL_TRIANGLES = 0x4;\nconst GL_TRIANGLE_STRIP = 0x5;\nconst GL_TRIANGLE_FAN = 0x6;\n\n// Local constants - these will \"collapse\" during minification\nconst GL_FLOAT = 0x1406;\nconst GL_FLOAT_VEC2 = 0x8b50;\nconst GL_FLOAT_VEC3 = 0x8b51;\nconst GL_FLOAT_VEC4 = 0x8b52;\n\nconst GL_INT = 0x1404;\nconst GL_INT_VEC2 = 0x8b53;\nconst GL_INT_VEC3 = 0x8b54;\nconst GL_INT_VEC4 = 0x8b55;\n\nconst GL_UNSIGNED_INT = 0x1405;\nconst GL_UNSIGNED_INT_VEC2 = 0x8dc6;\nconst GL_UNSIGNED_INT_VEC3 = 0x8dc7;\nconst GL_UNSIGNED_INT_VEC4 = 0x8dc8;\n\nconst GL_BOOL = 0x8b56;\nconst GL_BOOL_VEC2 = 0x8b57;\nconst GL_BOOL_VEC3 = 0x8b58;\nconst GL_BOOL_VEC4 = 0x8b59;\n\nconst GL_FLOAT_MAT2 = 0x8b5a;\nconst GL_FLOAT_MAT3 = 0x8b5b;\nconst GL_FLOAT_MAT4 = 0x8b5c;\n\nconst GL_FLOAT_MAT2x3 = 0x8b65;\nconst GL_FLOAT_MAT2x4 = 0x8b66;\nconst GL_FLOAT_MAT3x2 = 0x8b67;\nconst GL_FLOAT_MAT3x4 = 0x8b68;\nconst GL_FLOAT_MAT4x2 = 0x8b69;\nconst GL_FLOAT_MAT4x3 = 0x8b6a;\n\n// Composite types table\nconst COMPOSITE_GL_TYPES = {\n [GL_FLOAT]: [GL_FLOAT, 1, 'float'],\n [GL_FLOAT_VEC2]: [GL_FLOAT, 2, 'vec2'],\n [GL_FLOAT_VEC3]: [GL_FLOAT, 3, 'vec3'],\n [GL_FLOAT_VEC4]: [GL_FLOAT, 4, 'vec4'],\n\n [GL_INT]: [GL_INT, 1, 'int'],\n [GL_INT_VEC2]: [GL_INT, 2, 'ivec2'],\n [GL_INT_VEC3]: [GL_INT, 3, 'ivec3'],\n [GL_INT_VEC4]: [GL_INT, 4, 'ivec4'],\n\n [GL_UNSIGNED_INT]: [GL_UNSIGNED_INT, 1, 'uint'],\n [GL_UNSIGNED_INT_VEC2]: [GL_UNSIGNED_INT, 2, 'uvec2'],\n [GL_UNSIGNED_INT_VEC3]: [GL_UNSIGNED_INT, 3, 'uvec3'],\n [GL_UNSIGNED_INT_VEC4]: [GL_UNSIGNED_INT, 4, 'uvec4'],\n\n [GL_BOOL]: [GL_FLOAT, 1, 'bool'],\n [GL_BOOL_VEC2]: [GL_FLOAT, 2, 'bvec2'],\n [GL_BOOL_VEC3]: [GL_FLOAT, 3, 'bvec3'],\n [GL_BOOL_VEC4]: [GL_FLOAT, 4, 'bvec4'],\n\n [GL_FLOAT_MAT2]: [GL_FLOAT, 8, 'mat2'], // 4\n [GL_FLOAT_MAT2x3]: [GL_FLOAT, 8, 'mat2x3'], // 6\n [GL_FLOAT_MAT2x4]: [GL_FLOAT, 8, 'mat2x4'], // 8\n\n [GL_FLOAT_MAT3]: [GL_FLOAT, 12, 'mat3'], // 9\n [GL_FLOAT_MAT3x2]: [GL_FLOAT, 12, 'mat3x2'], // 6\n [GL_FLOAT_MAT3x4]: [GL_FLOAT, 12, 'mat3x4'], // 12\n\n [GL_FLOAT_MAT4]: [GL_FLOAT, 16, 'mat4'], // 16\n [GL_FLOAT_MAT4x2]: [GL_FLOAT, 16, 'mat4x2'], // 8\n [GL_FLOAT_MAT4x3]: [GL_FLOAT, 16, 'mat4x3'] // 12\n};\n\n// Counts the number of complete primitives given a number of vertices and a drawMode\nexport function getPrimitiveDrawMode(drawMode) {\n switch (drawMode) {\n case GL_POINTS:\n return GL_POINTS;\n case GL_LINES:\n return GL_LINES;\n case GL_LINE_STRIP:\n return GL_LINES;\n case GL_LINE_LOOP:\n return GL_LINES;\n case GL_TRIANGLES:\n return GL_TRIANGLES;\n case GL_TRIANGLE_STRIP:\n return GL_TRIANGLES;\n case GL_TRIANGLE_FAN:\n return GL_TRIANGLES;\n default:\n assert(false);\n return 0;\n }\n}\n\n// Counts the number of complete \"primitives\" given a number of vertices and a drawMode\nexport function getPrimitiveCount({drawMode, vertexCount}) {\n switch (drawMode) {\n case GL_POINTS:\n case GL_LINE_LOOP:\n return vertexCount;\n case GL_LINES:\n return vertexCount / 2;\n case GL_LINE_STRIP:\n return vertexCount - 1;\n case GL_TRIANGLES:\n return vertexCount / 3;\n case GL_TRIANGLE_STRIP:\n case GL_TRIANGLE_FAN:\n return vertexCount - 2;\n default:\n assert(false);\n return 0;\n }\n}\n\n// Counts the number of vertices after splitting the vertex stream into separate \"primitives\"\nexport function getVertexCount({drawMode, vertexCount}) {\n const primitiveCount = getPrimitiveCount({drawMode, vertexCount});\n switch (getPrimitiveDrawMode(drawMode)) {\n case GL_POINTS:\n return primitiveCount;\n case GL_LINES:\n return primitiveCount * 2;\n case GL_TRIANGLES:\n return primitiveCount * 3;\n default:\n assert(false);\n return 0;\n }\n}\n\n// Decomposes a composite type GL.VEC3 into a basic type (GL.FLOAT) and components (3)\nexport function decomposeCompositeGLType(compositeGLType) {\n const typeAndSize = COMPOSITE_GL_TYPES[compositeGLType];\n if (!typeAndSize) {\n return null;\n }\n const [type, components] = typeAndSize;\n return {type, components};\n}\n\nexport function getCompositeGLType(type, components) {\n switch (type) {\n case GL_BYTE:\n case GL_UNSIGNED_BYTE:\n case GL_SHORT:\n case GL_UNSIGNED_SHORT:\n type = GL_FLOAT;\n break;\n default:\n }\n\n for (const glType in COMPOSITE_GL_TYPES) {\n const [compType, compComponents, name] = COMPOSITE_GL_TYPES[glType];\n if (compType === type && compComponents === components) {\n return {glType, name};\n }\n }\n return null;\n}\n"],"file":"attribute-utils.js"}
|
|
@@ -1 +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,
|
|
1
|
+
{"version":3,"sources":["../../src/webgl-utils/constants-to-keys.ts"],"names":["assert","getKeyValue","gl","name","number","Number","isNaN","replace","value","undefined","getKey","key","String","getKeyType"],"mappings":"AAAA,SAAQA,MAAR,QAAqB,cAArB;AAGA,OAAO,SAASC,WAAT,CAAqBC,EAArB,EAAyBC,IAAzB,EAA+B;AAEpC,MAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;AAC5B,WAAOA,IAAP;AACD;;AAGD,QAAMC,MAAM,GAAGC,MAAM,CAACF,IAAD,CAArB;;AACA,MAAI,CAACG,KAAK,CAACF,MAAD,CAAV,EAAoB;AAClB,WAAOA,MAAP;AACD;;AAGDD,EAAAA,IAAI,GAAGA,IAAI,CAACI,OAAL,CAAa,OAAb,EAAsB,EAAtB,CAAP;AACA,QAAMC,KAAK,GAAGN,EAAE,CAACC,IAAD,CAAhB;AACAH,EAAAA,MAAM,CAACQ,KAAK,KAAKC,SAAX,4CAAyDN,IAAzD,EAAN;AACA,SAAOK,KAAP;AACD;AAED,OAAO,SAASE,MAAT,CAAgBR,EAAhB,EAAoBM,KAApB,EAA2B;AAChCA,EAAAA,KAAK,GAAGH,MAAM,CAACG,KAAD,CAAd;;AACA,OAAK,MAAMG,GAAX,IAAkBT,EAAlB,EAAsB;AACpB,QAAIA,EAAE,CAACS,GAAD,CAAF,KAAYH,KAAhB,EAAuB;AACrB,0BAAaG,GAAb;AACD;AACF;;AACD,SAAOC,MAAM,CAACJ,KAAD,CAAb;AACD;AAED,OAAO,SAASK,UAAT,CAAoBX,EAApB,EAAwBM,KAAxB,EAA+B;AACpCR,EAAAA,MAAM,CAACQ,KAAK,KAAKC,SAAX,EAAsB,eAAtB,CAAN;AACAD,EAAAA,KAAK,GAAGH,MAAM,CAACG,KAAD,CAAd;;AACA,OAAK,MAAMG,GAAX,IAAkBT,EAAlB,EAAsB;AACpB,QAAIA,EAAE,CAACS,GAAD,CAAF,KAAYH,KAAhB,EAAuB;AACrB,0BAAaG,GAAb;AACD;AACF;;AACD,SAAOC,MAAM,CAACJ,KAAD,CAAb;AACD","sourcesContent":["import {assert} from '@luma.gl/api';\n\n// Resolve a WebGL enumeration name (returns itself if already a number)\nexport function getKeyValue(gl, name) {\n // If not a string, return (assume number)\n if (typeof name !== 'string') {\n return name;\n }\n\n // If string converts to number, return number\n const number = Number(name);\n if (!isNaN(number)) {\n return number;\n }\n\n // Look up string, after removing any 'GL.' or 'gl.' prefix\n name = name.replace(/^.*\\./, '');\n const value = gl[name];\n assert(value !== undefined, `Accessing undefined constant GL.${name}`);\n return value;\n}\n\nexport function getKey(gl, value) {\n value = Number(value);\n for (const key in gl) {\n if (gl[key] === value) {\n return `GL.${key}`;\n }\n }\n return String(value);\n}\n\nexport function getKeyType(gl, value) {\n assert(value !== undefined, 'undefined key');\n value = Number(value);\n for (const key in gl) {\n if (gl[key] === value) {\n return `GL.${key}`;\n }\n }\n return String(value);\n}\n"],"file":"constants-to-keys.js"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare function glFormatToComponents(format: any):
|
|
2
|
-
export declare function glTypeToBytes(type: any):
|
|
1
|
+
export declare function glFormatToComponents(format: any): 2 | 0 | 1 | 4 | 3;
|
|
2
|
+
export declare function glTypeToBytes(type: any): 2 | 0 | 1 | 4;
|
|
3
3
|
//# sourceMappingURL=format-utils.d.ts.map
|