@luma.gl/webgl 8.6.0-alpha.1 → 8.6.0-alpha.5
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/_deprecated/context-api.d.ts +85 -0
- package/dist/_deprecated/context-api.d.ts.map +1 -0
- package/dist/_deprecated/context-api.js +76 -0
- package/dist/_deprecated/context-api.js.map +1 -0
- package/dist/{features/webgl-features-table.d.ts → _deprecated/features.d.ts} +4 -7
- package/dist/_deprecated/features.d.ts.map +1 -0
- package/dist/_deprecated/features.js +111 -0
- package/dist/_deprecated/features.js.map +1 -0
- 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 +110 -0
- package/dist/adapter/webgl-device.d.ts.map +1 -0
- package/dist/adapter/webgl-device.js +207 -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/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 +14 -17
- package/dist/classes/program-configuration.d.ts.map +1 -1
- package/dist/classes/program-configuration.js +10 -97
- package/dist/classes/program-configuration.js.map +1 -1
- package/dist/classes/program.d.ts +25 -20
- package/dist/classes/program.d.ts.map +1 -1
- package/dist/classes/program.js +39 -28
- 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/{webgl-shader.d.ts → shader.d.ts} +4 -13
- package/dist/classes/shader.d.ts.map +1 -0
- package/dist/classes/{webgl-shader.js → shader.js} +7 -79
- package/dist/classes/shader.js.map +1 -0
- 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 +7 -6
- package/dist/classes/vertex-array-object.d.ts.map +1 -1
- package/dist/classes/vertex-array-object.js +11 -12
- package/dist/classes/vertex-array-object.js.map +1 -1
- package/dist/classes/vertex-array.d.ts +14 -14
- package/dist/classes/vertex-array.d.ts.map +1 -1
- package/dist/classes/vertex-array.js +3 -4
- 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/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-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/es5/_deprecated/context-api.js +116 -0
- package/dist/es5/_deprecated/context-api.js.map +1 -0
- package/dist/es5/_deprecated/features.js +118 -0
- package/dist/es5/_deprecated/features.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/adapter/device-helpers/is-old-ie.js +16 -0
- 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 +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 +78 -128
- package/dist/es5/classes/program-configuration.js.map +1 -1
- package/dist/es5/classes/program.js +379 -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/shader.js +195 -0
- package/dist/es5/classes/shader.js.map +1 -0
- 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/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/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 +268 -192
- 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/types/accessor.d.ts +29 -0
- 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/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/esm/_deprecated/context-api.js +76 -0
- package/dist/esm/_deprecated/context-api.js.map +1 -0
- package/dist/esm/_deprecated/features.js +111 -0
- package/dist/esm/_deprecated/features.js.map +1 -0
- 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/{features/check-old-ie.js → esm/adapter/device-helpers/is-old-ie.js} +3 -3
- package/dist/esm/adapter/device-helpers/is-old-ie.js.map +1 -0
- package/dist/esm/adapter/webgl-device.js +207 -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/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 +10 -97
- package/dist/esm/classes/program-configuration.js.map +1 -1
- package/dist/esm/classes/program.js +39 -28
- 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/{webgl-shader.js → shader.js} +7 -79
- package/dist/esm/classes/shader.js.map +1 -0
- 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 +11 -12
- package/dist/esm/classes/vertex-array-object.js.map +1 -1
- package/dist/esm/classes/vertex-array.js +3 -4
- 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/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/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 +26 -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/types/accessor.d.ts +29 -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 +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/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/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 +41 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -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/types/accessor.d.ts +29 -0
- 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/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/package.json +5 -6
- package/src/.DS_Store +0 -0
- package/src/_deprecated/context-api.ts +146 -0
- package/src/_deprecated/features.ts +159 -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.ts → adapter/device-helpers/is-old-ie.ts} +3 -3
- package/src/adapter/webgl-device.ts +399 -0
- package/src/adapter/webgl-shader.ts +84 -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 +28 -81
- package/src/classes/program.ts +89 -75
- 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/{webgl-shader.ts → shader.ts} +7 -78
- 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 +17 -20
- package/src/classes/vertex-array.ts +16 -11
- package/src/classes/webgl-buffer.ts +7 -5
- package/src/classes/webgl-resource.ts +20 -18
- 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-uniforms.ts +1 -1
- package/src/debug/debug-vertex-array.ts +2 -4
- package/src/helpers/get-program-bindings.ts +244 -0
- package/src/helpers/program-bindings.ts +46 -0
- package/src/index.ts +94 -23
- package/src/init.ts +12 -9
- package/src/types/accessor.d.ts +29 -0
- 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/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/dist/classes/webgl-shader.d.ts.map +0 -1
- package/dist/classes/webgl-shader.js.map +0 -1
- 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/classes/webgl-shader.js +0 -213
- package/dist/es5/classes/webgl-shader.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/classes/webgl-shader.js.map +0 -1
- 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.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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/classes/renderbuffer.ts"],"names":["DEFAULT_RENDERBUFFER_PROPS","id","undefined","handle","userData","format","width","height","samples","ImmutableRenderbuffer","
|
|
1
|
+
{"version":3,"sources":["../../../src/classes/renderbuffer.ts"],"names":["DEFAULT_RENDERBUFFER_PROPS","id","undefined","handle","userData","format","width","height","samples","ImmutableRenderbuffer","gl","props","WebGLDevice","attach","_initialize","trackDeallocatedMemory","bindRenderbuffer","GL","RENDERBUFFER","renderbufferStorageMultisample","renderbufferStorage","trackAllocatedMemory","createRenderbuffer","deleteRenderbuffer","options","WebGLResource","Renderbuffer","size","initialize","Object","assign","getRenderbufferParameter","RENDERBUFFER_INTERNAL_FORMAT","RENDERBUFFER_WIDTH","RENDERBUFFER_HEIGHT","RENDERBUFFER_SAMPLES","pname","value","isSupported","getInternalformatParameter","SAMPLES"],"mappings":"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","sourcesContent":["/* eslint-disable no-inline-comments */\nimport {assert} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport WebGLDevice from '../adapter/webgl-device';\nimport WebGLResource, {ResourceProps} from './webgl-resource';\nimport {isRenderbufferFormatSupported, getRenderbufferFormatBytesPerPixel} from './renderbuffer-formats';\nimport {isWebGL2} from '../context/context/webgl-checks';\n\nexport type RenderbufferProps = ResourceProps & {\n format: number;\n width?: number;\n height?: number;\n samples?: number;\n};\n\nconst DEFAULT_RENDERBUFFER_PROPS: Required<RenderbufferProps> = {\n id: undefined,\n handle: undefined,\n userData: undefined,\n format: 0,\n width: 1, \n height: 1, \n samples: 0\n};\n\n/**\n * Renderbuffers are GPU objects that contain images.\n * In contrast to Textures they are optimized for use as render targets, with Framebuffers.\n * while Textures may not be, and are the logical choice when\n * you do not need to sample (i.e. in a post-pass shader)\n * from the produced image. If you need to resample\n * (such as when reading depth back in a second shader pass),\n * use Textures instead.\n * Renderbuffer objects also natively accommodate Multisampling (MSAA).\n */\nexport class ImmutableRenderbuffer extends WebGLResource<RenderbufferProps> {\n static isSupported(gl: WebGLRenderingContext, options?: {format?: number}): boolean {\n return !options.format || isRenderbufferFormatSupported(gl, options.format);\n }\n\n constructor(gl: WebGLRenderingContext, props: RenderbufferProps) {\n super(WebGLDevice.attach(gl), props, DEFAULT_RENDERBUFFER_PROPS);\n this._initialize(this.props);\n }\n\n // PRIVATE METHODS\n\n /** Creates and initializes a renderbuffer object's data store */\n protected _initialize(props: Required<RenderbufferProps>) {\n const {format, width, height, samples} = props;\n assert(format, 'Needs format');\n\n this.trackDeallocatedMemory();\n\n this.gl.bindRenderbuffer(GL.RENDERBUFFER, this.handle);\n\n if (samples !== 0 && isWebGL2(this.gl)) {\n // @ts-expect-error\n this.gl.renderbufferStorageMultisample(GL.RENDERBUFFER, samples, format, width, height);\n } else {\n this.gl.renderbufferStorage(GL.RENDERBUFFER, format, width, height);\n }\n\n this.gl.bindRenderbuffer(GL.RENDERBUFFER, null);\n\n this.trackAllocatedMemory(\n width * height * (samples || 1) * getRenderbufferFormatBytesPerPixel(format)\n );\n\n return this;\n }\n\n // RESOURECE IMPLEMENTATION\n\n _createHandle() {\n return this.gl.createRenderbuffer();\n }\n\n _deleteHandle(): void {\n this.gl.deleteRenderbuffer(this.handle);\n this.trackDeallocatedMemory();\n }\n\n _bindHandle(handle): void {\n this.gl.bindRenderbuffer(GL.RENDERBUFFER, handle);\n }\n}\n\n\n/**\n * Renderbuffers are GPU objects that contain images.\n * In contrast to Textures they are optimized for use as render targets, with Framebuffers.\n * while Textures may not be, and are the logical choice when\n * you do not need to sample (i.e. in a post-pass shader)\n * from the produced image. If you need to resample\n * (such as when reading depth back in a second shader pass),\n * use Textures instead.\n * Renderbuffer objects also natively accommodate Multisampling (MSAA).\n */\nexport default class Renderbuffer extends ImmutableRenderbuffer {\n get width(): number { return this.props.width; }\n get height(): number { return this.props.height; }\n get format(): number { return this.props.format; }\n get samples(): number { return this.props.samples; }\n\n static isSupported(gl: WebGLRenderingContext, options?: {format?: number}): boolean {\n return ImmutableRenderbuffer.isSupported(gl, options);\n }\n\n static getSamplesForFormat(gl: WebGL2RenderingContext, options: {format: number}): number{\n // Polyfilled to return [0] under WebGL1\n return gl.getInternalformatParameter(GL.RENDERBUFFER, options.format, GL.SAMPLES);\n }\n\n constructor(gl: WebGLRenderingContext, props?: RenderbufferProps) {\n super(gl, props);\n }\n\n resize(size: {width: number, height: number}): this {\n // Don't resize if width/height haven't changed\n if (size.width !== this.width || size.height !== this.height) {\n return this.initialize({...size, format: this.format, samples: this.samples});\n }\n return this;\n }\n\n /** Creates and initializes a renderbuffer object's data store */\n initialize(props: RenderbufferProps): this {\n Object.assign(this.props, props);\n this._initialize(this.props);\n return this;\n }\n\n // PRIVATE\n\n _syncHandle(handle) {\n this.gl.bindRenderbuffer(GL.RENDERBUFFER, this.handle);\n Object.assign(this.props, {\n format: this.gl.getRenderbufferParameter(GL.RENDERBUFFER, GL.RENDERBUFFER_INTERNAL_FORMAT),\n width: this.gl.getRenderbufferParameter(GL.RENDERBUFFER, GL.RENDERBUFFER_WIDTH),\n height: this.gl.getRenderbufferParameter(GL.RENDERBUFFER, GL.RENDERBUFFER_HEIGHT),\n samples: this.gl.getRenderbufferParameter(GL.RENDERBUFFER, GL.RENDERBUFFER_SAMPLES)\n });\n }\n\n // @param {Boolean} opt.autobind=true - method call will bind/unbind object\n // @returns {GLenum|GLint} - depends on pname\n _getParameter(pname) {\n this.gl.bindRenderbuffer(GL.RENDERBUFFER, this.handle);\n const value = this.gl.getRenderbufferParameter(GL.RENDERBUFFER, pname);\n // this.gl.bindRenderbuffer(GL.RENDERBUFFER, null);\n return value;\n }\n}\n"],"file":"renderbuffer.js"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.FragmentShader = exports.VertexShader = exports.Shader = void 0;
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
18
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
+
|
|
20
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
+
|
|
22
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
+
|
|
24
|
+
var _api = require("@luma.gl/api");
|
|
25
|
+
|
|
26
|
+
var _constants = _interopRequireDefault(require("@luma.gl/constants"));
|
|
27
|
+
|
|
28
|
+
var _shadertools = require("@luma.gl/shadertools");
|
|
29
|
+
|
|
30
|
+
var _webglChecks = require("../context/context/webgl-checks");
|
|
31
|
+
|
|
32
|
+
var _webglShader = require("../adapter/webgl-shader");
|
|
33
|
+
|
|
34
|
+
var _webglDevice = _interopRequireDefault(require("../adapter/webgl-device"));
|
|
35
|
+
|
|
36
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
37
|
+
|
|
38
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
39
|
+
|
|
40
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
41
|
+
|
|
42
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
43
|
+
|
|
44
|
+
var ERR_SOURCE = 'Shader: GLSL source code must be a JavaScript string';
|
|
45
|
+
|
|
46
|
+
var Shader = function (_WEBGLShader) {
|
|
47
|
+
(0, _inherits2.default)(Shader, _WEBGLShader);
|
|
48
|
+
|
|
49
|
+
var _super = _createSuper(Shader);
|
|
50
|
+
|
|
51
|
+
function Shader(gl, props) {
|
|
52
|
+
var _this;
|
|
53
|
+
|
|
54
|
+
(0, _classCallCheck2.default)(this, Shader);
|
|
55
|
+
(0, _webglChecks.assertWebGLContext)(gl);
|
|
56
|
+
(0, _api.assert)(typeof props.source === 'string', ERR_SOURCE);
|
|
57
|
+
_this = _super.call(this, _webglDevice.default.attach(gl), _objectSpread(_objectSpread({}, props), {}, {
|
|
58
|
+
stage: props.shaderType === _constants.default.VERTEX_SHADER ? 'vertex' : 'fragment'
|
|
59
|
+
}));
|
|
60
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "shaderType", void 0);
|
|
61
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "source", void 0);
|
|
62
|
+
_this.shaderType = props.shaderType;
|
|
63
|
+
_this.source = props.source;
|
|
64
|
+
var shaderName = (0, _shadertools.getShaderInfo)(props.source).name;
|
|
65
|
+
|
|
66
|
+
if (shaderName) {
|
|
67
|
+
_this.id = (0, _api.uid)(shaderName);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return _this;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
(0, _createClass2.default)(Shader, [{
|
|
74
|
+
key: "initialize",
|
|
75
|
+
value: function initialize(props) {
|
|
76
|
+
this._compile(props.source);
|
|
77
|
+
|
|
78
|
+
var shaderName = (0, _shadertools.getShaderInfo)(props.source).name;
|
|
79
|
+
|
|
80
|
+
if (shaderName) {
|
|
81
|
+
this.id = (0, _api.uid)(shaderName);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return this;
|
|
85
|
+
}
|
|
86
|
+
}, {
|
|
87
|
+
key: "getParameter",
|
|
88
|
+
value: function getParameter(pname) {
|
|
89
|
+
return this.gl.getShaderParameter(this.handle, pname);
|
|
90
|
+
}
|
|
91
|
+
}, {
|
|
92
|
+
key: "toString",
|
|
93
|
+
value: function toString() {
|
|
94
|
+
return "".concat(Shader.getTypeName(this.shaderType), ":").concat(this.id);
|
|
95
|
+
}
|
|
96
|
+
}, {
|
|
97
|
+
key: "getName",
|
|
98
|
+
value: function getName() {
|
|
99
|
+
return (0, _shadertools.getShaderInfo)(this.source).name || 'unnamed-shader';
|
|
100
|
+
}
|
|
101
|
+
}, {
|
|
102
|
+
key: "getSource",
|
|
103
|
+
value: function getSource() {
|
|
104
|
+
return this.gl.getShaderSource(this.handle);
|
|
105
|
+
}
|
|
106
|
+
}, {
|
|
107
|
+
key: "getTranslatedSource",
|
|
108
|
+
value: function getTranslatedSource() {
|
|
109
|
+
var extension = this.gl.getExtension('WEBGL_debug_shaders');
|
|
110
|
+
return extension ? extension.getTranslatedShaderSource(this.handle) : 'No translated source available. WEBGL_debug_shaders not implemented';
|
|
111
|
+
}
|
|
112
|
+
}, {
|
|
113
|
+
key: "_getOptsFromHandle",
|
|
114
|
+
value: function _getOptsFromHandle() {
|
|
115
|
+
return {
|
|
116
|
+
type: this.getParameter(_constants.default.SHADER_TYPE),
|
|
117
|
+
source: this.getSource()
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
}], [{
|
|
121
|
+
key: "getTypeName",
|
|
122
|
+
value: function getTypeName(shaderType) {
|
|
123
|
+
switch (shaderType) {
|
|
124
|
+
case _constants.default.VERTEX_SHADER:
|
|
125
|
+
return 'vertex-shader';
|
|
126
|
+
|
|
127
|
+
case _constants.default.FRAGMENT_SHADER:
|
|
128
|
+
return 'fragment-shader';
|
|
129
|
+
|
|
130
|
+
default:
|
|
131
|
+
(0, _api.assert)(false);
|
|
132
|
+
return 'unknown';
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}]);
|
|
136
|
+
return Shader;
|
|
137
|
+
}(_webglShader.WEBGLShader);
|
|
138
|
+
|
|
139
|
+
exports.Shader = Shader;
|
|
140
|
+
|
|
141
|
+
var VertexShader = function (_Shader) {
|
|
142
|
+
(0, _inherits2.default)(VertexShader, _Shader);
|
|
143
|
+
|
|
144
|
+
var _super2 = _createSuper(VertexShader);
|
|
145
|
+
|
|
146
|
+
function VertexShader(gl, props) {
|
|
147
|
+
(0, _classCallCheck2.default)(this, VertexShader);
|
|
148
|
+
return _super2.call(this, gl, getShaderProps(props, _constants.default.VERTEX_SHADER));
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
(0, _createClass2.default)(VertexShader, [{
|
|
152
|
+
key: "_createHandle",
|
|
153
|
+
value: function _createHandle() {
|
|
154
|
+
return this.gl.createShader(_constants.default.VERTEX_SHADER);
|
|
155
|
+
}
|
|
156
|
+
}]);
|
|
157
|
+
return VertexShader;
|
|
158
|
+
}(Shader);
|
|
159
|
+
|
|
160
|
+
exports.VertexShader = VertexShader;
|
|
161
|
+
|
|
162
|
+
var FragmentShader = function (_Shader2) {
|
|
163
|
+
(0, _inherits2.default)(FragmentShader, _Shader2);
|
|
164
|
+
|
|
165
|
+
var _super3 = _createSuper(FragmentShader);
|
|
166
|
+
|
|
167
|
+
function FragmentShader(gl, props) {
|
|
168
|
+
(0, _classCallCheck2.default)(this, FragmentShader);
|
|
169
|
+
return _super3.call(this, gl, getShaderProps(props, _constants.default.FRAGMENT_SHADER));
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
(0, _createClass2.default)(FragmentShader, [{
|
|
173
|
+
key: "_createHandle",
|
|
174
|
+
value: function _createHandle() {
|
|
175
|
+
return this.gl.createShader(_constants.default.FRAGMENT_SHADER);
|
|
176
|
+
}
|
|
177
|
+
}]);
|
|
178
|
+
return FragmentShader;
|
|
179
|
+
}(Shader);
|
|
180
|
+
|
|
181
|
+
exports.FragmentShader = FragmentShader;
|
|
182
|
+
|
|
183
|
+
function getShaderProps(props, shaderType) {
|
|
184
|
+
if (typeof props === 'string') {
|
|
185
|
+
return {
|
|
186
|
+
source: props,
|
|
187
|
+
shaderType: shaderType
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
return _objectSpread(_objectSpread({}, props), {}, {
|
|
192
|
+
shaderType: shaderType
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=shader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/classes/shader.ts"],"names":["ERR_SOURCE","Shader","gl","props","source","WebGLDevice","attach","stage","shaderType","GL","VERTEX_SHADER","shaderName","name","id","_compile","pname","getShaderParameter","handle","getTypeName","getShaderSource","extension","getExtension","getTranslatedShaderSource","type","getParameter","SHADER_TYPE","getSource","FRAGMENT_SHADER","WEBGLShader","VertexShader","getShaderProps","createShader","FragmentShader"],"mappings":"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","sourcesContent":["// luma.gl, MIT license\nimport {assert, uid, ShaderProps} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport {getShaderInfo} from '@luma.gl/shadertools';\nimport {assertWebGLContext} from '../context/context/webgl-checks';\nimport {WEBGLShader} from '../adapter/webgl-shader'\nimport WebGLDevice from '../adapter/webgl-device'\n\nconst ERR_SOURCE = 'Shader: GLSL source code must be a JavaScript string';\n\nexport type {ShaderProps};\n\n/**\n * Encapsulates the compiled or linked Shaders that execute portions of the WebGL Pipeline\n * This is an internal class, use FragmentShader or VertexShader\n */\nexport class Shader extends WEBGLShader {\n shaderType: GL.FRAGMENT_SHADER | GL.VERTEX_SHADER;\n source: string;\n\n static getTypeName(shaderType: any): 'vertex-shader' | 'fragment-shader' | 'unknown' {\n switch (shaderType) {\n case GL.VERTEX_SHADER:\n return 'vertex-shader';\n case GL.FRAGMENT_SHADER:\n return 'fragment-shader';\n default:\n assert(false);\n return 'unknown';\n }\n }\n\n constructor(gl: WebGLRenderingContext, props: Omit<ShaderProps, 'stage'>) {\n assertWebGLContext(gl);\n assert(typeof props.source === 'string', ERR_SOURCE);\n super(WebGLDevice.attach(gl), {...props, stage: props.shaderType === GL.VERTEX_SHADER ? 'vertex' : 'fragment'});\n\n this.shaderType = props.shaderType;\n this.source = props.source;\n\n const shaderName = getShaderInfo(props.source).name;\n if (shaderName) {\n this.id = uid(shaderName);\n }\n }\n\n initialize(props: ShaderProps): this {\n this._compile(props.source);\n const shaderName = getShaderInfo(props.source).name;\n if (shaderName) {\n this.id = uid(shaderName);\n }\n return this;\n }\n\n // Accessors\n\n getParameter(pname: number): any {\n return this.gl.getShaderParameter(this.handle, pname);\n }\n\n toString(): string {\n return `${Shader.getTypeName(this.shaderType)}:${this.id}`;\n }\n\n getName(): string {\n return getShaderInfo(this.source).name || 'unnamed-shader';\n }\n\n getSource(): string {\n return this.gl.getShaderSource(this.handle);\n }\n\n /** Debug method - Returns translated source if available */\n getTranslatedSource(): string {\n const extension = this.gl.getExtension('WEBGL_debug_shaders');\n return extension\n ? extension.getTranslatedShaderSource(this.handle)\n : 'No translated source available. WEBGL_debug_shaders not implemented';\n }\n\n // PRIVATE METHODS\n\n _getOptsFromHandle() {\n return {\n type: this.getParameter(GL.SHADER_TYPE),\n source: this.getSource()\n };\n }\n}\n\n/**\n * Encapsulates the compiled or linked Shaders that execute portions of the WebGL Pipeline\n * @deprecated Use `device.createShader({stage: 'vertex', ...})`\n */\n export class VertexShader extends Shader {\n constructor(gl: WebGLRenderingContext, props: Omit<ShaderProps, 'stage'> | string) {\n super(gl, getShaderProps(props, GL.VERTEX_SHADER));\n }\n\n // PRIVATE METHODS\n _createHandle() {\n return this.gl.createShader(GL.VERTEX_SHADER);\n }\n}\n\n/**\n * Encapsulates the compiled or linked Shaders that execute portions of the WebGL Pipeline\n * @deprecated Use `device.createShader({stage: 'fragment', ...})`\n */\n export class FragmentShader extends Shader {\n constructor(gl: WebGLRenderingContext, props: Omit<ShaderProps, 'stage'> | string) {\n super(gl, getShaderProps(props, GL.FRAGMENT_SHADER));\n }\n\n // PRIVATE METHODS\n _createHandle() {\n return this.gl.createShader(GL.FRAGMENT_SHADER);\n }\n}\n\n// HELPERS\n\nfunction getShaderProps(props: Omit<ShaderProps, 'stage'> | string, shaderType: GL.VERTEX_SHADER | GL.FRAGMENT_SHADER): Omit<ShaderProps, 'stage'> {\n if (typeof props === 'string') {\n return {source: props, shaderType};\n }\n return {...props, shaderType};\n}\n"],"file":"shader.js"}
|
|
@@ -7,23 +7,39 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
11
17
|
|
|
12
|
-
var
|
|
18
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
+
|
|
20
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
+
|
|
22
|
+
var _api = require("@luma.gl/api");
|
|
23
|
+
|
|
24
|
+
var _constants = _interopRequireDefault(require("@luma.gl/constants"));
|
|
13
25
|
|
|
14
26
|
var _texture = _interopRequireDefault(require("./texture"));
|
|
15
27
|
|
|
16
|
-
var
|
|
28
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
17
29
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
30
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
31
|
+
|
|
32
|
+
var Texture2D = function (_Texture, _Symbol$toStringTag) {
|
|
33
|
+
(0, _inherits2.default)(Texture2D, _Texture);
|
|
22
34
|
|
|
23
|
-
|
|
35
|
+
var _super = _createSuper(Texture2D);
|
|
36
|
+
|
|
37
|
+
function Texture2D(device, props) {
|
|
24
38
|
var _props;
|
|
25
39
|
|
|
26
|
-
|
|
40
|
+
var _this;
|
|
41
|
+
|
|
42
|
+
(0, _classCallCheck2.default)(this, Texture2D);
|
|
27
43
|
|
|
28
44
|
if (props instanceof Promise || typeof props === 'string') {
|
|
29
45
|
props = {
|
|
@@ -33,22 +49,33 @@ class Texture2D extends _texture.default {
|
|
|
33
49
|
|
|
34
50
|
if (typeof ((_props = props) === null || _props === void 0 ? void 0 : _props.data) === 'string') {
|
|
35
51
|
props = Object.assign({}, props, {
|
|
36
|
-
data: (0,
|
|
52
|
+
data: (0, _api.loadImage)(props.data)
|
|
37
53
|
});
|
|
38
54
|
}
|
|
39
55
|
|
|
40
|
-
|
|
56
|
+
_this = _super.call(this, device, Object.assign({}, props, {
|
|
41
57
|
target: _constants.default.TEXTURE_2D
|
|
42
58
|
}));
|
|
43
|
-
this.initialize(props);
|
|
44
|
-
Object.seal(this);
|
|
45
|
-
}
|
|
46
59
|
|
|
47
|
-
|
|
48
|
-
|
|
60
|
+
_this.initialize(props);
|
|
61
|
+
|
|
62
|
+
Object.seal((0, _assertThisInitialized2.default)(_this));
|
|
63
|
+
return _this;
|
|
49
64
|
}
|
|
50
65
|
|
|
51
|
-
|
|
66
|
+
(0, _createClass2.default)(Texture2D, [{
|
|
67
|
+
key: _Symbol$toStringTag,
|
|
68
|
+
get: function get() {
|
|
69
|
+
return 'Texture2D';
|
|
70
|
+
}
|
|
71
|
+
}], [{
|
|
72
|
+
key: "isSupported",
|
|
73
|
+
value: function isSupported(device, opts) {
|
|
74
|
+
return _texture.default.isSupported(device, opts);
|
|
75
|
+
}
|
|
76
|
+
}]);
|
|
77
|
+
return Texture2D;
|
|
78
|
+
}(_texture.default, Symbol.toStringTag);
|
|
52
79
|
|
|
53
80
|
exports.default = Texture2D;
|
|
54
81
|
//# sourceMappingURL=texture-2d.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/classes/texture-2d.ts"],"names":["Texture2D","
|
|
1
|
+
{"version":3,"sources":["../../../src/classes/texture-2d.ts"],"names":["Texture2D","device","props","Promise","data","Object","assign","target","GL","TEXTURE_2D","initialize","seal","opts","Texture","isSupported","Symbol","toStringTag"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;IAMqBA,S;;;;;AAKnB,qBAAYC,MAAZ,EAAoDC,KAApD,EAAsG;AAAA;;AAAA;;AAAA;;AAEpG,QAAIA,KAAK,YAAYC,OAAjB,IAA4B,OAAOD,KAAP,KAAiB,QAAjD,EAA2D;AACzDA,MAAAA,KAAK,GAAG;AAACE,QAAAA,IAAI,EAAEF;AAAP,OAAR;AACD;;AAGD,QAAI,kBAAOA,KAAP,2CAAO,OAAOE,IAAd,MAAuB,QAA3B,EAAqC;AACnCF,MAAAA,KAAK,GAAGG,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBJ,KAAlB,EAAyB;AAACE,QAAAA,IAAI,EAAE,oBAAUF,KAAK,CAACE,IAAhB;AAAP,OAAzB,CAAR;AACD;;AAED,8BAAMH,MAAN,EAAcI,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBJ,KAAlB,EAAyB;AAACK,MAAAA,MAAM,EAAEC,mBAAGC;AAAZ,KAAzB,CAAd;;AAEA,UAAKC,UAAL,CAAgBR,KAAhB;;AAEAG,IAAAA,MAAM,CAACM,IAAP;AAfoG;AAgBrG;;;;SAED,eAAmC;AACjC,aAAO,WAAP;AACD;;;WAxBD,qBAAmBV,MAAnB,EAA2DW,IAA3D,EAAkG;AAChG,aAAOC,iBAAQC,WAAR,CAAoBb,MAApB,EAA4BW,IAA5B,CAAP;AACD;;;EAHoCC,gB,EAuBhCE,MAAM,CAACC,W","sourcesContent":["import {Device, loadImage} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport Texture, {TextureProps, TextureSupportOptions} from './texture';\n\n\nexport type Texture2DProps = TextureProps & {\n};\n\nexport default class Texture2D extends Texture {\n static isSupported(device: Device | WebGLRenderingContext, opts?: TextureSupportOptions): boolean {\n return Texture.isSupported(device, opts);\n }\n\n constructor(device: Device | WebGLRenderingContext, props?: Texture2DProps | Promise<Texture2DProps>) {\n // Signature: new Texture2D(gl, url | Promise)\n if (props instanceof Promise || typeof props === 'string') {\n props = {data: props};\n }\n\n // Signature: new Texture2D(gl, {data: url})\n if (typeof props?.data === 'string') {\n props = Object.assign({}, props, {data: loadImage(props.data)});\n }\n\n super(device, Object.assign({}, props, {target: GL.TEXTURE_2D}));\n\n this.initialize(props);\n\n Object.seal(this);\n }\n\n get [Symbol.toStringTag](): string {\n return 'Texture2D';\n }\n}\n"],"file":"texture-2d.js"}
|
|
@@ -7,9 +7,27 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
+
|
|
16
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
+
|
|
18
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
+
|
|
20
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
+
|
|
22
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
+
|
|
10
24
|
var _constants = _interopRequireDefault(require("@luma.gl/constants"));
|
|
11
25
|
|
|
12
|
-
var
|
|
26
|
+
var _webglDevice = _interopRequireDefault(require("../adapter/webgl-device"));
|
|
27
|
+
|
|
28
|
+
var _webglChecks = require("../context/context/webgl-checks");
|
|
29
|
+
|
|
30
|
+
var _withParameters = require("../context/state-tracker/with-parameters");
|
|
13
31
|
|
|
14
32
|
var _texture = _interopRequireDefault(require("./texture"));
|
|
15
33
|
|
|
@@ -17,67 +35,108 @@ var _textureFormats = require("./texture-formats");
|
|
|
17
35
|
|
|
18
36
|
var _webglBuffer = _interopRequireDefault(require("./webgl-buffer"));
|
|
19
37
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
38
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
39
|
+
|
|
40
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
41
|
+
|
|
42
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
43
|
+
|
|
44
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
24
45
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
46
|
+
var Texture3D = function (_Texture, _Symbol$toStringTag) {
|
|
47
|
+
(0, _inherits2.default)(Texture3D, _Texture);
|
|
48
|
+
|
|
49
|
+
var _super = _createSuper(Texture3D);
|
|
50
|
+
|
|
51
|
+
function Texture3D(device) {
|
|
52
|
+
var _this;
|
|
53
|
+
|
|
54
|
+
var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
55
|
+
(0, _classCallCheck2.default)(this, Texture3D);
|
|
56
|
+
_this = _super.call(this, device, _objectSpread(_objectSpread({}, props), {}, {
|
|
57
|
+
target: _constants.default.TEXTURE_3D
|
|
58
|
+
}));
|
|
59
|
+
(0, _webglChecks.assertWebGL2Context)(_this.gl2);
|
|
28
60
|
props = Object.assign({
|
|
29
61
|
depth: 1
|
|
30
62
|
}, props, {
|
|
31
63
|
target: _constants.default.TEXTURE_3D,
|
|
32
64
|
unpackFlipY: false
|
|
33
65
|
});
|
|
34
|
-
this.initialize(props);
|
|
35
|
-
Object.seal(this);
|
|
36
|
-
}
|
|
37
66
|
|
|
38
|
-
|
|
39
|
-
|
|
67
|
+
_this.initialize(props);
|
|
68
|
+
|
|
69
|
+
Object.seal((0, _assertThisInitialized2.default)(_this));
|
|
70
|
+
return _this;
|
|
40
71
|
}
|
|
41
72
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
73
|
+
(0, _createClass2.default)(Texture3D, [{
|
|
74
|
+
key: _Symbol$toStringTag,
|
|
75
|
+
get: function get() {
|
|
76
|
+
return 'Texture3D';
|
|
77
|
+
}
|
|
78
|
+
}, {
|
|
79
|
+
key: "setImageData",
|
|
80
|
+
value: function setImageData(_ref) {
|
|
81
|
+
var _this2 = this;
|
|
82
|
+
|
|
83
|
+
var _ref$level = _ref.level,
|
|
84
|
+
level = _ref$level === void 0 ? 0 : _ref$level,
|
|
85
|
+
_ref$dataFormat = _ref.dataFormat,
|
|
86
|
+
dataFormat = _ref$dataFormat === void 0 ? _constants.default.RGBA : _ref$dataFormat,
|
|
87
|
+
width = _ref.width,
|
|
88
|
+
height = _ref.height,
|
|
89
|
+
_ref$depth = _ref.depth,
|
|
90
|
+
depth = _ref$depth === void 0 ? 1 : _ref$depth,
|
|
91
|
+
_ref$border = _ref.border,
|
|
92
|
+
border = _ref$border === void 0 ? 0 : _ref$border,
|
|
93
|
+
format = _ref.format,
|
|
94
|
+
_ref$type = _ref.type,
|
|
95
|
+
type = _ref$type === void 0 ? _constants.default.UNSIGNED_BYTE : _ref$type,
|
|
96
|
+
_ref$offset = _ref.offset,
|
|
97
|
+
offset = _ref$offset === void 0 ? 0 : _ref$offset,
|
|
98
|
+
data = _ref.data,
|
|
99
|
+
_ref$parameters = _ref.parameters,
|
|
100
|
+
parameters = _ref$parameters === void 0 ? {} : _ref$parameters;
|
|
101
|
+
this.trackDeallocatedMemory('Texture');
|
|
102
|
+
this.gl.bindTexture(this.target, this.handle);
|
|
103
|
+
(0, _withParameters.withParameters)(this.gl, parameters, function () {
|
|
104
|
+
if (ArrayBuffer.isView(data)) {
|
|
105
|
+
_this2.gl.texImage3D(_this2.target, level, dataFormat, width, height, depth, border, format, type, data);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
if (data instanceof _webglBuffer.default) {
|
|
109
|
+
_this2.gl.bindBuffer(_constants.default.PIXEL_UNPACK_BUFFER, data.handle);
|
|
110
|
+
|
|
111
|
+
_this2.gl.texImage3D(_this2.target, level, dataFormat, width, height, depth, border, format, type, offset);
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
if (data && data.byteLength) {
|
|
116
|
+
this.trackAllocatedMemory(data.byteLength, 'Texture');
|
|
117
|
+
} else {
|
|
118
|
+
var channels = _textureFormats.DATA_FORMAT_CHANNELS[this.dataFormat] || 4;
|
|
119
|
+
var channelSize = _textureFormats.TYPE_SIZES[this.type] || 1;
|
|
120
|
+
this.trackAllocatedMemory(this.width * this.height * this.depth * channels * channelSize, 'Texture');
|
|
60
121
|
}
|
|
61
122
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
123
|
+
this.loaded = true;
|
|
124
|
+
return this;
|
|
125
|
+
}
|
|
126
|
+
}], [{
|
|
127
|
+
key: "isSupported",
|
|
128
|
+
value: function isSupported(device) {
|
|
129
|
+
try {
|
|
130
|
+
var webglDevice = _webglDevice.default.attach(device);
|
|
131
|
+
|
|
132
|
+
return webglDevice.isWebGL2;
|
|
133
|
+
} catch (_unused) {
|
|
134
|
+
return false;
|
|
65
135
|
}
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
if (data && data.byteLength) {
|
|
69
|
-
this.trackAllocatedMemory(data.byteLength, 'Texture');
|
|
70
|
-
} else {
|
|
71
|
-
const channels = _textureFormats.DATA_FORMAT_CHANNELS[this.dataFormat] || 4;
|
|
72
|
-
const channelSize = _textureFormats.TYPE_SIZES[this.type] || 1;
|
|
73
|
-
this.trackAllocatedMemory(this.width * this.height * this.depth * channels * channelSize, 'Texture');
|
|
74
136
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
}
|
|
137
|
+
}]);
|
|
138
|
+
return Texture3D;
|
|
139
|
+
}(_texture.default, Symbol.toStringTag);
|
|
81
140
|
|
|
82
141
|
exports.default = Texture3D;
|
|
83
142
|
//# sourceMappingURL=texture-3d.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/classes/texture-3d.ts"],"names":["Texture3D","
|
|
1
|
+
{"version":3,"sources":["../../../src/classes/texture-3d.ts"],"names":["Texture3D","device","props","target","GL","TEXTURE_3D","gl2","Object","assign","depth","unpackFlipY","initialize","seal","level","dataFormat","RGBA","width","height","border","format","type","UNSIGNED_BYTE","offset","data","parameters","trackDeallocatedMemory","gl","bindTexture","handle","ArrayBuffer","isView","texImage3D","Buffer","bindBuffer","PIXEL_UNPACK_BUFFER","byteLength","trackAllocatedMemory","channels","DATA_FORMAT_CHANNELS","channelSize","TYPE_SIZES","loaded","webglDevice","WebGLDevice","attach","isWebGL2","Texture","Symbol","toStringTag"],"mappings":"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","sourcesContent":["import {Device} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport WebGLDevice from '../adapter/webgl-device';\nimport {assertWebGL2Context} from '../context/context/webgl-checks';\nimport {withParameters} from '../context/state-tracker/with-parameters';\nimport Texture, {TextureProps} from './texture';\nimport {DATA_FORMAT_CHANNELS, TYPE_SIZES} from './texture-formats';\nimport Buffer from './webgl-buffer';\n\nexport type Texture3DProps = TextureProps & {\n};\n\ntype SetImageDataOptions = {\n level?: number;\n dataFormat?: any;\n width: any;\n height: any;\n depth?: number;\n border?: number;\n format: any;\n type?: any;\n offset?: number;\n data: any;\n parameters?: {};\n};\n\n/**\n * Textures that have 3 dimensions: width, height, and depth.\n * They are accessed by 3-dimensional texture coordinates.\n */\nexport default class Texture3D extends Texture {\n static isSupported(device: Device | WebGLRenderingContext): boolean {\n try {\n const webglDevice = WebGLDevice.attach(device);\n return webglDevice.isWebGL2;\n } catch {\n return false;\n }\n }\n\n constructor(device: Device | WebGL2RenderingContext, props: Texture3DProps = {}) {\n super(device, {...props, target: GL.TEXTURE_3D});\n assertWebGL2Context(this.gl2);\n props = Object.assign({depth: 1}, props, {target: GL.TEXTURE_3D, unpackFlipY: false});\n this.initialize(props);\n Object.seal(this);\n }\n\n get [Symbol.toStringTag](): string {\n return 'Texture3D';\n }\n\n /** Image 3D copies from Typed Array or WebGLBuffer */\n setImageData({\n level = 0,\n dataFormat = GL.RGBA,\n width,\n height,\n depth = 1,\n border = 0,\n format,\n type = GL.UNSIGNED_BYTE,\n offset = 0,\n data,\n parameters = {}\n }: SetImageDataOptions) {\n this.trackDeallocatedMemory('Texture');\n\n this.gl.bindTexture(this.target, this.handle);\n\n withParameters(this.gl, parameters, () => {\n if (ArrayBuffer.isView(data)) {\n // @ts-expect-error\n this.gl.texImage3D(\n this.target,\n level,\n dataFormat,\n width,\n height,\n depth,\n border,\n format,\n type,\n data\n );\n }\n\n if (data instanceof Buffer) {\n this.gl.bindBuffer(GL.PIXEL_UNPACK_BUFFER, data.handle);\n // @ts-expect-error\n this.gl.texImage3D(\n this.target,\n level,\n dataFormat,\n width,\n height,\n depth,\n border,\n format,\n type,\n offset\n );\n }\n });\n\n if (data && data.byteLength) {\n this.trackAllocatedMemory(data.byteLength, 'Texture');\n } else {\n // NOTE(Tarek): Default to RGBA bytes\n const channels = DATA_FORMAT_CHANNELS[this.dataFormat] || 4;\n const channelSize = TYPE_SIZES[this.type] || 1;\n\n this.trackAllocatedMemory(\n this.width * this.height * this.depth * channels * channelSize,\n 'Texture'\n );\n }\n\n this.loaded = true;\n\n return this;\n }\n}\n"],"file":"texture-3d.js"}
|