@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
|
@@ -1,75 +1,57 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
2
|
import { Framebuffer, Texture, log, assert } from '@luma.gl/api';
|
|
3
3
|
import GL from '@luma.gl/constants';
|
|
4
|
-
import WebGLTexture from
|
|
5
|
-
import Renderbuffer from
|
|
6
|
-
import { getWebGLTextureFormat, getWebGLDepthStencilAttachment } from
|
|
4
|
+
import WebGLTexture from "./webgl-texture.js";
|
|
5
|
+
import Renderbuffer from "../objects/webgl-renderbuffer.js";
|
|
6
|
+
import { getWebGLTextureFormat, getWebGLDepthStencilAttachment } from "../converters/texture-formats.js";
|
|
7
7
|
export default class WEBGLFramebuffer extends Framebuffer {
|
|
8
8
|
get texture() {
|
|
9
9
|
return this.colorAttachments[0];
|
|
10
10
|
}
|
|
11
|
-
|
|
12
11
|
constructor(device, props) {
|
|
13
12
|
super(device, props);
|
|
14
|
-
|
|
15
13
|
_defineProperty(this, "device", void 0);
|
|
16
|
-
|
|
17
14
|
_defineProperty(this, "gl", void 0);
|
|
18
|
-
|
|
19
15
|
_defineProperty(this, "handle", void 0);
|
|
20
|
-
|
|
21
16
|
_defineProperty(this, "colorAttachments", []);
|
|
22
|
-
|
|
23
17
|
_defineProperty(this, "depthStencilAttachment", null);
|
|
24
|
-
|
|
25
18
|
_defineProperty(this, "_ownResources", []);
|
|
26
|
-
|
|
27
19
|
this.device = device;
|
|
28
20
|
this.gl = device.gl;
|
|
29
21
|
this.handle = this.props.handle !== undefined ? this.props.handle : this.gl.createFramebuffer();
|
|
30
|
-
|
|
31
22
|
if (this.handle) {
|
|
32
|
-
this.handle
|
|
23
|
+
device.setSpectorMetadata(this.handle, {
|
|
33
24
|
id: this.props.id,
|
|
34
25
|
props: this.props
|
|
35
|
-
};
|
|
26
|
+
});
|
|
36
27
|
}
|
|
37
|
-
|
|
38
28
|
this.colorAttachments = this._createColorAttachments();
|
|
39
29
|
this.depthStencilAttachment = this._createDepthStencilAttachment();
|
|
40
30
|
const prevHandle = this.gl.bindFramebuffer(GL.FRAMEBUFFER, this.handle);
|
|
41
|
-
|
|
42
31
|
for (let i = 0; i < this.colorAttachments.length; ++i) {
|
|
43
32
|
const attachment = this.colorAttachments[i];
|
|
44
33
|
const attachmentPoint = GL.COLOR_ATTACHMENT0 + i;
|
|
45
|
-
|
|
46
34
|
if (attachment) {
|
|
47
35
|
this._attachOne(attachmentPoint, attachment);
|
|
48
36
|
}
|
|
49
37
|
}
|
|
50
|
-
|
|
51
38
|
if (this.props.depthStencilAttachment) {
|
|
52
39
|
this._attachOne(getWebGLDepthStencilAttachment(this.depthStencilAttachment.format), this.depthStencilAttachment);
|
|
53
40
|
}
|
|
54
|
-
|
|
55
41
|
this.gl.bindFramebuffer(GL.FRAMEBUFFER, prevHandle || null);
|
|
56
|
-
|
|
57
42
|
if (props.check !== false) {
|
|
58
43
|
this._checkStatus();
|
|
59
44
|
}
|
|
60
45
|
}
|
|
61
|
-
|
|
62
46
|
destroy() {
|
|
63
47
|
if (this.handle !== null) {
|
|
64
48
|
for (const resource of this._ownResources) {
|
|
65
49
|
resource.destroy();
|
|
66
50
|
}
|
|
67
|
-
|
|
68
51
|
this.gl.deleteFramebuffer(this.handle);
|
|
69
52
|
this.destroyed = true;
|
|
70
53
|
}
|
|
71
54
|
}
|
|
72
|
-
|
|
73
55
|
_checkStatus() {
|
|
74
56
|
const {
|
|
75
57
|
gl
|
|
@@ -77,26 +59,21 @@ export default class WEBGLFramebuffer extends Framebuffer {
|
|
|
77
59
|
const prevHandle = gl.bindFramebuffer(GL.FRAMEBUFFER, this.handle);
|
|
78
60
|
const status = gl.checkFramebufferStatus(GL.FRAMEBUFFER);
|
|
79
61
|
gl.bindFramebuffer(GL.FRAMEBUFFER, prevHandle || null);
|
|
80
|
-
|
|
81
62
|
if (status !== gl.FRAMEBUFFER_COMPLETE) {
|
|
82
63
|
throw new Error("Framebuffer ".concat(_getFrameBufferStatus(status)));
|
|
83
64
|
}
|
|
84
65
|
}
|
|
85
|
-
|
|
86
66
|
_createColorAttachments() {
|
|
87
67
|
return this.props.colorAttachments.map(colorAttachment => {
|
|
88
68
|
if (!colorAttachment) {
|
|
89
69
|
return undefined;
|
|
90
70
|
}
|
|
91
|
-
|
|
92
71
|
if (colorAttachment instanceof WebGLTexture) {
|
|
93
72
|
return colorAttachment;
|
|
94
73
|
}
|
|
95
|
-
|
|
96
74
|
return this._createColorAttachment(colorAttachment, this.width, this.height);
|
|
97
75
|
});
|
|
98
76
|
}
|
|
99
|
-
|
|
100
77
|
_createColorAttachment(format, width, height) {
|
|
101
78
|
const texture = this.device._createTexture({
|
|
102
79
|
id: "".concat(this.id, "-color"),
|
|
@@ -112,25 +89,19 @@ export default class WEBGLFramebuffer extends Framebuffer {
|
|
|
112
89
|
addressModeV: 'clamp-to-edge'
|
|
113
90
|
}
|
|
114
91
|
});
|
|
115
|
-
|
|
116
92
|
this._ownResources.push(texture);
|
|
117
|
-
|
|
118
93
|
return texture;
|
|
119
94
|
}
|
|
120
|
-
|
|
121
95
|
_createDepthStencilAttachment() {
|
|
122
96
|
if (!this.props.depthStencilAttachment) {
|
|
123
97
|
return undefined;
|
|
124
98
|
}
|
|
125
|
-
|
|
126
99
|
if (this.props.depthStencilAttachment instanceof Renderbuffer) {
|
|
127
100
|
return this.props.depthStencilAttachment;
|
|
128
101
|
}
|
|
129
|
-
|
|
130
102
|
if (this.props.depthStencilAttachment instanceof Texture) {
|
|
131
103
|
return this.props.depthStencilAttachment;
|
|
132
104
|
}
|
|
133
|
-
|
|
134
105
|
const format = this.props.depthStencilAttachment;
|
|
135
106
|
const webglFormat = getWebGLTextureFormat(this.gl, format);
|
|
136
107
|
const texture = new Renderbuffer(this.device, {
|
|
@@ -139,127 +110,96 @@ export default class WEBGLFramebuffer extends Framebuffer {
|
|
|
139
110
|
width: this.width,
|
|
140
111
|
height: this.height
|
|
141
112
|
});
|
|
142
|
-
|
|
143
113
|
this._ownResources.push(texture);
|
|
144
|
-
|
|
145
114
|
return texture;
|
|
146
115
|
}
|
|
147
|
-
|
|
148
116
|
_resizeAttachments(width, height) {
|
|
149
117
|
var _this$depthStencilAtt;
|
|
150
|
-
|
|
151
118
|
if (this.handle === null) {
|
|
152
119
|
this.width = this.gl.drawingBufferWidth;
|
|
153
120
|
this.height = this.gl.drawingBufferHeight;
|
|
154
121
|
return this;
|
|
155
122
|
}
|
|
156
|
-
|
|
157
123
|
if (width === undefined) {
|
|
158
124
|
width = this.gl.drawingBufferWidth;
|
|
159
125
|
}
|
|
160
|
-
|
|
161
126
|
if (height === undefined) {
|
|
162
127
|
height = this.gl.drawingBufferHeight;
|
|
163
128
|
}
|
|
164
|
-
|
|
165
129
|
if (width !== this.width && height !== this.height) {
|
|
166
130
|
log.log(2, "Resizing framebuffer ".concat(this.id, " to ").concat(width, "x").concat(height))();
|
|
167
131
|
}
|
|
168
|
-
|
|
169
132
|
for (const colorAttachment of this.colorAttachments) {
|
|
170
133
|
colorAttachment.resize({
|
|
171
134
|
width,
|
|
172
135
|
height
|
|
173
136
|
});
|
|
174
137
|
}
|
|
175
|
-
|
|
176
138
|
(_this$depthStencilAtt = this.depthStencilAttachment) === null || _this$depthStencilAtt === void 0 ? void 0 : _this$depthStencilAtt.resize({
|
|
177
139
|
width,
|
|
178
140
|
height
|
|
179
141
|
});
|
|
180
142
|
return this;
|
|
181
143
|
}
|
|
182
|
-
|
|
183
144
|
_attachOne(attachmentPoint, attachment) {
|
|
184
145
|
if (attachment instanceof Renderbuffer) {
|
|
185
146
|
this._attachRenderbuffer(attachmentPoint, attachment);
|
|
186
|
-
|
|
187
147
|
return attachment;
|
|
188
148
|
} else if (Array.isArray(attachment)) {
|
|
189
149
|
const [texture, layer = 0, level = 0] = attachment;
|
|
190
|
-
|
|
191
150
|
this._attachTexture(attachmentPoint, texture, layer, level);
|
|
192
|
-
|
|
193
151
|
return texture;
|
|
194
152
|
} else if (attachment instanceof WebGLTexture) {
|
|
195
153
|
this._attachTexture(attachmentPoint, attachment, 0, 0);
|
|
196
|
-
|
|
197
154
|
return attachment;
|
|
198
155
|
}
|
|
199
|
-
|
|
200
156
|
throw new Error('attach');
|
|
201
157
|
}
|
|
202
|
-
|
|
203
158
|
_attachRenderbuffer(attachment, renderbuffer) {
|
|
204
159
|
this.gl.framebufferRenderbuffer(GL.FRAMEBUFFER, attachment, GL.RENDERBUFFER, renderbuffer.handle);
|
|
205
160
|
}
|
|
206
|
-
|
|
207
161
|
_attachTexture(attachment, texture, layer, level) {
|
|
208
162
|
const {
|
|
209
163
|
gl,
|
|
210
164
|
gl2
|
|
211
165
|
} = this.device;
|
|
212
166
|
gl.bindTexture(texture.target, texture.handle);
|
|
213
|
-
|
|
214
167
|
switch (texture.target) {
|
|
215
168
|
case GL.TEXTURE_2D_ARRAY:
|
|
216
169
|
case GL.TEXTURE_3D:
|
|
217
170
|
this.device.assertWebGL2();
|
|
218
171
|
gl2 === null || gl2 === void 0 ? void 0 : gl2.framebufferTextureLayer(GL.FRAMEBUFFER, attachment, texture.target, level, layer);
|
|
219
172
|
break;
|
|
220
|
-
|
|
221
173
|
case GL.TEXTURE_CUBE_MAP:
|
|
222
174
|
const face = mapIndexToCubeMapFace(layer);
|
|
223
175
|
gl.framebufferTexture2D(GL.FRAMEBUFFER, attachment, face, texture.handle, level);
|
|
224
176
|
break;
|
|
225
|
-
|
|
226
177
|
case GL.TEXTURE_2D:
|
|
227
178
|
gl.framebufferTexture2D(GL.FRAMEBUFFER, attachment, GL.TEXTURE_2D, texture.handle, level);
|
|
228
179
|
break;
|
|
229
|
-
|
|
230
180
|
default:
|
|
231
181
|
assert(false, 'Illegal texture type');
|
|
232
182
|
}
|
|
233
|
-
|
|
234
183
|
gl.bindTexture(texture.target, null);
|
|
235
184
|
}
|
|
236
|
-
|
|
237
185
|
}
|
|
238
|
-
|
|
239
186
|
function mapIndexToCubeMapFace(layer) {
|
|
240
187
|
return layer < GL.TEXTURE_CUBE_MAP_POSITIVE_X ? layer + GL.TEXTURE_CUBE_MAP_POSITIVE_X : layer;
|
|
241
188
|
}
|
|
242
|
-
|
|
243
189
|
function _getFrameBufferStatus(status) {
|
|
244
190
|
switch (status) {
|
|
245
191
|
case GL.FRAMEBUFFER_COMPLETE:
|
|
246
192
|
return 'success';
|
|
247
|
-
|
|
248
193
|
case GL.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:
|
|
249
194
|
return 'Mismatched attachments';
|
|
250
|
-
|
|
251
195
|
case GL.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:
|
|
252
196
|
return 'No attachments';
|
|
253
|
-
|
|
254
197
|
case GL.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:
|
|
255
198
|
return 'Height/width mismatch';
|
|
256
|
-
|
|
257
199
|
case GL.FRAMEBUFFER_UNSUPPORTED:
|
|
258
200
|
return 'Unsupported or split attachments';
|
|
259
|
-
|
|
260
201
|
case GL.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:
|
|
261
202
|
return 'Samples mismatch';
|
|
262
|
-
|
|
263
203
|
default:
|
|
264
204
|
return "".concat(status);
|
|
265
205
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/adapter/resources/webgl-framebuffer.ts"],"names":["Framebuffer","Texture","log","assert","GL","WebGLTexture","Renderbuffer","getWebGLTextureFormat","getWebGLDepthStencilAttachment","WEBGLFramebuffer","texture","colorAttachments","constructor","device","props","gl","handle","undefined","createFramebuffer","__SPECTOR_Metadata","id","_createColorAttachments","depthStencilAttachment","_createDepthStencilAttachment","prevHandle","bindFramebuffer","FRAMEBUFFER","i","length","attachment","attachmentPoint","COLOR_ATTACHMENT0","_attachOne","format","check","_checkStatus","destroy","resource","_ownResources","deleteFramebuffer","destroyed","status","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","Error","_getFrameBufferStatus","map","colorAttachment","_createColorAttachment","width","height","_createTexture","data","mipmaps","sampler","minFilter","magFilter","addressModeU","addressModeV","push","webglFormat","_resizeAttachments","drawingBufferWidth","drawingBufferHeight","resize","_attachRenderbuffer","Array","isArray","layer","level","_attachTexture","renderbuffer","framebufferRenderbuffer","RENDERBUFFER","gl2","bindTexture","target","TEXTURE_2D_ARRAY","TEXTURE_3D","assertWebGL2","framebufferTextureLayer","TEXTURE_CUBE_MAP","face","mapIndexToCubeMapFace","framebufferTexture2D","TEXTURE_2D","TEXTURE_CUBE_MAP_POSITIVE_X","FRAMEBUFFER_INCOMPLETE_ATTACHMENT","FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT","FRAMEBUFFER_INCOMPLETE_DIMENSIONS","FRAMEBUFFER_UNSUPPORTED","FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"],"mappings":";AAGA,SAAQA,WAAR,EAAqBC,OAArB,EAA8BC,GAA9B,EAAmCC,MAAnC,QAAgD,cAAhD;AACA,OAAOC,EAAP,MAAe,oBAAf;AAEA,OAAOC,YAAP,MAAyB,iBAAzB;AACA,OAAOC,YAAP,MAAyB,+BAAzB;AACA,SAAQC,qBAAR,EAA+BC,8BAA/B,QAAoE,+BAApE;AAMA,eAAe,MAAMC,gBAAN,SAA+BT,WAA/B,CAA2C;AAK7C,MAAPU,OAAO,GAAG;AAAE,WAAO,KAAKC,gBAAL,CAAsB,CAAtB,CAAP;AAAkC;;AAKlDC,EAAAA,WAAW,CAACC,MAAD,EAAsBC,KAAtB,EAA+C;AACxD,UAAMD,MAAN,EAAcC,KAAd;;AADwD;;AAAA;;AAAA;;AAAA,8CAJd,EAIc;;AAAA,oDAHH,IAGG;;AAAA,2CAFC,EAED;;AAExD,SAAKD,MAAL,GAAcA,MAAd;AACA,SAAKE,EAAL,GAAUF,MAAM,CAACE,EAAjB;AACA,SAAKC,MAAL,GAAc,KAAKF,KAAL,CAAWE,MAAX,KAAsBC,SAAtB,GAAkC,KAAKH,KAAL,CAAWE,MAA7C,GAAsD,KAAKD,EAAL,CAAQG,iBAAR,EAApE;;AAEA,QAAI,KAAKF,MAAT,EAAiB;AAEf,WAAKA,MAAL,CAAYG,kBAAZ,GAAiC;AAACC,QAAAA,EAAE,EAAE,KAAKN,KAAL,CAAWM,EAAhB;AAAoBN,QAAAA,KAAK,EAAE,KAAKA;AAAhC,OAAjC;AACD;;AAED,SAAKH,gBAAL,GAAwB,KAAKU,uBAAL,EAAxB;AAEA,SAAKC,sBAAL,GAA8B,KAAKC,6BAAL,EAA9B;AAGA,UAAMC,UAAU,GAAG,KAAKT,EAAL,CAAQU,eAAR,CAAwBrB,EAAE,CAACsB,WAA3B,EAAwC,KAAKV,MAA7C,CAAnB;;AAGA,SAAK,IAAIW,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKhB,gBAAL,CAAsBiB,MAA1C,EAAkD,EAAED,CAApD,EAAuD;AACrD,YAAME,UAAU,GAAG,KAAKlB,gBAAL,CAAsBgB,CAAtB,CAAnB;AACA,YAAMG,eAAe,GAAG1B,EAAE,CAAC2B,iBAAH,GAAuBJ,CAA/C;;AACA,UAAIE,UAAJ,EAAgB;AACd,aAAKG,UAAL,CAAgBF,eAAhB,EAAiCD,UAAjC;AACD;AACF;;AAED,QAAI,KAAKf,KAAL,CAAWQ,sBAAf,EAAuC;AACrC,WAAKU,UAAL,CAAgBxB,8BAA8B,CAAC,KAAKc,sBAAL,CAA4BW,MAA7B,CAA9C,EAAoF,KAAKX,sBAAzF;AACD;;AAGD,SAAKP,EAAL,CAAQU,eAAR,CAAwBrB,EAAE,CAACsB,WAA3B,EAAwCF,UAAU,IAAI,IAAtD;;AAGA,QAAIV,KAAK,CAACoB,KAAN,KAAgB,KAApB,EAA2B;AACzB,WAAKC,YAAL;AACD;AACF;;AAEQC,EAAAA,OAAO,GAAS;AACvB,QAAI,KAAKpB,MAAL,KAAgB,IAApB,EAA0B;AACxB,WAAK,MAAMqB,QAAX,IAAuB,KAAKC,aAA5B,EAA2C;AACzCD,QAAAA,QAAQ,CAACD,OAAT;AACD;;AACD,WAAKrB,EAAL,CAAQwB,iBAAR,CAA0B,KAAKvB,MAA/B;AAEA,WAAKwB,SAAL,GAAiB,IAAjB;AACD;AACF;;AAKSL,EAAAA,YAAY,GAAS;AAC7B,UAAM;AAACpB,MAAAA;AAAD,QAAO,IAAb;AACA,UAAMS,UAAU,GAAGT,EAAE,CAACU,eAAH,CAAmBrB,EAAE,CAACsB,WAAtB,EAAmC,KAAKV,MAAxC,CAAnB;AACA,UAAMyB,MAAM,GAAG1B,EAAE,CAAC2B,sBAAH,CAA0BtC,EAAE,CAACsB,WAA7B,CAAf;AAEAX,IAAAA,EAAE,CAACU,eAAH,CAAmBrB,EAAE,CAACsB,WAAtB,EAAmCF,UAAU,IAAI,IAAjD;;AACA,QAAIiB,MAAM,KAAK1B,EAAE,CAAC4B,oBAAlB,EAAwC;AACtC,YAAM,IAAIC,KAAJ,uBAAyBC,qBAAqB,CAACJ,MAAD,CAA9C,EAAN;AACD;AACF;;AAEDpB,EAAAA,uBAAuB,GAAmB;AACxC,WAAO,KAAKP,KAAL,CAAWH,gBAAX,CAA4BmC,GAA5B,CAAgCC,eAAe,IAAI;AACxD,UAAI,CAACA,eAAL,EAAsB;AACpB,eAAO9B,SAAP;AACD;;AACD,UAAI8B,eAAe,YAAY1C,YAA/B,EAA6C;AAC3C,eAAO0C,eAAP;AACD;;AAKD,aAAO,KAAKC,sBAAL,CAA4BD,eAA5B,EAA6C,KAAKE,KAAlD,EAAyD,KAAKC,MAA9D,CAAP;AACD,KAZM,CAAP;AAaD;;AAGSF,EAAAA,sBAAsB,CAACf,MAAD,EAA6BgB,KAA7B,EAA4CC,MAA5C,EAA0E;AACxG,UAAMxC,OAAO,GAAG,KAAKG,MAAL,CAAYsC,cAAZ,CAA2B;AACzC/B,MAAAA,EAAE,YAAK,KAAKA,EAAV,WADuC;AAEzCgC,MAAAA,IAAI,EAAE,IAFmC;AAGzCnB,MAAAA,MAHyC;AAKzCgB,MAAAA,KALyC;AAMzCC,MAAAA,MANyC;AAUzCG,MAAAA,OAAO,EAAE,KAVgC;AAczCC,MAAAA,OAAO,EAAE;AACPC,QAAAA,SAAS,EAAE,QADJ;AAEPC,QAAAA,SAAS,EAAE,QAFJ;AAGPC,QAAAA,YAAY,EAAE,eAHP;AAIPC,QAAAA,YAAY,EAAE;AAJP;AAdgC,KAA3B,CAAhB;;AA2BA,SAAKpB,aAAL,CAAmBqB,IAAnB,CAAwBjD,OAAxB;;AACA,WAAOA,OAAP;AACD;;AAGSa,EAAAA,6BAA6B,GAAgC;AACrE,QAAI,CAAC,KAAKT,KAAL,CAAWQ,sBAAhB,EAAwC;AACtC,aAAOL,SAAP;AACD;;AACD,QAAI,KAAKH,KAAL,CAAWQ,sBAAX,YAA6ChB,YAAjD,EAA+D;AAC7D,aAAO,KAAKQ,KAAL,CAAWQ,sBAAlB;AACD;;AACD,QAAI,KAAKR,KAAL,CAAWQ,sBAAX,YAA6CrB,OAAjD,EAA0D;AACxD,aAAO,KAAKa,KAAL,CAAWQ,sBAAlB;AACD;;AACD,UAAMW,MAAM,GAAG,KAAKnB,KAAL,CAAWQ,sBAA1B;AACA,UAAMsC,WAAW,GAAGrD,qBAAqB,CAAC,KAAKQ,EAAN,EAAUkB,MAAV,CAAzC;AAEA,UAAMvB,OAAO,GAAG,IAAIJ,YAAJ,CAAiB,KAAKO,MAAtB,EAA8B;AAC5CO,MAAAA,EAAE,YAAK,KAAKA,EAAV,mBAD0C;AAE5Ca,MAAAA,MAAM,EAAE2B,WAFoC;AAK5CX,MAAAA,KAAK,EAAE,KAAKA,KALgC;AAM5CC,MAAAA,MAAM,EAAE,KAAKA;AAN+B,KAA9B,CAAhB;;AAQA,SAAKZ,aAAL,CAAmBqB,IAAnB,CAAwBjD,OAAxB;;AACA,WAAOA,OAAP;AACD;;AAGSmD,EAAAA,kBAAkB,CAACZ,KAAD,EAAgBC,MAAhB,EAAsC;AAAA;;AAEhE,QAAI,KAAKlC,MAAL,KAAgB,IAApB,EAA0B;AAExB,WAAKiC,KAAL,GAAa,KAAKlC,EAAL,CAAQ+C,kBAArB;AACA,WAAKZ,MAAL,GAAc,KAAKnC,EAAL,CAAQgD,mBAAtB;AACA,aAAO,IAAP;AACD;;AACD,QAAId,KAAK,KAAKhC,SAAd,EAAyB;AACvBgC,MAAAA,KAAK,GAAG,KAAKlC,EAAL,CAAQ+C,kBAAhB;AACD;;AACD,QAAIZ,MAAM,KAAKjC,SAAf,EAA0B;AACxBiC,MAAAA,MAAM,GAAG,KAAKnC,EAAL,CAAQgD,mBAAjB;AACD;;AAED,QAAId,KAAK,KAAK,KAAKA,KAAf,IAAwBC,MAAM,KAAK,KAAKA,MAA5C,EAAoD;AAClDhD,MAAAA,GAAG,CAACA,GAAJ,CAAQ,CAAR,iCAAmC,KAAKkB,EAAxC,iBAAiD6B,KAAjD,cAA0DC,MAA1D;AACD;;AAED,SAAK,MAAMH,eAAX,IAA8B,KAAKpC,gBAAnC,EAAqD;AACnDoC,MAAAA,eAAe,CAACiB,MAAhB,CAAuB;AAACf,QAAAA,KAAD;AAAQC,QAAAA;AAAR,OAAvB;AACD;;AACD,kCAAK5B,sBAAL,gFAA6B0C,MAA7B,CAAoC;AAACf,MAAAA,KAAD;AAAQC,MAAAA;AAAR,KAApC;AACA,WAAO,IAAP;AACD;;AAGSlB,EAAAA,UAAU,CAACF,eAAD,EAAsBD,UAAtB,EAA2E;AAC7F,QAAIA,UAAU,YAAYvB,YAA1B,EAAwC;AACtC,WAAK2D,mBAAL,CAAyBnC,eAAzB,EAA0CD,UAA1C;;AACA,aAAOA,UAAP;AACD,KAHD,MAGO,IAAIqC,KAAK,CAACC,OAAN,CAActC,UAAd,CAAJ,EAA+B;AACpC,YAAM,CAACnB,OAAD,EAAU0D,KAAK,GAAG,CAAlB,EAAqBC,KAAK,GAAG,CAA7B,IAAkCxC,UAAxC;;AACA,WAAKyC,cAAL,CAAoBxC,eAApB,EAAqCpB,OAArC,EAAyE0D,KAAzE,EAAgFC,KAAhF;;AACA,aAAO3D,OAAP;AACD,KAJM,MAIA,IAAImB,UAAU,YAAYxB,YAA1B,EAAwC;AAC7C,WAAKiE,cAAL,CAAoBxC,eAApB,EAAqCD,UAArC,EAAiD,CAAjD,EAAoD,CAApD;;AACA,aAAOA,UAAP;AACD;;AACD,UAAM,IAAIe,KAAJ,CAAU,QAAV,CAAN;AACD;;AAESqB,EAAAA,mBAAmB,CAACpC,UAAD,EAAiB0C,YAAjB,EAAmD;AAC9E,SAAKxD,EAAL,CAAQyD,uBAAR,CACEpE,EAAE,CAACsB,WADL,EAEEG,UAFF,EAGEzB,EAAE,CAACqE,YAHL,EAIEF,YAAY,CAACvD,MAJf;AAMD;;AAQUsD,EAAAA,cAAc,CAACzC,UAAD,EAAiBnB,OAAjB,EAAwC0D,KAAxC,EAAuDC,KAAvD,EAA4E;AACnG,UAAM;AAACtD,MAAAA,EAAD;AAAK2D,MAAAA;AAAL,QAAY,KAAK7D,MAAvB;AACAE,IAAAA,EAAE,CAAC4D,WAAH,CAAejE,OAAO,CAACkE,MAAvB,EAA+BlE,OAAO,CAACM,MAAvC;;AAEA,YAAQN,OAAO,CAACkE,MAAhB;AACE,WAAKxE,EAAE,CAACyE,gBAAR;AACA,WAAKzE,EAAE,CAAC0E,UAAR;AACE,aAAKjE,MAAL,CAAYkE,YAAZ;AACAL,QAAAA,GAAG,SAAH,IAAAA,GAAG,WAAH,YAAAA,GAAG,CAAEM,uBAAL,CAA6B5E,EAAE,CAACsB,WAAhC,EAA6CG,UAA7C,EAAyDnB,OAAO,CAACkE,MAAjE,EAAyEP,KAAzE,EAAgFD,KAAhF;AACA;;AAEF,WAAKhE,EAAE,CAAC6E,gBAAR;AAEE,cAAMC,IAAI,GAAGC,qBAAqB,CAACf,KAAD,CAAlC;AACArD,QAAAA,EAAE,CAACqE,oBAAH,CAAwBhF,EAAE,CAACsB,WAA3B,EAAwCG,UAAxC,EAAoDqD,IAApD,EAA0DxE,OAAO,CAACM,MAAlE,EAA0EqD,KAA1E;AACA;;AAEF,WAAKjE,EAAE,CAACiF,UAAR;AACEtE,QAAAA,EAAE,CAACqE,oBAAH,CAAwBhF,EAAE,CAACsB,WAA3B,EAAwCG,UAAxC,EAAoDzB,EAAE,CAACiF,UAAvD,EAAmE3E,OAAO,CAACM,MAA3E,EAAmFqD,KAAnF;AACA;;AAEF;AACElE,QAAAA,MAAM,CAAC,KAAD,EAAQ,sBAAR,CAAN;AAlBJ;;AAqBAY,IAAAA,EAAE,CAAC4D,WAAH,CAAejE,OAAO,CAACkE,MAAvB,EAA+B,IAA/B;AACD;;AA1OuD;;AAgP1D,SAASO,qBAAT,CAA+Bf,KAA/B,EAAuD;AAGrD,SAAOA,KAAK,GAAGhE,EAAE,CAACkF,2BAAX,GAAyClB,KAAK,GAAGhE,EAAE,CAACkF,2BAApD,GAAkFlB,KAAzF;AACD;;AAID,SAASvB,qBAAT,CAA+BJ,MAA/B,EAA2C;AACzC,UAAQA,MAAR;AACE,SAAKrC,EAAE,CAACuC,oBAAR;AACE,aAAO,SAAP;;AACF,SAAKvC,EAAE,CAACmF,iCAAR;AACE,aAAO,wBAAP;;AACF,SAAKnF,EAAE,CAACoF,yCAAR;AACE,aAAO,gBAAP;;AACF,SAAKpF,EAAE,CAACqF,iCAAR;AACE,aAAO,uBAAP;;AACF,SAAKrF,EAAE,CAACsF,uBAAR;AACE,aAAO,kCAAP;;AAEF,SAAKtF,EAAE,CAACuF,kCAAR;AACE,aAAO,kBAAP;;AAGF;AACE,uBAAUlD,MAAV;AAjBJ;AAmBD","sourcesContent":["// luma.gl, MIT license\n\nimport type {FramebufferProps, ColorTextureFormat} from '@luma.gl/api';\nimport {Framebuffer, Texture, log, assert} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport WebGLDevice from '../webgl-device';\nimport WebGLTexture from './webgl-texture';\nimport Renderbuffer from '../objects/webgl-renderbuffer';\nimport {getWebGLTextureFormat, getWebGLDepthStencilAttachment} from '../converters/texture-formats';\n\nexport type TextureAttachment = [Texture, number?, number?];\nexport type Attachment = WebGLTexture | Renderbuffer | TextureAttachment;\n\n/** luma.gl Framebuffer, WebGL implementation */\nexport default class WEBGLFramebuffer extends Framebuffer {\n device: WebGLDevice;\n gl: WebGLRenderingContext;\n handle: WebGLFramebuffer;\n\n get texture() { return this.colorAttachments[0]; }\n readonly colorAttachments: WebGLTexture[] = [];\n readonly depthStencilAttachment: WebGLTexture | null = null;\n protected _ownResources: (WebGLTexture | Renderbuffer)[] = [];\n\n constructor(device: WebGLDevice, props: FramebufferProps) {\n super(device, props);\n this.device = device;\n this.gl = device.gl;\n this.handle = this.props.handle !== undefined ? this.props.handle : this.gl.createFramebuffer();\n\n if (this.handle) { // default framebuffer is null...\n // @ts-expect-error Per SPECTOR docs\n this.handle.__SPECTOR_Metadata = {id: this.props.id, props: this.props};\n }\n\n this.colorAttachments = this._createColorAttachments();\n // @ts-expect-error\n this.depthStencilAttachment = this._createDepthStencilAttachment();\n\n /** Attach from a map of attachments */\n const prevHandle = this.gl.bindFramebuffer(GL.FRAMEBUFFER, this.handle);\n\n // Walk the attachments\n for (let i = 0; i < this.colorAttachments.length; ++i) {\n const attachment = this.colorAttachments[i];\n const attachmentPoint = GL.COLOR_ATTACHMENT0 + i;\n if (attachment) {\n this._attachOne(attachmentPoint, attachment);\n }\n }\n\n if (this.props.depthStencilAttachment) {\n this._attachOne(getWebGLDepthStencilAttachment(this.depthStencilAttachment.format), this.depthStencilAttachment);\n }\n\n // @ts-expect-error\n this.gl.bindFramebuffer(GL.FRAMEBUFFER, prevHandle || null);\n\n // @ts-expect-error\n if (props.check !== false) {\n this._checkStatus();\n }\n }\n\n override destroy(): void {\n if (this.handle !== null) {\n for (const resource of this._ownResources) {\n resource.destroy();\n }\n this.gl.deleteFramebuffer(this.handle);\n // this.handle = null;\n this.destroyed = true;\n }\n }\n\n // PRIVATE\n\n /** Check the status */\n protected _checkStatus(): void {\n const {gl} = this;\n const prevHandle = gl.bindFramebuffer(GL.FRAMEBUFFER, this.handle);\n const status = gl.checkFramebufferStatus(GL.FRAMEBUFFER);\n // @ts-expect-error\n gl.bindFramebuffer(GL.FRAMEBUFFER, prevHandle || null);\n if (status !== gl.FRAMEBUFFER_COMPLETE) {\n throw new Error(`Framebuffer ${_getFrameBufferStatus(status)}`);\n }\n }\n\n _createColorAttachments(): WebGLTexture[] {\n return this.props.colorAttachments.map(colorAttachment => {\n if (!colorAttachment) {\n return undefined;\n }\n if (colorAttachment instanceof WebGLTexture) {\n return colorAttachment;\n }\n // if (typeof colorAttachment === 'default') {\n // return this._createColorAttachment('rgba8unorm', this.width, this.height);\n // }\n // @ts-expect-error\n return this._createColorAttachment(colorAttachment, this.width, this.height);\n });\n }\n\n /** Create a color attachment */\n protected _createColorAttachment(format: ColorTextureFormat, width: number, height: number): WebGLTexture {\n const texture = this.device._createTexture({\n id: `${this.id}-color`,\n data: null, // reserves texture memory, but texels are undefined\n format,\n // type: GL.UNSIGNED_BYTE,\n width,\n height,\n // Note: Mipmapping can be disabled by texture resource when we resize the texture\n // to a non-power-of-two dimenstion (NPOT texture) under WebGL1. To have consistant\n // behavior we always disable mipmaps.\n mipmaps: false,\n // Set MIN and MAG filtering parameters so mipmaps are not used in sampling.\n // Use LINEAR so subpixel algos like fxaa work.\n // Set WRAP modes that support NPOT textures too.\n sampler: {\n minFilter: 'linear',\n magFilter: 'linear',\n addressModeU: 'clamp-to-edge',\n addressModeV: 'clamp-to-edge'\n },\n // parameters: {\n // [GL.TEXTURE_MIN_FILTER]: GL.LINEAR,\n // [GL.TEXTURE_MAG_FILTER]: GL.LINEAR,\n // [GL.TEXTURE_WRAP_S]: GL.CLAMP_TO_EDGE,\n // [GL.TEXTURE_WRAP_T]: GL.CLAMP_TO_EDGE\n // }\n }) as WebGLTexture;\n this._ownResources.push(texture);\n return texture;\n }\n\n /** Create a depth stencil attachment GL.DEPTH24_STENCIL8 */\n protected _createDepthStencilAttachment(): Renderbuffer | WebGLTexture {\n if (!this.props.depthStencilAttachment) {\n return undefined;\n }\n if (this.props.depthStencilAttachment instanceof Renderbuffer) {\n return this.props.depthStencilAttachment;\n }\n if (this.props.depthStencilAttachment instanceof Texture) {\n return this.props.depthStencilAttachment as unknown as WebGLTexture;\n }\n const format = this.props.depthStencilAttachment;\n const webglFormat = getWebGLTextureFormat(this.gl, format);\n\n const texture = new Renderbuffer(this.device, {\n id: `${this.id}-depth-stencil`, // TODO misleading if not depth and stencil?\n format: webglFormat,\n // dataFormat: GL.DEPTH_STENCIL,\n // type: GL.UNSIGNED_INT_24_8,\n width: this.width,\n height: this.height\n });\n this._ownResources.push(texture);\n return texture;\n }\n\n /** Attachment resize is expected to be a noop if size is same */\n protected _resizeAttachments(width: number, height: number): this {\n // for default framebuffer, just update the stored size\n if (this.handle === null) {\n // assert(width === undefined && height === undefined);\n this.width = this.gl.drawingBufferWidth;\n this.height = this.gl.drawingBufferHeight;\n return this;\n }\n if (width === undefined) {\n width = this.gl.drawingBufferWidth;\n }\n if (height === undefined) {\n height = this.gl.drawingBufferHeight;\n }\n\n if (width !== this.width && height !== this.height) {\n log.log(2, `Resizing framebuffer ${this.id} to ${width}x${height}`)();\n }\n\n for (const colorAttachment of this.colorAttachments) {\n colorAttachment.resize({width, height});\n }\n this.depthStencilAttachment?.resize({width, height});\n return this;\n }\n\n /** Attach one attachment */\n protected _attachOne(attachmentPoint: GL, attachment: Attachment): WebGLTexture | Renderbuffer {\n if (attachment instanceof Renderbuffer) {\n this._attachRenderbuffer(attachmentPoint, attachment);\n return attachment;\n } else if (Array.isArray(attachment)) {\n const [texture, layer = 0, level = 0] = attachment;\n this._attachTexture(attachmentPoint, texture as unknown as WebGLTexture, layer, level);\n return texture as unknown as WebGLTexture;\n } else if (attachment instanceof WebGLTexture) {\n this._attachTexture(attachmentPoint, attachment, 0, 0);\n return attachment;\n }\n throw new Error('attach');\n }\n\n protected _attachRenderbuffer(attachment: GL, renderbuffer: Renderbuffer): void {\n this.gl.framebufferRenderbuffer(\n GL.FRAMEBUFFER,\n attachment,\n GL.RENDERBUFFER,\n renderbuffer.handle\n );\n }\n\n /**\n * @param attachment\n * @param texture\n * @param layer = 0 - index into WebGLTextureArray and Texture3D or face for `TextureCubeMap`\n * @param level = 0 - mipmapLevel (must be 0 in WebGL1)\n */\n protected _attachTexture(attachment: GL, texture: WebGLTexture, layer: number, level: number): void {\n const {gl, gl2} = this.device;\n gl.bindTexture(texture.target, texture.handle);\n\n switch (texture.target) {\n case GL.TEXTURE_2D_ARRAY:\n case GL.TEXTURE_3D:\n this.device.assertWebGL2();\n gl2?.framebufferTextureLayer(GL.FRAMEBUFFER, attachment, texture.target, level, layer);\n break;\n\n case GL.TEXTURE_CUBE_MAP:\n // layer must be a cubemap face (or if index, converted to cube map face)\n const face = mapIndexToCubeMapFace(layer);\n gl.framebufferTexture2D(GL.FRAMEBUFFER, attachment, face, texture.handle, level);\n break;\n\n case GL.TEXTURE_2D:\n gl.framebufferTexture2D(GL.FRAMEBUFFER, attachment, GL.TEXTURE_2D, texture.handle, level);\n break;\n\n default:\n assert(false, 'Illegal texture type');\n }\n\n gl.bindTexture(texture.target, null);\n }\n}\n\n// Helper functions\n\n// Map an index to a cube map face constant\nfunction mapIndexToCubeMapFace(layer: number | GL): GL {\n // TEXTURE_CUBE_MAP_POSITIVE_X is a big value (0x8515)\n // if smaller assume layer is index, otherwise assume it is already a cube map face constant\n return layer < GL.TEXTURE_CUBE_MAP_POSITIVE_X ? layer + GL.TEXTURE_CUBE_MAP_POSITIVE_X : layer;\n}\n\n// Helper METHODS\n// Get a string describing the framebuffer error if installed\nfunction _getFrameBufferStatus(status: GL) {\n switch (status) {\n case GL.FRAMEBUFFER_COMPLETE:\n return 'success';\n case GL.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:\n return 'Mismatched attachments';\n case GL.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:\n return 'No attachments';\n case GL.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:\n return 'Height/width mismatch';\n case GL.FRAMEBUFFER_UNSUPPORTED:\n return 'Unsupported or split attachments';\n // WebGL2\n case GL.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:\n return 'Samples mismatch';\n // OVR_multiview2 extension\n // case GL.FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR: return 'baseViewIndex mismatch';\n default:\n return `${status}`;\n }\n}\n"],"file":"webgl-framebuffer.js"}
|
|
1
|
+
{"version":3,"file":"webgl-framebuffer.js","names":["Framebuffer","Texture","log","assert","GL","WebGLTexture","Renderbuffer","getWebGLTextureFormat","getWebGLDepthStencilAttachment","WEBGLFramebuffer","texture","colorAttachments","constructor","device","props","_defineProperty","gl","handle","undefined","createFramebuffer","setSpectorMetadata","id","_createColorAttachments","depthStencilAttachment","_createDepthStencilAttachment","prevHandle","bindFramebuffer","FRAMEBUFFER","i","length","attachment","attachmentPoint","COLOR_ATTACHMENT0","_attachOne","format","check","_checkStatus","destroy","resource","_ownResources","deleteFramebuffer","destroyed","status","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","Error","concat","_getFrameBufferStatus","map","colorAttachment","_createColorAttachment","width","height","_createTexture","data","mipmaps","sampler","minFilter","magFilter","addressModeU","addressModeV","push","webglFormat","_resizeAttachments","_this$depthStencilAtt","drawingBufferWidth","drawingBufferHeight","resize","_attachRenderbuffer","Array","isArray","layer","level","_attachTexture","renderbuffer","framebufferRenderbuffer","RENDERBUFFER","gl2","bindTexture","target","TEXTURE_2D_ARRAY","TEXTURE_3D","assertWebGL2","framebufferTextureLayer","TEXTURE_CUBE_MAP","face","mapIndexToCubeMapFace","framebufferTexture2D","TEXTURE_2D","TEXTURE_CUBE_MAP_POSITIVE_X","FRAMEBUFFER_INCOMPLETE_ATTACHMENT","FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT","FRAMEBUFFER_INCOMPLETE_DIMENSIONS","FRAMEBUFFER_UNSUPPORTED","FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"],"sources":["../../../src/adapter/resources/webgl-framebuffer.ts"],"sourcesContent":["// luma.gl, MIT license\n\nimport type {FramebufferProps, ColorTextureFormat} from '@luma.gl/api';\nimport {Framebuffer, Texture, log, assert} from '@luma.gl/api';\nimport GL from '@luma.gl/constants';\nimport WebGLDevice from '../webgl-device';\nimport WebGLTexture from './webgl-texture';\nimport Renderbuffer from '../objects/webgl-renderbuffer';\nimport {getWebGLTextureFormat, getWebGLDepthStencilAttachment} from '../converters/texture-formats';\n\nexport type TextureAttachment = [Texture, number?, number?];\nexport type Attachment = WebGLTexture | Renderbuffer | TextureAttachment;\n\n/** luma.gl Framebuffer, WebGL implementation */\nexport default class WEBGLFramebuffer extends Framebuffer {\n device: WebGLDevice;\n gl: WebGLRenderingContext;\n handle: WebGLFramebuffer;\n\n get texture() { return this.colorAttachments[0]; }\n readonly colorAttachments: WebGLTexture[] = [];\n readonly depthStencilAttachment: WebGLTexture | null = null;\n protected _ownResources: (WebGLTexture | Renderbuffer)[] = [];\n\n constructor(device: WebGLDevice, props: FramebufferProps) {\n super(device, props);\n this.device = device;\n this.gl = device.gl;\n this.handle = this.props.handle !== undefined ? this.props.handle : this.gl.createFramebuffer();\n\n if (this.handle) { // default framebuffer is null...\n device.setSpectorMetadata(this.handle, {id: this.props.id, props: this.props});\n }\n\n this.colorAttachments = this._createColorAttachments();\n // @ts-expect-error\n this.depthStencilAttachment = this._createDepthStencilAttachment();\n\n /** Attach from a map of attachments */\n const prevHandle = this.gl.bindFramebuffer(GL.FRAMEBUFFER, this.handle);\n\n // Walk the attachments\n for (let i = 0; i < this.colorAttachments.length; ++i) {\n const attachment = this.colorAttachments[i];\n const attachmentPoint = GL.COLOR_ATTACHMENT0 + i;\n if (attachment) {\n this._attachOne(attachmentPoint, attachment);\n }\n }\n\n if (this.props.depthStencilAttachment) {\n this._attachOne(getWebGLDepthStencilAttachment(this.depthStencilAttachment.format), this.depthStencilAttachment);\n }\n\n // @ts-expect-error\n this.gl.bindFramebuffer(GL.FRAMEBUFFER, prevHandle || null);\n\n // @ts-expect-error\n if (props.check !== false) {\n this._checkStatus();\n }\n }\n\n override destroy(): void {\n if (this.handle !== null) {\n for (const resource of this._ownResources) {\n resource.destroy();\n }\n this.gl.deleteFramebuffer(this.handle);\n // this.handle = null;\n this.destroyed = true;\n }\n }\n\n // PRIVATE\n\n /** Check the status */\n protected _checkStatus(): void {\n const {gl} = this;\n const prevHandle = gl.bindFramebuffer(GL.FRAMEBUFFER, this.handle);\n const status = gl.checkFramebufferStatus(GL.FRAMEBUFFER);\n // @ts-expect-error\n gl.bindFramebuffer(GL.FRAMEBUFFER, prevHandle || null);\n if (status !== gl.FRAMEBUFFER_COMPLETE) {\n throw new Error(`Framebuffer ${_getFrameBufferStatus(status)}`);\n }\n }\n\n _createColorAttachments(): WebGLTexture[] {\n return this.props.colorAttachments.map(colorAttachment => {\n if (!colorAttachment) {\n return undefined;\n }\n if (colorAttachment instanceof WebGLTexture) {\n return colorAttachment;\n }\n // if (typeof colorAttachment === 'default') {\n // return this._createColorAttachment('rgba8unorm', this.width, this.height);\n // }\n // @ts-expect-error\n return this._createColorAttachment(colorAttachment, this.width, this.height);\n });\n }\n\n /** Create a color attachment */\n protected _createColorAttachment(format: ColorTextureFormat, width: number, height: number): WebGLTexture {\n const texture = this.device._createTexture({\n id: `${this.id}-color`,\n data: null, // reserves texture memory, but texels are undefined\n format,\n // type: GL.UNSIGNED_BYTE,\n width,\n height,\n // Note: Mipmapping can be disabled by texture resource when we resize the texture\n // to a non-power-of-two dimenstion (NPOT texture) under WebGL1. To have consistant\n // behavior we always disable mipmaps.\n mipmaps: false,\n // Set MIN and MAG filtering parameters so mipmaps are not used in sampling.\n // Use LINEAR so subpixel algos like fxaa work.\n // Set WRAP modes that support NPOT textures too.\n sampler: {\n minFilter: 'linear',\n magFilter: 'linear',\n addressModeU: 'clamp-to-edge',\n addressModeV: 'clamp-to-edge'\n },\n // parameters: {\n // [GL.TEXTURE_MIN_FILTER]: GL.LINEAR,\n // [GL.TEXTURE_MAG_FILTER]: GL.LINEAR,\n // [GL.TEXTURE_WRAP_S]: GL.CLAMP_TO_EDGE,\n // [GL.TEXTURE_WRAP_T]: GL.CLAMP_TO_EDGE\n // }\n }) ;\n this._ownResources.push(texture);\n return texture;\n }\n\n /** Create a depth stencil attachment GL.DEPTH24_STENCIL8 */\n protected _createDepthStencilAttachment(): Renderbuffer | WebGLTexture {\n if (!this.props.depthStencilAttachment) {\n return undefined;\n }\n if (this.props.depthStencilAttachment instanceof Renderbuffer) {\n return this.props.depthStencilAttachment;\n }\n if (this.props.depthStencilAttachment instanceof Texture) {\n return this.props.depthStencilAttachment as unknown as WebGLTexture;\n }\n const format = this.props.depthStencilAttachment;\n const webglFormat = getWebGLTextureFormat(this.gl, format);\n\n const texture = new Renderbuffer(this.device, {\n id: `${this.id}-depth-stencil`, // TODO misleading if not depth and stencil?\n format: webglFormat,\n // dataFormat: GL.DEPTH_STENCIL,\n // type: GL.UNSIGNED_INT_24_8,\n width: this.width,\n height: this.height\n });\n this._ownResources.push(texture);\n return texture;\n }\n\n /** Attachment resize is expected to be a noop if size is same */\n protected _resizeAttachments(width: number, height: number): this {\n // for default framebuffer, just update the stored size\n if (this.handle === null) {\n // assert(width === undefined && height === undefined);\n this.width = this.gl.drawingBufferWidth;\n this.height = this.gl.drawingBufferHeight;\n return this;\n }\n if (width === undefined) {\n width = this.gl.drawingBufferWidth;\n }\n if (height === undefined) {\n height = this.gl.drawingBufferHeight;\n }\n\n if (width !== this.width && height !== this.height) {\n log.log(2, `Resizing framebuffer ${this.id} to ${width}x${height}`)();\n }\n\n for (const colorAttachment of this.colorAttachments) {\n colorAttachment.resize({width, height});\n }\n this.depthStencilAttachment?.resize({width, height});\n return this;\n }\n\n /** Attach one attachment */\n protected _attachOne(attachmentPoint: GL, attachment: Attachment): WebGLTexture | Renderbuffer {\n if (attachment instanceof Renderbuffer) {\n this._attachRenderbuffer(attachmentPoint, attachment);\n return attachment;\n } else if (Array.isArray(attachment)) {\n const [texture, layer = 0, level = 0] = attachment;\n this._attachTexture(attachmentPoint, texture as unknown as WebGLTexture, layer, level);\n return texture as unknown as WebGLTexture;\n } else if (attachment instanceof WebGLTexture) {\n this._attachTexture(attachmentPoint, attachment, 0, 0);\n return attachment;\n }\n throw new Error('attach');\n }\n\n protected _attachRenderbuffer(attachment: GL, renderbuffer: Renderbuffer): void {\n this.gl.framebufferRenderbuffer(\n GL.FRAMEBUFFER,\n attachment,\n GL.RENDERBUFFER,\n renderbuffer.handle\n );\n }\n\n /**\n * @param attachment\n * @param texture\n * @param layer = 0 - index into WebGLTextureArray and Texture3D or face for `TextureCubeMap`\n * @param level = 0 - mipmapLevel (must be 0 in WebGL1)\n */\n protected _attachTexture(attachment: GL, texture: WebGLTexture, layer: number, level: number): void {\n const {gl, gl2} = this.device;\n gl.bindTexture(texture.target, texture.handle);\n\n switch (texture.target) {\n case GL.TEXTURE_2D_ARRAY:\n case GL.TEXTURE_3D:\n this.device.assertWebGL2();\n gl2?.framebufferTextureLayer(GL.FRAMEBUFFER, attachment, texture.target, level, layer);\n break;\n\n case GL.TEXTURE_CUBE_MAP:\n // layer must be a cubemap face (or if index, converted to cube map face)\n const face = mapIndexToCubeMapFace(layer);\n gl.framebufferTexture2D(GL.FRAMEBUFFER, attachment, face, texture.handle, level);\n break;\n\n case GL.TEXTURE_2D:\n gl.framebufferTexture2D(GL.FRAMEBUFFER, attachment, GL.TEXTURE_2D, texture.handle, level);\n break;\n\n default:\n assert(false, 'Illegal texture type');\n }\n\n gl.bindTexture(texture.target, null);\n }\n}\n\n// Helper functions\n\n// Map an index to a cube map face constant\nfunction mapIndexToCubeMapFace(layer: number | GL): GL {\n // TEXTURE_CUBE_MAP_POSITIVE_X is a big value (0x8515)\n // if smaller assume layer is index, otherwise assume it is already a cube map face constant\n return layer < GL.TEXTURE_CUBE_MAP_POSITIVE_X ? layer + GL.TEXTURE_CUBE_MAP_POSITIVE_X : layer;\n}\n\n// Helper METHODS\n// Get a string describing the framebuffer error if installed\nfunction _getFrameBufferStatus(status: GL) {\n switch (status) {\n case GL.FRAMEBUFFER_COMPLETE:\n return 'success';\n case GL.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:\n return 'Mismatched attachments';\n case GL.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:\n return 'No attachments';\n case GL.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:\n return 'Height/width mismatch';\n case GL.FRAMEBUFFER_UNSUPPORTED:\n return 'Unsupported or split attachments';\n // WebGL2\n case GL.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:\n return 'Samples mismatch';\n // OVR_multiview2 extension\n // case GL.FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR: return 'baseViewIndex mismatch';\n default:\n return `${status}`;\n }\n}\n"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import WebGLDevice from '../webgl-device';
|
|
|
3
3
|
export default class WEBGLRenderPass extends RenderPass {
|
|
4
4
|
readonly device: WebGLDevice;
|
|
5
5
|
constructor(device: WebGLDevice, props: RenderPassProps);
|
|
6
|
-
|
|
6
|
+
end(): void;
|
|
7
7
|
pushDebugGroup(groupLabel: string): void;
|
|
8
8
|
popDebugGroup(): void;
|
|
9
9
|
insertDebugMarker(markerLabel: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webgl-render-pass.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-render-pass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,eAAe,EAAC,MAAM,cAAc,CAAC;AACzD,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU;IACrD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;gBAEjB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe;IAKvD,
|
|
1
|
+
{"version":3,"file":"webgl-render-pass.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-render-pass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,eAAe,EAAC,MAAM,cAAc,CAAC;AACzD,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU;IACrD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;gBAEjB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe;IAKvD,GAAG,IAAI,IAAI;IAEX,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IACxC,aAAa,IAAI,IAAI;IACrB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;CAQ7C"}
|
|
@@ -3,19 +3,12 @@ import { RenderPass } from '@luma.gl/api';
|
|
|
3
3
|
export default class WEBGLRenderPass extends RenderPass {
|
|
4
4
|
constructor(device, props) {
|
|
5
5
|
super(device, props);
|
|
6
|
-
|
|
7
6
|
_defineProperty(this, "device", void 0);
|
|
8
|
-
|
|
9
7
|
this.device = device;
|
|
10
8
|
}
|
|
11
|
-
|
|
12
|
-
endPass() {}
|
|
13
|
-
|
|
9
|
+
end() {}
|
|
14
10
|
pushDebugGroup(groupLabel) {}
|
|
15
|
-
|
|
16
11
|
popDebugGroup() {}
|
|
17
|
-
|
|
18
12
|
insertDebugMarker(markerLabel) {}
|
|
19
|
-
|
|
20
13
|
}
|
|
21
14
|
//# sourceMappingURL=webgl-render-pass.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"webgl-render-pass.js","names":["RenderPass","WEBGLRenderPass","constructor","device","props","_defineProperty","end","pushDebugGroup","groupLabel","popDebugGroup","insertDebugMarker","markerLabel"],"sources":["../../../src/adapter/resources/webgl-render-pass.ts"],"sourcesContent":["import {RenderPass, RenderPassProps} from '@luma.gl/api';\nimport WebGLDevice from '../webgl-device';\n\nexport default class WEBGLRenderPass extends RenderPass {\n readonly device: WebGLDevice;\n\n constructor(device: WebGLDevice, props: RenderPassProps) {\n super(device, props);\n this.device = device;\n }\n\n end(): void {}\n\n pushDebugGroup(groupLabel: string): void {}\n popDebugGroup(): void {}\n insertDebugMarker(markerLabel: string): void {}\n\n // writeTimestamp(querySet: GPUQuerySet, queryIndex: number): void;\n\n // beginOcclusionQuery(queryIndex: number): void;\n // endOcclusionQuery(): void;\n\n // executeBundles(bundles: Iterable<GPURenderBundle>): void;\n}\n"],"mappings":";AAAA,SAAQA,UAAU,QAAwB,cAAc;AAGxD,eAAe,MAAMC,eAAe,SAASD,UAAU,CAAC;EAGtDE,WAAWA,CAACC,MAAmB,EAAEC,KAAsB,EAAE;IACvD,KAAK,CAACD,MAAM,EAAEC,KAAK,CAAC;IAACC,eAAA;IACrB,IAAI,CAACF,MAAM,GAAGA,MAAM;EACtB;EAEAG,GAAGA,CAAA,EAAS,CAAC;EAEbC,cAAcA,CAACC,UAAkB,EAAQ,CAAC;EAC1CC,aAAaA,CAAA,EAAS,CAAC;EACvBC,iBAAiBA,CAACC,WAAmB,EAAQ,CAAC;AAQhD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webgl-render-pipeline.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-render-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,UAAU,EACV,MAAM,EACN,OAAO,EACP,YAAY,EAIb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,cAAc,EAAgC,MAAM,cAAc,CAAC;AAS3E,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAE1C,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAEzC,OAAO,sBAAsB,MAAM,sCAAsC,CAAC;AAI1E,oCAAoC;AACpC,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,cAAc;IAC7D,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,EAAE,EAAE,WAAW,CAAC;IAChB,EAAE,EAAE,WAAW,CAAC;IAChB,MAAM,EAAE,YAAY,CAAC;IAIrB,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAQ;IACjC,iBAAiB,EAAE,sBAAsB,CAAC;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IACnC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IACnC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IAC3C,oBAAoB,EAAE,MAAM,CAAK;IACjC,aAAa,EAAE,MAAM,CAAK;IAC1B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAM;gBAEnC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"webgl-render-pipeline.d.ts","sourceRoot":"","sources":["../../../src/adapter/resources/webgl-render-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,UAAU,EACV,MAAM,EACN,OAAO,EACP,YAAY,EAIb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,cAAc,EAAgC,MAAM,cAAc,CAAC;AAS3E,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAE1C,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAEzC,OAAO,sBAAsB,MAAM,sCAAsC,CAAC;AAI1E,oCAAoC;AACpC,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,cAAc;IAC7D,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,EAAE,EAAE,WAAW,CAAC;IAChB,EAAE,EAAE,WAAW,CAAC;IAChB,MAAM,EAAE,YAAY,CAAC;IAIrB,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAQ;IACjC,iBAAiB,EAAE,sBAAsB,CAAC;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IACnC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IACnC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IAC3C,oBAAoB,EAAE,MAAM,CAAK;IACjC,aAAa,EAAE,MAAM,CAAK;IAC1B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAM;gBAEnC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB;IA2BlD,OAAO,IAAI,IAAI;IAQxB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAMzC,sCAAsC;IACtC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAwBvD,sCAAsC;IACtC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAqCpD,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAKzC;;;OAGG;IACH,IAAI,CAAC,OAAO,EAAE;QACZ,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO;IA2EX,SAAS,CAAC,eAAe;IA0BzB;;;;OAIG;IACH,sBAAsB;IAkBtB,yBAAyB;IACzB,cAAc;IA6Dd,cAAc;CASf"}
|