@luma.gl/webgl 9.0.0-alpha.15 → 9.0.0-alpha.17
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/adapter/converters/device-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/device-parameters.js +3 -23
- package/dist/adapter/converters/device-parameters.js.map +1 -1
- package/dist/adapter/converters/renderbuffer-formats.js +1 -5
- package/dist/adapter/converters/renderbuffer-formats.js.map +1 -1
- package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/sampler-parameters.js +3 -58
- package/dist/adapter/converters/sampler-parameters.js.map +1 -1
- package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
- package/dist/adapter/converters/texture-formats.js +10 -54
- package/dist/adapter/converters/texture-formats.js.map +1 -1
- package/dist/adapter/converters/vertex-formats.js +0 -9
- package/dist/adapter/converters/vertex-formats.js.map +1 -1
- package/dist/adapter/device-helpers/device-features.js +5 -22
- package/dist/adapter/device-helpers/device-features.js.map +1 -1
- package/dist/adapter/device-helpers/device-limits.js +1 -4
- package/dist/adapter/device-helpers/device-limits.js.map +1 -1
- package/dist/adapter/device-helpers/get-device-info.js +6 -12
- package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
- package/dist/adapter/device-helpers/is-old-ie.js +2 -1
- package/dist/adapter/device-helpers/is-old-ie.js.map +1 -1
- package/dist/adapter/helpers/attribute-utils.js +0 -17
- package/dist/adapter/helpers/attribute-utils.js.map +1 -1
- package/dist/adapter/helpers/get-shader-info.d.ts +9 -0
- package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -0
- package/dist/adapter/helpers/get-shader-info.js +25 -0
- package/dist/adapter/helpers/get-shader-info.js.map +1 -0
- package/dist/adapter/helpers/get-shader-layout.js +9 -57
- package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.js +0 -7
- package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
- package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
- package/dist/adapter/helpers/set-uniform.js +0 -30
- package/dist/adapter/helpers/set-uniform.js.map +1 -1
- package/dist/adapter/helpers/uniforms.js +0 -10
- package/dist/adapter/helpers/uniforms.js.map +1 -1
- package/dist/adapter/objects/constants-to-keys.js +0 -7
- package/dist/adapter/objects/constants-to-keys.js.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.js +4 -20
- package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
- package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-resource.js +13 -60
- package/dist/adapter/objects/webgl-resource.js.map +1 -1
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-vertex-array-object.js +6 -16
- package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -1
- package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-buffer.js +13 -42
- package/dist/adapter/resources/webgl-buffer.js.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.js +2 -17
- package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
- package/dist/adapter/resources/webgl-command-encoder.js +1 -14
- package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
- package/dist/adapter/resources/webgl-external-texture.js.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.js +5 -65
- package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.d.ts +1 -1
- package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.js +1 -8
- package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.js +9 -98
- package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
- package/dist/adapter/resources/webgl-sampler.js +1 -13
- package/dist/adapter/resources/webgl-sampler.js.map +1 -1
- package/dist/adapter/resources/webgl-shader.d.ts +1 -2
- package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-shader.js +3 -17
- package/dist/adapter/resources/webgl-shader.js.map +1 -1
- package/dist/adapter/resources/webgl-texture.d.ts +1 -1
- package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-texture.js +44 -162
- package/dist/adapter/resources/webgl-texture.js.map +1 -1
- package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
- package/dist/adapter/webgl-canvas-context.js +2 -16
- package/dist/adapter/webgl-canvas-context.js.map +1 -1
- package/dist/adapter/webgl-device.d.ts +5 -0
- package/dist/adapter/webgl-device.d.ts.map +1 -1
- package/dist/adapter/webgl-device.js +40 -107
- package/dist/adapter/webgl-device.js.map +1 -1
- package/dist/classic/accessor.js +11 -35
- package/dist/classic/accessor.js.map +1 -1
- package/dist/classic/buffer.d.ts.map +1 -1
- package/dist/classic/buffer.js +20 -76
- package/dist/classic/buffer.js.map +1 -1
- package/dist/classic/typed-array-utils.d.ts.map +1 -1
- package/dist/classic/typed-array-utils.js +0 -20
- package/dist/classic/typed-array-utils.js.map +1 -1
- package/dist/context/context/create-browser-context.d.ts +1 -0
- package/dist/context/context/create-browser-context.d.ts.map +1 -1
- package/dist/context/context/create-browser-context.js +6 -14
- package/dist/context/context/create-browser-context.js.map +1 -1
- package/dist/context/context/create-headless-context.js +6 -7
- package/dist/context/context/create-headless-context.js.map +1 -1
- package/dist/context/context/webgl-checks.js +0 -3
- package/dist/context/context/webgl-checks.js.map +1 -1
- package/dist/context/debug/spector.d.ts +1 -0
- package/dist/context/debug/spector.d.ts.map +1 -1
- package/dist/context/debug/spector.js +6 -18
- package/dist/context/debug/spector.js.map +1 -1
- package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
- package/dist/context/debug/webgl-developer-tools.js +4 -22
- package/dist/context/debug/webgl-developer-tools.js.map +1 -1
- package/dist/context/parameters/unified-parameter-api.js +4 -15
- package/dist/context/parameters/unified-parameter-api.js.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.js +1 -20
- package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
- package/dist/context/polyfill/context-data.js +0 -2
- package/dist/context/polyfill/context-data.js.map +1 -1
- package/dist/context/polyfill/get-parameter-polyfill.js +1 -6
- package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
- package/dist/context/polyfill/polyfill-context.js +17 -24
- package/dist/context/polyfill/polyfill-context.js.map +1 -1
- package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-table.js +3 -26
- package/dist/context/polyfill/polyfill-table.js.map +1 -1
- package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-vertex-array-object.js +0 -70
- package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
- package/dist/context/state-tracker/deep-array-equal.js +0 -4
- package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
- package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
- package/dist/context/state-tracker/track-context-state.js +14 -48
- package/dist/context/state-tracker/track-context-state.js.map +1 -1
- package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
- package/dist/context/state-tracker/with-parameters.js +3 -9
- package/dist/context/state-tracker/with-parameters.js.map +1 -1
- package/dist/dist.dev.js +9205 -0
- package/dist/index.cjs +5948 -0
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -26
- package/dist/index.js.map +1 -1
- package/dist/types/webgl.d.ts +4 -4
- package/dist/types/webgl.d.ts.map +1 -1
- package/dist/types/webgl.js.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist.min.js +36 -0
- package/package.json +18 -9
- package/src/.DS_Store +0 -0
- package/src/adapter/.DS_Store +0 -0
- package/src/adapter/converters/device-parameters.ts +5 -2
- package/src/adapter/converters/sampler-parameters.ts +4 -2
- package/src/adapter/converters/texture-formats.ts +3 -1
- package/src/adapter/device-helpers/get-device-info.ts +8 -8
- package/src/adapter/helpers/get-shader-info.ts +37 -0
- package/src/adapter/helpers/get-shader-layout.ts +4 -4
- package/src/adapter/helpers/parse-shader-compiler-log.ts +2 -2
- package/src/adapter/helpers/set-uniform.ts +2 -0
- package/src/adapter/objects/webgl-renderbuffer.ts +1 -1
- package/src/adapter/objects/webgl-resource.ts +1 -1
- package/src/adapter/objects/webgl-vertex-array-object.ts +1 -1
- package/src/adapter/resources/webgl-buffer.ts +5 -5
- package/src/adapter/resources/webgl-command-encoder.ts +1 -1
- package/src/adapter/resources/webgl-framebuffer.ts +3 -4
- package/src/adapter/resources/webgl-render-pass.ts +1 -1
- package/src/adapter/resources/webgl-render-pipeline.ts +19 -20
- package/src/adapter/resources/webgl-shader.ts +3 -3
- package/src/adapter/resources/webgl-texture.ts +8 -9
- package/src/adapter/webgl-canvas-context.ts +2 -2
- package/src/adapter/webgl-device.ts +13 -3
- package/src/classic/accessor.ts +1 -1
- package/src/classic/buffer.ts +3 -3
- package/src/classic/typed-array-utils.ts +1 -1
- package/src/context/.DS_Store +0 -0
- package/src/context/context/create-browser-context.ts +4 -2
- package/src/context/context/create-headless-context.ts +2 -2
- package/src/context/debug/spector.ts +5 -4
- package/src/context/debug/webgl-developer-tools.ts +1 -1
- package/src/context/polyfill/polyfill-table.ts +1 -0
- package/src/context/polyfill/polyfill-vertex-array-object.ts +2 -0
- package/src/context/state-tracker/track-context-state.ts +6 -5
- package/src/context/state-tracker/with-parameters.ts +1 -1
- package/src/index.ts +1 -5
- package/src/types/webgl.ts +6 -4
- package/dist/bundle.d.ts +0 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/bundle.js +0 -5
- package/dist/bundle.js.map +0 -1
- package/dist/es5/adapter/converters/device-parameters.js +0 -174
- package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
- package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -163
- package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/es5/adapter/converters/sampler-parameters.js +0 -245
- package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/es5/adapter/converters/texture-formats.js +0 -1022
- package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
- package/dist/es5/adapter/converters/vertex-formats.js +0 -48
- package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/es5/adapter/device-helpers/device-features.js +0 -155
- package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/es5/adapter/device-helpers/device-limits.js +0 -64
- package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/es5/adapter/device-helpers/get-device-info.js +0 -59
- package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -16
- package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/es5/adapter/helpers/attribute-utils.js +0 -91
- package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/es5/adapter/helpers/get-shader-layout.js +0 -389
- package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -72
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/es5/adapter/helpers/set-uniform.js +0 -125
- package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/es5/adapter/helpers/uniforms.js +0 -112
- package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
- package/dist/es5/adapter/objects/constants-to-keys.js +0 -54
- package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -150
- package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-resource.js +0 -287
- package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -137
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-buffer.js +0 -242
- package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -96
- package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -98
- package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
- package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -347
- package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-render-pass.js +0 -62
- package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -494
- package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-sampler.js +0 -101
- package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-shader.js +0 -150
- package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-texture.js +0 -980
- package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/es5/adapter/webgl-canvas-context.js +0 -96
- package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/es5/adapter/webgl-device.js +0 -474
- package/dist/es5/adapter/webgl-device.js.map +0 -1
- package/dist/es5/bundle.js +0 -7
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/classic/accessor.js +0 -181
- package/dist/es5/classic/accessor.js.map +0 -1
- package/dist/es5/classic/buffer.js +0 -468
- package/dist/es5/classic/buffer.js.map +0 -1
- package/dist/es5/classic/typed-array-utils.js +0 -126
- package/dist/es5/classic/typed-array-utils.js.map +0 -1
- package/dist/es5/context/context/create-browser-context.js +0 -83
- package/dist/es5/context/context/create-browser-context.js.map +0 -1
- package/dist/es5/context/context/create-headless-context.js +0 -60
- package/dist/es5/context/context/create-headless-context.js.map +0 -1
- package/dist/es5/context/context/webgl-checks.js +0 -54
- package/dist/es5/context/context/webgl-checks.js.map +0 -1
- package/dist/es5/context/debug/spector.js +0 -133
- package/dist/es5/context/debug/spector.js.map +0 -1
- package/dist/es5/context/debug/webgl-developer-tools.js +0 -192
- package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/es5/context/parameters/unified-parameter-api.js +0 -101
- package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -393
- package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/es5/context/polyfill/context-data.js +0 -21
- package/dist/es5/context/polyfill/context-data.js.map +0 -1
- package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -81
- package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-context.js +0 -134
- package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-table.js +0 -167
- package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -341
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/es5/context/state-tracker/deep-array-equal.js +0 -28
- package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/es5/context/state-tracker/track-context-state.js +0 -210
- package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/es5/context/state-tracker/with-parameters.js +0 -52
- package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
- package/dist/es5/index.js +0 -276
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/init.js +0 -10
- package/dist/es5/init.js.map +0 -1
- package/dist/es5/types/webgl.js +0 -6
- package/dist/es5/types/webgl.js.map +0 -1
- package/dist/es5/types.js +0 -2
- package/dist/es5/types.js.map +0 -1
- package/dist/esm/adapter/converters/device-parameters.js +0 -157
- package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
- package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -185
- package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/esm/adapter/converters/sampler-parameters.js +0 -227
- package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/esm/adapter/converters/texture-formats.js +0 -945
- package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
- package/dist/esm/adapter/converters/vertex-formats.js +0 -38
- package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/esm/adapter/device-helpers/device-features.js +0 -112
- package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/esm/adapter/device-helpers/device-limits.js +0 -91
- package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/esm/adapter/device-helpers/get-device-info.js +0 -48
- package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -8
- package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/esm/adapter/helpers/attribute-utils.js +0 -81
- package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/esm/adapter/helpers/get-shader-layout.js +0 -328
- package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -37
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/esm/adapter/helpers/set-uniform.js +0 -115
- package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/esm/adapter/helpers/uniforms.js +0 -99
- package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
- package/dist/esm/adapter/objects/constants-to-keys.js +0 -42
- package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -94
- package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-resource.js +0 -210
- package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -84
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-buffer.js +0 -162
- package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -65
- package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -53
- package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
- package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -267
- package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-render-pass.js +0 -21
- package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -400
- package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-sampler.js +0 -54
- package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-shader.js +0 -76
- package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-texture.js +0 -832
- package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/esm/adapter/webgl-canvas-context.js +0 -55
- package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/esm/adapter/webgl-device.js +0 -346
- package/dist/esm/adapter/webgl-device.js.map +0 -1
- package/dist/esm/bundle.js +0 -5
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/classic/accessor.js +0 -144
- package/dist/esm/classic/accessor.js.map +0 -1
- package/dist/esm/classic/buffer.js +0 -383
- package/dist/esm/classic/buffer.js.map +0 -1
- package/dist/esm/classic/typed-array-utils.js +0 -112
- package/dist/esm/classic/typed-array-utils.js.map +0 -1
- package/dist/esm/context/context/create-browser-context.js +0 -61
- package/dist/esm/context/context/create-browser-context.js.map +0 -1
- package/dist/esm/context/context/create-headless-context.js +0 -43
- package/dist/esm/context/context/create-headless-context.js.map +0 -1
- package/dist/esm/context/context/webgl-checks.js +0 -34
- package/dist/esm/context/context/webgl-checks.js.map +0 -1
- package/dist/esm/context/debug/spector.js +0 -76
- package/dist/esm/context/debug/spector.js.map +0 -1
- package/dist/esm/context/debug/webgl-developer-tools.js +0 -115
- package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/esm/context/parameters/unified-parameter-api.js +0 -66
- package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -446
- package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/esm/context/polyfill/context-data.js +0 -14
- package/dist/esm/context/polyfill/context-data.js.map +0 -1
- package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -91
- package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-context.js +0 -91
- package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-table.js +0 -161
- package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -335
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/esm/context/state-tracker/deep-array-equal.js +0 -21
- package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/esm/context/state-tracker/track-context-state.js +0 -182
- package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/esm/context/state-tracker/with-parameters.js +0 -40
- package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
- package/dist/esm/index.js +0 -27
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/init.js +0 -4
- package/dist/esm/init.js.map +0 -1
- package/dist/esm/types/webgl.js +0 -2
- package/dist/esm/types/webgl.js.map +0 -1
- package/dist/esm/types.js +0 -2
- package/dist/esm/types.js.map +0 -1
- package/dist/init.d.ts +0 -2
- package/dist/init.d.ts.map +0 -1
- package/dist/init.js +0 -4
- package/dist/init.js.map +0 -1
- package/src/bundle.ts +0 -4
- package/src/init.ts +0 -4
|
@@ -37,7 +37,9 @@ const DEFAULT_CONTEXT_PROPS: ContextProps = {
|
|
|
37
37
|
webgl2: true, // Attempt to create a WebGL2 context
|
|
38
38
|
webgl1: true, // Attempt to create a WebGL1 context (false to fail if webgl2 not available)
|
|
39
39
|
powerPreference: 'high-performance', // After all, most apps are using WebGL for performance reasons
|
|
40
|
+
// eslint-disable-next-line no-console
|
|
40
41
|
onContextLost: () => console.error('WebGL context lost'),
|
|
42
|
+
// eslint-disable-next-line no-console
|
|
41
43
|
onContextRestored: () => console.info('WebGL context restored'),
|
|
42
44
|
};
|
|
43
45
|
|
|
@@ -46,8 +48,8 @@ const DEFAULT_CONTEXT_PROPS: ContextProps = {
|
|
|
46
48
|
* Note calling this multiple time on the same canvas does return the same context
|
|
47
49
|
* @param canvas A canvas element or offscreen canvas
|
|
48
50
|
*/
|
|
49
|
-
|
|
50
|
-
|
|
51
|
+
export function createBrowserContext(canvas: HTMLCanvasElement | OffscreenCanvas, props: ContextProps): WebGLRenderingContext {
|
|
52
|
+
props = {...DEFAULT_CONTEXT_PROPS, ...props};
|
|
51
53
|
|
|
52
54
|
// Try to extract any extra information about why context creation failed
|
|
53
55
|
let errorMessage = null;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
const ERR_HEADLESSGL_FAILED =
|
|
2
2
|
'Failed to create WebGL context in Node.js, headless gl returned null';
|
|
3
3
|
|
|
4
|
-
const ERR_HEADLESSGL_LOAD =
|
|
4
|
+
const ERR_HEADLESSGL_LOAD = '\
|
|
5
5
|
luma.gl: loaded under Node.js without headless gl installed, meaning that WebGL \
|
|
6
6
|
contexts can not be created. This may not be an error. For example, this is a \
|
|
7
|
-
typical configuration for isorender applications running on the server
|
|
7
|
+
typical configuration for isorender applications running on the server.';
|
|
8
8
|
|
|
9
9
|
const CONTEXT_DEFAULTS = {
|
|
10
10
|
width: 1,
|
|
@@ -23,6 +23,7 @@ let spector: any = null;
|
|
|
23
23
|
let initialized: boolean = false;
|
|
24
24
|
|
|
25
25
|
declare global {
|
|
26
|
+
// eslint-disable-next-line no-var
|
|
26
27
|
var SPECTOR: any;
|
|
27
28
|
}
|
|
28
29
|
|
|
@@ -44,7 +45,7 @@ export function initializeSpectorJS(props?: SpectorProps) {
|
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
if (!spector && globalThis.SPECTOR) {
|
|
47
|
-
log.probe(LOG_LEVEL,
|
|
48
|
+
log.probe(LOG_LEVEL, 'SPECTOR found and initialized')();
|
|
48
49
|
spector = new globalThis.SPECTOR.Spector();
|
|
49
50
|
if (globalThis.luma) {
|
|
50
51
|
globalThis.luma.spector = spector;
|
|
@@ -61,9 +62,9 @@ export function initializeSpectorJS(props?: SpectorProps) {
|
|
|
61
62
|
// enables recording some extra information merged in the capture like texture memory sizes and formats
|
|
62
63
|
spector.spyCanvases();
|
|
63
64
|
// A callback when results are ready
|
|
64
|
-
spector?.onCaptureStarted.add((capture: unknown) => log.info(
|
|
65
|
+
spector?.onCaptureStarted.add((capture: unknown) => log.info('Spector capture started:', capture)());
|
|
65
66
|
spector?.onCapture.add((capture: unknown) => {
|
|
66
|
-
log.info(
|
|
67
|
+
log.info('Spector capture complete:', capture)();
|
|
67
68
|
// Use undocumented Spector API to open the UI with our capture
|
|
68
69
|
// See https://github.com/BabylonJS/Spector.js/blob/767ad1195a25b85a85c381f400eb50a979239eca/src/spector.ts#L124
|
|
69
70
|
spector?.getResultUI()
|
|
@@ -82,7 +83,7 @@ export function initializeSpectorJS(props?: SpectorProps) {
|
|
|
82
83
|
// spector?.captureCanvas(props?.canvas);
|
|
83
84
|
spector?.startCapture(props?.canvas, 500); // 500 commands
|
|
84
85
|
new Promise(resolve => setTimeout(resolve, 2000)).then(_ => {
|
|
85
|
-
log.info(
|
|
86
|
+
log.info('Spector capture stopped after 2 seconds')();
|
|
86
87
|
spector?.stopCapture();
|
|
87
88
|
// spector?.displayUI();
|
|
88
89
|
});
|
|
@@ -25,6 +25,7 @@ function getContextData(gl: any) {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
declare global {
|
|
28
|
+
// eslint-disable-next-line no-var
|
|
28
29
|
var WebGLDebugUtils: any;
|
|
29
30
|
}
|
|
30
31
|
|
|
@@ -36,7 +37,6 @@ declare global {
|
|
|
36
37
|
*/
|
|
37
38
|
export async function loadWebGLDeveloperTools(): Promise<void> {
|
|
38
39
|
if (!globalThis.WebGLDebugUtils) {
|
|
39
|
-
// @ts-expect-error Developer tools expects global to be set
|
|
40
40
|
globalThis.global = globalThis.global || globalThis;
|
|
41
41
|
// @ts-expect-error Developer tools expects global to be set
|
|
42
42
|
globalThis.global.module = {};
|
|
@@ -5,6 +5,7 @@ import {isWebGL2} from '../context/webgl-checks';
|
|
|
5
5
|
import {getParameterPolyfill} from './get-parameter-polyfill';
|
|
6
6
|
import {getContextData} from './context-data';
|
|
7
7
|
|
|
8
|
+
/* eslint-disable camelcase */
|
|
8
9
|
const OES_vertex_array_object = 'OES_vertex_array_object';
|
|
9
10
|
const ANGLE_instanced_arrays = 'ANGLE_instanced_arrays';
|
|
10
11
|
const WEBGL_draw_buffers = 'WEBGL_draw_buffers';
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
// the global class.
|
|
26
26
|
|
|
27
27
|
// @ts-nocheck external code
|
|
28
|
+
/* eslint-disable */
|
|
28
29
|
|
|
29
30
|
const glErrorShadow = {};
|
|
30
31
|
|
|
@@ -103,6 +104,7 @@ WebGLVertexArrayObjectOES.VertexAttrib.prototype.recache = function recache() {
|
|
|
103
104
|
};
|
|
104
105
|
|
|
105
106
|
const OESVertexArrayObject = function OESVertexArrayObject(gl) {
|
|
107
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
106
108
|
const self = this;
|
|
107
109
|
this.gl = gl;
|
|
108
110
|
|
|
@@ -96,7 +96,7 @@ function getContextState(gl: WebGLRenderingContext): GLState {
|
|
|
96
96
|
* gl.state.push() and gl.state.pop() will be available for saving,
|
|
97
97
|
* temporarily modifying, and then restoring state.
|
|
98
98
|
*/
|
|
99
|
-
|
|
99
|
+
export function trackContextState(
|
|
100
100
|
gl: WebGLRenderingContext,
|
|
101
101
|
options?: {
|
|
102
102
|
enable?: boolean;
|
|
@@ -140,7 +140,7 @@ function getContextState(gl: WebGLRenderingContext): GLState {
|
|
|
140
140
|
/**
|
|
141
141
|
* Saves current WebGL context state onto an internal per-context stack
|
|
142
142
|
*/
|
|
143
|
-
|
|
143
|
+
export function pushContextState(gl: WebGLRenderingContext): void {
|
|
144
144
|
let glState = getContextState(gl);
|
|
145
145
|
if (!glState) {
|
|
146
146
|
trackContextState(gl, {copyState: false});
|
|
@@ -187,9 +187,9 @@ function installGetterOverride(gl: WebGLRenderingContext, functionName: string)
|
|
|
187
187
|
// Optionally call the original function to do a "hard" query from the WebGLRenderingContext
|
|
188
188
|
return glState.enable
|
|
189
189
|
? // Call the getter the params so that it can e.g. serve from a cache
|
|
190
|
-
|
|
190
|
+
glState.cache[pname]
|
|
191
191
|
: // Optionally call the original function to do a "hard" query from the WebGLRenderingContext
|
|
192
|
-
|
|
192
|
+
originalGetterFunc(pname);
|
|
193
193
|
};
|
|
194
194
|
|
|
195
195
|
// Set the name of this anonymous function to help in debugging and profiling
|
|
@@ -208,7 +208,7 @@ function installGetterOverride(gl: WebGLRenderingContext, functionName: string)
|
|
|
208
208
|
* @param setter
|
|
209
209
|
* @returns
|
|
210
210
|
*/
|
|
211
|
-
function installSetterSpy(gl: WebGLRenderingContext, functionName: string, setter) {
|
|
211
|
+
function installSetterSpy(gl: WebGLRenderingContext, functionName: string, setter: Function) {
|
|
212
212
|
// Get the original function from the WebGLRenderingContext
|
|
213
213
|
if (!gl[functionName]) {
|
|
214
214
|
// This could happen if we try to intercept WebGL2 method on a WebGL1 context
|
|
@@ -222,6 +222,7 @@ function installSetterSpy(gl: WebGLRenderingContext, functionName: string, sette
|
|
|
222
222
|
// Update the value
|
|
223
223
|
// Call the setter with the state cache and the params so that it can store the parameters
|
|
224
224
|
const glState = getContextState(gl);
|
|
225
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
225
226
|
const {valueChanged, oldValue} = setter(glState._updateCache, ...params);
|
|
226
227
|
|
|
227
228
|
// Call the original WebGLRenderingContext func to make sure the context actually gets updated
|
|
@@ -11,7 +11,7 @@ import {pushContextState, popContextState} from './track-context-state';
|
|
|
11
11
|
* - Restores parameters
|
|
12
12
|
* - Returns the return value of the supplied function
|
|
13
13
|
*/
|
|
14
|
-
|
|
14
|
+
export function withParameters(device: Device | WebGLRenderingContext, parameters: GLParameters & {nocatch?: boolean}, func: any): any {
|
|
15
15
|
const webglDevice = WebGLDevice.attach(device);
|
|
16
16
|
const gl = webglDevice.gl;
|
|
17
17
|
|
package/src/index.ts
CHANGED
|
@@ -4,10 +4,6 @@
|
|
|
4
4
|
// but make it easier to use.
|
|
5
5
|
// Higher level abstractions can be built on these classes
|
|
6
6
|
|
|
7
|
-
// Initialize any global state
|
|
8
|
-
import '@luma.gl/api';
|
|
9
|
-
import './init'
|
|
10
|
-
|
|
11
7
|
// Types
|
|
12
8
|
export type {WebGLLimits} from './adapter/device-helpers/device-limits';
|
|
13
9
|
|
|
@@ -30,7 +26,7 @@ export {default as WEBGLRenderPipeline} from './adapter/resources/webgl-render-p
|
|
|
30
26
|
// export {default as WEBGLComputePipeline} from './adapter/resources/webgl-compute-pipeline';
|
|
31
27
|
export {default as WEBGLCommandEncoder} from './adapter/resources/webgl-command-encoder';
|
|
32
28
|
export {default as WEBGLRenderPass} from './adapter/resources/webgl-render-pass';
|
|
33
|
-
//export {default as WEBGLComputePass} from './adapter/resources/webgl-compute-pass';
|
|
29
|
+
// export {default as WEBGLComputePass} from './adapter/resources/webgl-compute-pass';
|
|
34
30
|
|
|
35
31
|
// non-api resources
|
|
36
32
|
export type {RenderbufferProps} from './adapter/objects/webgl-renderbuffer';
|
package/src/types/webgl.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type {NumberArray} from '@luma.gl/api';
|
|
2
2
|
import GL from '@luma.gl/constants';
|
|
3
3
|
|
|
4
|
+
/* eslint-disable camelcase */
|
|
5
|
+
|
|
4
6
|
type Framebuffer = any;
|
|
5
7
|
|
|
6
8
|
export type GLDrawMode =
|
|
@@ -194,11 +196,11 @@ export type GLValueParameters = {
|
|
|
194
196
|
[GL.STENCIL_WRITEMASK]?: number;
|
|
195
197
|
[GL.STENCIL_BACK_WRITEMASK]?: number;
|
|
196
198
|
[GL.STENCIL_FUNC]?: GLFunction;
|
|
197
|
-
[GL.STENCIL_REF]?:
|
|
198
|
-
[GL.STENCIL_VALUE_MASK]?:
|
|
199
|
+
[GL.STENCIL_REF]?: number;
|
|
200
|
+
[GL.STENCIL_VALUE_MASK]?: number;
|
|
199
201
|
[GL.STENCIL_BACK_FUNC]?: GLFunction;
|
|
200
|
-
[GL.STENCIL_BACK_REF]?:
|
|
201
|
-
[GL.STENCIL_BACK_VALUE_MASK]?:
|
|
202
|
+
[GL.STENCIL_BACK_REF]?: number;
|
|
203
|
+
[GL.STENCIL_BACK_VALUE_MASK]?: number;
|
|
202
204
|
[GL.STENCIL_FAIL]?: GLStencilOp;
|
|
203
205
|
[GL.STENCIL_PASS_DEPTH_FAIL]?: GLStencilOp;
|
|
204
206
|
[GL.STENCIL_PASS_DEPTH_PASS]?: GLStencilOp;
|
package/dist/bundle.d.ts
DELETED
package/dist/bundle.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AACA,QAAA,MAAM,aAAa,KAAqB,CAAC"}
|
package/dist/bundle.js
DELETED
package/dist/bundle.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/bundle.ts"],"names":["moduleExports","require","globalThis","luma","module","exports","Object","assign"],"mappings":"AACA,MAAMA,aAAa,GAAGC,OAAO,CAAC,SAAD,CAA7B;;AACAC,UAAU,CAACC,IAAX,GAAkBD,UAAU,CAACC,IAAX,IAAmB,EAArC;AACAC,MAAM,CAACC,OAAP,GAAiBC,MAAM,CAACC,MAAP,CAAcL,UAAU,CAACC,IAAzB,EAA+BH,aAA/B,CAAjB","sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.luma = globalThis.luma || {};\nmodule.exports = Object.assign(globalThis.luma, moduleExports);\n"],"file":"bundle.js"}
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.withGLParameters = withGLParameters;
|
|
9
|
-
exports.withDeviceParameters = withDeviceParameters;
|
|
10
|
-
exports.setDeviceParameters = setDeviceParameters;
|
|
11
|
-
exports.convertCompareFunction = convertCompareFunction;
|
|
12
|
-
exports.convertToCompareFunction = convertToCompareFunction;
|
|
13
|
-
|
|
14
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
|
|
16
|
-
var _api = require("@luma.gl/api");
|
|
17
|
-
|
|
18
|
-
var _constants = _interopRequireDefault(require("@luma.gl/constants"));
|
|
19
|
-
|
|
20
|
-
var _trackContextState = require("../../context/state-tracker/track-context-state");
|
|
21
|
-
|
|
22
|
-
var _unifiedParameterApi = require("../../context/parameters/unified-parameter-api");
|
|
23
|
-
|
|
24
|
-
var _webglDevice = _interopRequireDefault(require("../webgl-device"));
|
|
25
|
-
|
|
26
|
-
function withGLParameters(device, parameters, func) {
|
|
27
|
-
if ((0, _api.isObjectEmpty)(parameters)) {
|
|
28
|
-
return func(device);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
(0, _trackContextState.pushContextState)(device.gl);
|
|
32
|
-
|
|
33
|
-
try {
|
|
34
|
-
(0, _unifiedParameterApi.setParameters)(device, parameters);
|
|
35
|
-
return func(device);
|
|
36
|
-
} finally {
|
|
37
|
-
(0, _trackContextState.popContextState)(device.gl);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function withDeviceParameters(device, parameters, func) {
|
|
42
|
-
if ((0, _api.isObjectEmpty)(parameters)) {
|
|
43
|
-
return func(device);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
(0, _trackContextState.pushContextState)(device.gl);
|
|
47
|
-
|
|
48
|
-
try {
|
|
49
|
-
setDeviceParameters(device, parameters);
|
|
50
|
-
return func(device);
|
|
51
|
-
} finally {
|
|
52
|
-
(0, _trackContextState.popContextState)(device.gl);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
function setDeviceParameters(device, parameters) {
|
|
57
|
-
var webglDevice = _webglDevice.default.attach(device);
|
|
58
|
-
|
|
59
|
-
var gl = webglDevice.gl;
|
|
60
|
-
|
|
61
|
-
if (parameters.cullMode) {
|
|
62
|
-
switch (parameters.cullMode) {
|
|
63
|
-
case 'none':
|
|
64
|
-
gl.disable(_constants.default.CULL_FACE);
|
|
65
|
-
break;
|
|
66
|
-
|
|
67
|
-
case 'front':
|
|
68
|
-
gl.enable(_constants.default.CULL_FACE);
|
|
69
|
-
gl.cullFace(_constants.default.FRONT);
|
|
70
|
-
break;
|
|
71
|
-
|
|
72
|
-
case 'back':
|
|
73
|
-
gl.enable(_constants.default.CULL_FACE);
|
|
74
|
-
gl.cullFace(_constants.default.BACK);
|
|
75
|
-
break;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
if (parameters.frontFace) {
|
|
80
|
-
gl.frontFace(map('frontFace', parameters.frontFace, {
|
|
81
|
-
ccw: _constants.default.CCW,
|
|
82
|
-
cw: _constants.default.CW
|
|
83
|
-
}));
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
if (parameters.depthBias !== undefined) {
|
|
87
|
-
gl.polygonOffset(parameters.depthBias, parameters.depthBiasSlopeScale || 0);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
if (parameters.depthWriteEnabled !== undefined) {
|
|
91
|
-
gl.depthMask(mapBoolean('depthWriteEnabled', parameters.depthWriteEnabled));
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
if (parameters.depthCompare) {
|
|
95
|
-
parameters.depthCompare !== 'always' ? gl.enable(_constants.default.DEPTH_TEST) : gl.disable(_constants.default.DEPTH_TEST);
|
|
96
|
-
gl.depthFunc(convertCompareFunction('depthCompare', parameters.depthCompare));
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
if (parameters.stencilWriteMask) {
|
|
100
|
-
var mask = parameters.stencilWriteMask;
|
|
101
|
-
gl.stencilMaskSeparate(_constants.default.FRONT, mask);
|
|
102
|
-
gl.stencilMaskSeparate(_constants.default.BACK, mask);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
if (parameters.stencilReadMask) {
|
|
106
|
-
_api.log.warn('stencilReadMask not supported under WebGL');
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
if (parameters.stencilCompare) {
|
|
110
|
-
var _mask = parameters.stencilReadMask || 0xffffffff;
|
|
111
|
-
|
|
112
|
-
var glValue = convertCompareFunction('depthCompare', parameters.stencilCompare);
|
|
113
|
-
parameters.stencilCompare !== 'always' ? gl.enable(_constants.default.STENCIL_TEST) : gl.disable(_constants.default.STENCIL_TEST);
|
|
114
|
-
gl.stencilFuncSeparate(_constants.default.FRONT, glValue, 0, _mask);
|
|
115
|
-
gl.stencilFuncSeparate(_constants.default.BACK, glValue, 0, _mask);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
if (parameters.stencilPassOperation && parameters.stencilFailOperation && parameters.stencilDepthFailOperation) {
|
|
119
|
-
var dppass = convertStencilOperation('stencilPassOperation', parameters.stencilPassOperation);
|
|
120
|
-
var sfail = convertStencilOperation('stencilFailOperation', parameters.stencilFailOperation);
|
|
121
|
-
var dpfail = convertStencilOperation('stencilDepthFailOperation', parameters.stencilDepthFailOperation);
|
|
122
|
-
gl.stencilOpSeparate(_constants.default.FRONT, sfail, dpfail, dppass);
|
|
123
|
-
gl.stencilOpSeparate(_constants.default.BACK, sfail, dpfail, dppass);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
function convertCompareFunction(parameter, value) {
|
|
128
|
-
return map(parameter, value, {
|
|
129
|
-
'never': _constants.default.NEVER,
|
|
130
|
-
'less': _constants.default.LESS,
|
|
131
|
-
'equal': _constants.default.EQUAL,
|
|
132
|
-
'less-equal': _constants.default.LEQUAL,
|
|
133
|
-
'greater': _constants.default.GREATER,
|
|
134
|
-
'not-equal': _constants.default.NOTEQUAL,
|
|
135
|
-
'greater-equal': _constants.default.GEQUAL,
|
|
136
|
-
'always': _constants.default.ALWAYS
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
function convertToCompareFunction(parameter, value) {
|
|
141
|
-
var _map;
|
|
142
|
-
|
|
143
|
-
return map(parameter, value, (_map = {}, (0, _defineProperty2.default)(_map, _constants.default.NEVER, 'never'), (0, _defineProperty2.default)(_map, _constants.default.LESS, 'less'), (0, _defineProperty2.default)(_map, _constants.default.EQUAL, 'equal'), (0, _defineProperty2.default)(_map, _constants.default.LEQUAL, 'less-equal'), (0, _defineProperty2.default)(_map, _constants.default.GREATER, 'greater'), (0, _defineProperty2.default)(_map, _constants.default.NOTEQUAL, 'not-equal'), (0, _defineProperty2.default)(_map, _constants.default.GEQUAL, 'greater-equal'), (0, _defineProperty2.default)(_map, _constants.default.ALWAYS, 'always'), _map));
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
function convertStencilOperation(parameter, value) {
|
|
147
|
-
return map(parameter, value, {
|
|
148
|
-
'keep': _constants.default.KEEP,
|
|
149
|
-
'zero': _constants.default.ZERO,
|
|
150
|
-
'replace': _constants.default.REPLACE,
|
|
151
|
-
'invert': _constants.default.INVERT,
|
|
152
|
-
'increment-clamp': _constants.default.INCR,
|
|
153
|
-
'decrement-clamp': _constants.default.DECR,
|
|
154
|
-
'increment-wrap': _constants.default.INCR_WRAP,
|
|
155
|
-
'decrement-wrap': _constants.default.DECR_WRAP
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
function message(parameter, value) {
|
|
160
|
-
return "Illegal parameter ".concat(value, " for ").concat(parameter);
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
function map(parameter, value, valueMap) {
|
|
164
|
-
if (!(value in valueMap)) {
|
|
165
|
-
throw new Error(message(parameter, value));
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
return valueMap[value];
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
function mapBoolean(parameter, value) {
|
|
172
|
-
return value;
|
|
173
|
-
}
|
|
174
|
-
//# sourceMappingURL=device-parameters.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/adapter/converters/device-parameters.ts"],"names":["withGLParameters","device","parameters","func","gl","withDeviceParameters","setDeviceParameters","webglDevice","WebGLDevice","attach","cullMode","disable","GL","CULL_FACE","enable","cullFace","FRONT","BACK","frontFace","map","ccw","CCW","cw","CW","depthBias","undefined","polygonOffset","depthBiasSlopeScale","depthWriteEnabled","depthMask","mapBoolean","depthCompare","DEPTH_TEST","depthFunc","convertCompareFunction","stencilWriteMask","mask","stencilMaskSeparate","stencilReadMask","log","warn","stencilCompare","glValue","STENCIL_TEST","stencilFuncSeparate","stencilPassOperation","stencilFailOperation","stencilDepthFailOperation","dppass","convertStencilOperation","sfail","dpfail","stencilOpSeparate","parameter","value","NEVER","LESS","EQUAL","LEQUAL","GREATER","NOTEQUAL","GEQUAL","ALWAYS","convertToCompareFunction","KEEP","ZERO","REPLACE","INVERT","INCR","DECR","INCR_WRAP","DECR_WRAP","message","valueMap","Error"],"mappings":"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","sourcesContent":["import {Device, Parameters, CompareFunction, StencilOperation, log, isObjectEmpty} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport type { GLParameters } from '../../types/webgl';\nimport {pushContextState, popContextState} from '../../context/state-tracker/track-context-state';\nimport {setParameters} from '../../context/parameters/unified-parameter-api';\nimport WebGLDevice from '../webgl-device';\n\n/**\n * Execute a function with a set of temporary WebGL parameter overrides\n * - Saves current \"global\" WebGL context settings\n * - Sets the supplies WebGL context parameters,\n * - Executes supplied function\n * - Restores parameters\n * - Returns the return value of the supplied function\n * @deprecated use withDeviceParameters instead\n */\n export function withGLParameters<T = unknown>(device: Device, parameters: GLParameters, func: (device?: Device) => T): T {\n if (isObjectEmpty(parameters)) {\n // Avoid setting state if no parameters provided. Just call and return\n return func(device);\n }\n\n // Wrap in a try-catch to ensure that parameters are restored on exceptions\n // @ts-expect-error\n pushContextState(device.gl);\n try {\n setParameters(device, parameters);\n return func(device);\n } finally {\n // @ts-expect-error\n popContextState(device.gl);\n }\n}\n\n/**\n * Execute a function with a set of temporary WebGL parameter overrides\n * - Saves current \"global\" WebGL context settings\n * - Sets the supplies WebGL context parameters,\n * - Executes supplied function\n * - Restores parameters\n * - Returns the return value of the supplied function\n */\nexport function withDeviceParameters<T = unknown>(device: Device, parameters: Parameters, func: (device?: Device) => T): T {\n if (isObjectEmpty(parameters)) {\n // Avoid setting state if no parameters provided. Just call and return\n return func(device);\n }\n\n // Wrap in a try-catch to ensure that parameters are restored on exceptions\n // @ts-expect-error\n pushContextState(device.gl);\n try {\n setDeviceParameters(device, parameters);\n return func(device);\n } finally {\n // @ts-expect-error\n popContextState(device.gl);\n }\n}\n\n\n/** Set WebGPU Style Parameters */\nexport function setDeviceParameters(device: Device, parameters: Parameters) {\n const webglDevice = WebGLDevice.attach(device);\n const {gl} = webglDevice;\n\n // RASTERIZATION SETTINGS\n if (parameters.cullMode) {\n switch (parameters.cullMode) {\n case 'none':\n gl.disable(GL.CULL_FACE);\n break;\n case 'front':\n gl.enable(GL.CULL_FACE);\n gl.cullFace(GL.FRONT);\n break;\n case 'back':\n gl.enable(GL.CULL_FACE);\n gl.cullFace(GL.BACK);\n break;\n }\n }\n\n if (parameters.frontFace) {\n gl.frontFace(map('frontFace', parameters.frontFace, {\n ccw: GL.CCW,\n cw: GL.CW\n }));\n }\n\n if (parameters.depthBias !== undefined) {\n gl.polygonOffset(parameters.depthBias, parameters.depthBiasSlopeScale || 0);\n }\n\n // depthBiasSlopeScale: {\n // // Handled by depthBias\n // },\n\n // DEPTH STENCIL\n\n if (parameters.depthWriteEnabled !== undefined) {\n gl.depthMask(mapBoolean('depthWriteEnabled', parameters.depthWriteEnabled));\n }\n\n if (parameters.depthCompare) {\n parameters.depthCompare !== 'always' ? gl.enable(GL.DEPTH_TEST) : gl.disable(GL.DEPTH_TEST);\n gl.depthFunc(convertCompareFunction('depthCompare', parameters.depthCompare));\n }\n\n if (parameters.stencilWriteMask) {\n const mask = parameters.stencilWriteMask;\n gl.stencilMaskSeparate(GL.FRONT, mask);\n gl.stencilMaskSeparate(GL.BACK, mask);\n }\n\n if (parameters.stencilReadMask) {\n // stencilReadMask is handle inside stencil***Compare.\n log.warn('stencilReadMask not supported under WebGL');\n }\n\n if (parameters.stencilCompare) {\n const mask = parameters.stencilReadMask || 0xffffffff;\n const glValue = convertCompareFunction('depthCompare', parameters.stencilCompare);\n // TODO - ensure back doesn't overwrite\n parameters.stencilCompare !== 'always' ? gl.enable(GL.STENCIL_TEST) : gl.disable(GL.STENCIL_TEST);\n gl.stencilFuncSeparate(GL.FRONT, glValue, 0, mask);\n gl.stencilFuncSeparate(GL.BACK, glValue, 0, mask);\n }\n\n if (parameters.stencilPassOperation && parameters.stencilFailOperation && parameters.stencilDepthFailOperation) {\n const dppass = convertStencilOperation('stencilPassOperation', parameters.stencilPassOperation);\n const sfail = convertStencilOperation('stencilFailOperation', parameters.stencilFailOperation);\n const dpfail = convertStencilOperation('stencilDepthFailOperation', parameters.stencilDepthFailOperation);\n gl.stencilOpSeparate(GL.FRONT, sfail, dpfail, dppass);\n gl.stencilOpSeparate(GL.BACK, sfail, dpfail, dppass);\n }\n\n // stencilDepthFailOperation() {\n // // handled by stencilPassOperation\n // },\n\n // stencilFailOperation() {\n // // handled by stencilPassOperation\n // },\n\n // COLOR STATE\n\n // if (parameters.blend) {\n // gl.enable(GL.BLEND);\n\n // const blend = parameters.blend;\n\n // let colorEquation = (blend && blend.color && blend.color.operation) || 'add';\n // let alphaEquation = (blend && blend.alpha && blend.alpha.operation) || 'add';\n // gl.blendEquationSeparate(colorEquation, alphaEquation);\n\n // let colorSrcFactor = (blend && blend.color && blend.color.srcFactor) || 'one';\n // let colorDstFactor = (blend && blend.color && blend.color.dstFactor) || 'zero';\n // let alphaSrcFactor = (blend && blend.alpha && blend.alpha.srcFactor) || 'one';\n // let alphaDstFactor = (blend && blend.alpha && blend.alpha.dstFactor) || 'zero';\n // gl.blendFuncSeparate(colorSrcFactor, colorDstFactor, alphaSrcFactor, alphaDstFactor);\n // }\n}\n\n/*\n rasterizationState: {\n cullMode: \"back\",\n },\n\n depthStencilState: {\n depthWriteEnabled: true,\n depthCompare: \"less\",\n format: \"depth24plus-stencil8\",\n },\n\n colorStates: [\n {\n format: \"bgra8unorm\",\n // colorBlend.srcFactor = wgpu::BlendFactor::SrcAlpha;\n // colorBlend.dstFactor = wgpu::BlendFactor::OneMinusSrcAlpha;\n // alphaBlend.srcFactor = wgpu::BlendFactor::SrcAlpha;\n // alphaBlend.dstFactor = wgpu::BlendFactor::OneMinusSrcAlpha;\n },\n ],\n });\n*/\n\nexport function convertCompareFunction(parameter: string, value: CompareFunction): GL {\n return map(parameter, value, {\n 'never': GL.NEVER,\n 'less': GL.LESS,\n 'equal': GL.EQUAL,\n 'less-equal': GL.LEQUAL,\n 'greater': GL.GREATER,\n 'not-equal': GL.NOTEQUAL,\n 'greater-equal': GL.GEQUAL,\n 'always': GL.ALWAYS\n });\n}\n\nexport function convertToCompareFunction(parameter: string, value: GL): CompareFunction {\n return map(parameter, value, {\n [GL.NEVER]: 'never',\n [GL.LESS]: 'less',\n [GL.EQUAL]: 'equal',\n [GL.LEQUAL]: 'less-equal',\n [GL.GREATER]: 'greater',\n [GL.NOTEQUAL]: 'not-equal',\n [GL.GEQUAL]: 'greater-equal',\n [GL.ALWAYS]: 'always'\n });\n}\n\nfunction convertStencilOperation(parameter: string, value: StencilOperation): GL {\n return map(parameter, value, {\n 'keep': GL.KEEP,\n 'zero': GL.ZERO,\n 'replace': GL.REPLACE,\n 'invert': GL.INVERT,\n 'increment-clamp': GL.INCR,\n 'decrement-clamp': GL.DECR,\n 'increment-wrap': GL.INCR_WRAP,\n 'decrement-wrap': GL.DECR_WRAP\n });\n}\n\n// function convertBlendOperationToEquation(parameter: string, value: string): number {\n// return map(parameter, value, {\n// 'add': GL.FUNC_ADD,\n// 'sub': GL.FUNC_SUBTRACT,\n// 'reverse-subtract': GL.FUNC_REVERSE_SUBTRACT,\n// // When using a WebGL 2 context, the following values are available additionally:\n// 'min': GL.MIN,\n// 'max': GL.MAX\n// });\n// }\n\nfunction message(parameter: string, value: any): string {\n return `Illegal parameter ${value} for ${parameter}`;\n}\n\nfunction map(parameter: string, value: any, valueMap: Record<string, any>): any {\n if (!(value in valueMap)) {\n throw new Error(message(parameter, value));\n }\n return valueMap[value];\n}\n\nfunction mapBoolean(parameter: string, value: boolean): boolean {\n return value;\n}\n"],"file":"device-parameters.js"}
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.isRenderbufferFormatSupported = isRenderbufferFormatSupported;
|
|
9
|
-
exports.getRenderbufferFormatBytesPerPixel = getRenderbufferFormatBytesPerPixel;
|
|
10
|
-
exports.default = void 0;
|
|
11
|
-
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
|
-
var _constants = _interopRequireDefault(require("@luma.gl/constants"));
|
|
15
|
-
|
|
16
|
-
var _webglChecks = require("../../context/context/webgl-checks");
|
|
17
|
-
|
|
18
|
-
var _RENDERBUFFER_FORMATS;
|
|
19
|
-
|
|
20
|
-
function isRenderbufferFormatSupported(gl, format) {
|
|
21
|
-
var info = RENDERBUFFER_FORMATS[format];
|
|
22
|
-
|
|
23
|
-
if (!info) {
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
if (info.ext) {
|
|
28
|
-
return Boolean(gl.getExtension(info.ext));
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
if (info.gl2) {
|
|
32
|
-
return (0, _webglChecks.isWebGL2)(gl);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return true;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
function getRenderbufferFormatBytesPerPixel(format) {
|
|
39
|
-
return RENDERBUFFER_FORMATS[format].bpp;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
var EXT_FLOAT_WEBGL2 = 'EXT_color_buffer_float';
|
|
43
|
-
var RENDERBUFFER_FORMATS = (_RENDERBUFFER_FORMATS = {}, (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.DEPTH_COMPONENT16, {
|
|
44
|
-
bpp: 2
|
|
45
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.DEPTH_COMPONENT24, {
|
|
46
|
-
gl2: true,
|
|
47
|
-
bpp: 3
|
|
48
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.DEPTH_COMPONENT32F, {
|
|
49
|
-
gl2: true,
|
|
50
|
-
bpp: 4
|
|
51
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.STENCIL_INDEX8, {
|
|
52
|
-
bpp: 1
|
|
53
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.DEPTH_STENCIL, {
|
|
54
|
-
bpp: 4
|
|
55
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.DEPTH24_STENCIL8, {
|
|
56
|
-
gl2: true,
|
|
57
|
-
bpp: 4
|
|
58
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.DEPTH32F_STENCIL8, {
|
|
59
|
-
gl2: true,
|
|
60
|
-
bpp: 5
|
|
61
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RGBA4, {
|
|
62
|
-
bpp: 2
|
|
63
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RGB565, {
|
|
64
|
-
bpp: 2
|
|
65
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RGB5_A1, {
|
|
66
|
-
bpp: 2
|
|
67
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.R8, {
|
|
68
|
-
gl2: true,
|
|
69
|
-
bpp: 1
|
|
70
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.R8UI, {
|
|
71
|
-
gl2: true,
|
|
72
|
-
bpp: 1
|
|
73
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.R8I, {
|
|
74
|
-
gl2: true,
|
|
75
|
-
bpp: 1
|
|
76
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.R16UI, {
|
|
77
|
-
gl2: true,
|
|
78
|
-
bpp: 2
|
|
79
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.R16I, {
|
|
80
|
-
gl2: true,
|
|
81
|
-
bpp: 2
|
|
82
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.R32UI, {
|
|
83
|
-
gl2: true,
|
|
84
|
-
bpp: 4
|
|
85
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.R32I, {
|
|
86
|
-
gl2: true,
|
|
87
|
-
bpp: 4
|
|
88
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RG8, {
|
|
89
|
-
gl2: true,
|
|
90
|
-
bpp: 2
|
|
91
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RG8UI, {
|
|
92
|
-
gl2: true,
|
|
93
|
-
bpp: 2
|
|
94
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RG8I, {
|
|
95
|
-
gl2: true,
|
|
96
|
-
bpp: 2
|
|
97
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RG16UI, {
|
|
98
|
-
gl2: true,
|
|
99
|
-
bpp: 4
|
|
100
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RG16I, {
|
|
101
|
-
gl2: true,
|
|
102
|
-
bpp: 4
|
|
103
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RG32UI, {
|
|
104
|
-
gl2: true,
|
|
105
|
-
bpp: 8
|
|
106
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RG32I, {
|
|
107
|
-
gl2: true,
|
|
108
|
-
bpp: 8
|
|
109
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RGB8, {
|
|
110
|
-
gl2: true,
|
|
111
|
-
bpp: 3
|
|
112
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RGBA8, {
|
|
113
|
-
gl2: true,
|
|
114
|
-
bpp: 4
|
|
115
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RGB10_A2, {
|
|
116
|
-
gl2: true,
|
|
117
|
-
bpp: 4
|
|
118
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RGBA8UI, {
|
|
119
|
-
gl2: true,
|
|
120
|
-
bpp: 4
|
|
121
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RGBA8I, {
|
|
122
|
-
gl2: true,
|
|
123
|
-
bpp: 4
|
|
124
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RGB10_A2UI, {
|
|
125
|
-
gl2: true,
|
|
126
|
-
bpp: 4
|
|
127
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RGBA16UI, {
|
|
128
|
-
gl2: true,
|
|
129
|
-
bpp: 8
|
|
130
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RGBA16I, {
|
|
131
|
-
gl2: true,
|
|
132
|
-
bpp: 8
|
|
133
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RGBA32I, {
|
|
134
|
-
gl2: true,
|
|
135
|
-
bpp: 16
|
|
136
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RGBA32UI, {
|
|
137
|
-
gl2: true,
|
|
138
|
-
bpp: 16
|
|
139
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.R16F, {
|
|
140
|
-
ext: EXT_FLOAT_WEBGL2,
|
|
141
|
-
bpp: 2
|
|
142
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RG16F, {
|
|
143
|
-
ext: EXT_FLOAT_WEBGL2,
|
|
144
|
-
bpp: 4
|
|
145
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RGBA16F, {
|
|
146
|
-
ext: EXT_FLOAT_WEBGL2,
|
|
147
|
-
bpp: 8
|
|
148
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.R32F, {
|
|
149
|
-
ext: EXT_FLOAT_WEBGL2,
|
|
150
|
-
bpp: 4
|
|
151
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RG32F, {
|
|
152
|
-
ext: EXT_FLOAT_WEBGL2,
|
|
153
|
-
bpp: 8
|
|
154
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.RGBA32F, {
|
|
155
|
-
ext: EXT_FLOAT_WEBGL2,
|
|
156
|
-
bpp: 16
|
|
157
|
-
}), (0, _defineProperty2.default)(_RENDERBUFFER_FORMATS, _constants.default.R11F_G11F_B10F, {
|
|
158
|
-
ext: EXT_FLOAT_WEBGL2,
|
|
159
|
-
bpp: 4
|
|
160
|
-
}), _RENDERBUFFER_FORMATS);
|
|
161
|
-
var _default = RENDERBUFFER_FORMATS;
|
|
162
|
-
exports.default = _default;
|
|
163
|
-
//# sourceMappingURL=renderbuffer-formats.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/adapter/converters/renderbuffer-formats.ts"],"names":["isRenderbufferFormatSupported","gl","format","info","RENDERBUFFER_FORMATS","ext","Boolean","getExtension","gl2","getRenderbufferFormatBytesPerPixel","bpp","EXT_FLOAT_WEBGL2","GL","DEPTH_COMPONENT16","DEPTH_COMPONENT24","DEPTH_COMPONENT32F","STENCIL_INDEX8","DEPTH_STENCIL","DEPTH24_STENCIL8","DEPTH32F_STENCIL8","RGBA4","RGB565","RGB5_A1","R8","R8UI","R8I","R16UI","R16I","R32UI","R32I","RG8","RG8UI","RG8I","RG16UI","RG16I","RG32UI","RG32I","RGB8","RGBA8","RGB10_A2","RGBA8UI","RGBA8I","RGB10_A2UI","RGBA16UI","RGBA16I","RGBA32I","RGBA32UI","R16F","RG16F","RGBA16F","R32F","RG32F","RGBA32F","R11F_G11F_B10F"],"mappings":"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","sourcesContent":["import GL from '@luma.gl/constants';\nimport {isWebGL2} from '../../context/context/webgl-checks';\n\nexport function isRenderbufferFormatSupported(gl: WebGLRenderingContext, format: GL): boolean {\n const info = RENDERBUFFER_FORMATS[format];\n // Unknown format\n if (!info) {\n return false;\n }\n if (info.ext) {\n return Boolean(gl.getExtension(info.ext));\n }\n if (info.gl2) {\n return isWebGL2(gl);\n }\n return true;\n}\n\nexport function getRenderbufferFormatBytesPerPixel(format: GL): number {\n return RENDERBUFFER_FORMATS[format].bpp;\n}\n\n// Define local extension strings to optimize minification\nconst EXT_FLOAT_WEBGL2 = 'EXT_color_buffer_float';\n\n/**\n * @param bpp \"bytes per pixel\", used for memory usage calculations.\n * @param gl2 requires WebGL2\n * @param ext requires extension\n */\ntype RenderbufferFormat = {\n bpp: number;\n gl2?: boolean;\n ext?: string;\n};\n\nconst RENDERBUFFER_FORMATS: Record<string, RenderbufferFormat> = {\n [GL.DEPTH_COMPONENT16]: {bpp: 2}, // 16 depth bits.\n [GL.DEPTH_COMPONENT24]: {gl2: true, bpp: 3},\n [GL.DEPTH_COMPONENT32F]: {gl2: true, bpp: 4},\n\n [GL.STENCIL_INDEX8]: {bpp: 1}, // 8 stencil bits.\n\n [GL.DEPTH_STENCIL]: {bpp: 4},\n [GL.DEPTH24_STENCIL8]: {gl2: true, bpp: 4},\n [GL.DEPTH32F_STENCIL8]: {gl2: true, bpp: 5},\n\n // When using a WebGL 1 context, color renderbuffer formats are limited\n [GL.RGBA4]: {bpp: 2},\n [GL.RGB565]: {bpp: 2},\n [GL.RGB5_A1]: {bpp: 2},\n\n // When using a WebGL 2 context, the following values are available additionally:\n [GL.R8]: {gl2: true, bpp: 1},\n [GL.R8UI]: {gl2: true, bpp: 1},\n [GL.R8I]: {gl2: true, bpp: 1},\n [GL.R16UI]: {gl2: true, bpp: 2},\n [GL.R16I]: {gl2: true, bpp: 2},\n [GL.R32UI]: {gl2: true, bpp: 4},\n [GL.R32I]: {gl2: true, bpp: 4},\n [GL.RG8]: {gl2: true, bpp: 2},\n [GL.RG8UI]: {gl2: true, bpp: 2},\n [GL.RG8I]: {gl2: true, bpp: 2},\n [GL.RG16UI]: {gl2: true, bpp: 4},\n [GL.RG16I]: {gl2: true, bpp: 4},\n [GL.RG32UI]: {gl2: true, bpp: 8},\n [GL.RG32I]: {gl2: true, bpp: 8},\n [GL.RGB8]: {gl2: true, bpp: 3},\n [GL.RGBA8]: {gl2: true, bpp: 4},\n // [GL.SRGB8_ALPHA8]: {gl2: true, gl1: SRGB}, // When using the EXT_sRGB WebGL1 extension\n [GL.RGB10_A2]: {gl2: true, bpp: 4},\n [GL.RGBA8UI]: {gl2: true, bpp: 4},\n [GL.RGBA8I]: {gl2: true, bpp: 4},\n [GL.RGB10_A2UI]: {gl2: true, bpp: 4},\n [GL.RGBA16UI]: {gl2: true, bpp: 8},\n [GL.RGBA16I]: {gl2: true, bpp: 8},\n [GL.RGBA32I]: {gl2: true, bpp: 16},\n [GL.RGBA32UI]: {gl2: true, bpp: 16},\n\n // When using a WebGL 2 context and the EXT_color_buffer_float WebGL2 extension\n [GL.R16F]: {ext: EXT_FLOAT_WEBGL2, bpp: 2},\n [GL.RG16F]: {ext: EXT_FLOAT_WEBGL2, bpp: 4},\n [GL.RGBA16F]: {ext: EXT_FLOAT_WEBGL2, bpp: 8},\n [GL.R32F]: {ext: EXT_FLOAT_WEBGL2, bpp: 4},\n [GL.RG32F]: {ext: EXT_FLOAT_WEBGL2, bpp: 8},\n // TODO - can't get WEBGL_color_buffer_float to work on renderbuffers\n [GL.RGBA32F]: {ext: EXT_FLOAT_WEBGL2, bpp: 16},\n // [GL.RGBA32F]: {ext: EXT_FLOAT_WEBGL2, gl1: EXT_FLOAT_WEBGL1},\n [GL.R11F_G11F_B10F]: {ext: EXT_FLOAT_WEBGL2, bpp: 4}\n};\n\nexport default RENDERBUFFER_FORMATS;\n"],"file":"renderbuffer-formats.js"}
|