@luma.gl/webgl 9.0.0-alpha.16 → 9.0.0-alpha.19
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 +117 -200
- package/dist/adapter/converters/device-parameters.js.map +1 -0
- package/dist/adapter/converters/renderbuffer-formats.d.ts +1 -1
- package/dist/adapter/converters/renderbuffer-formats.d.ts.map +1 -1
- package/dist/adapter/converters/renderbuffer-formats.js +172 -62
- package/dist/adapter/converters/renderbuffer-formats.js.map +1 -0
- package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/sampler-parameters.js +151 -149
- package/dist/adapter/converters/sampler-parameters.js.map +1 -0
- package/dist/adapter/converters/texture-formats.d.ts +2 -2
- package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
- package/dist/adapter/converters/texture-formats.js +847 -438
- package/dist/adapter/converters/texture-formats.js.map +1 -0
- package/dist/adapter/converters/vertex-formats.js +24 -15
- package/dist/adapter/converters/vertex-formats.js.map +1 -0
- package/dist/adapter/device-helpers/device-features.js +84 -120
- package/dist/adapter/device-helpers/device-features.js.map +1 -0
- package/dist/adapter/device-helpers/device-limits.d.ts +1 -1
- package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
- package/dist/adapter/device-helpers/device-limits.js +83 -88
- package/dist/adapter/device-helpers/device-limits.js.map +1 -0
- package/dist/adapter/device-helpers/get-device-info.js +37 -42
- package/dist/adapter/device-helpers/get-device-info.js.map +1 -0
- package/dist/adapter/device-helpers/is-old-ie.js +8 -10
- package/dist/adapter/device-helpers/is-old-ie.js.map +1 -0
- package/dist/adapter/helpers/attribute-utils.js +57 -50
- package/dist/adapter/helpers/attribute-utils.js.map +1 -0
- package/dist/adapter/helpers/get-shader-info.d.ts +1 -1
- package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -1
- package/dist/adapter/helpers/get-shader-info.js +19 -21
- package/dist/adapter/helpers/get-shader-info.js.map +1 -0
- package/dist/adapter/helpers/get-shader-layout.js +251 -310
- package/dist/adapter/helpers/get-shader-layout.js.map +1 -0
- package/dist/adapter/helpers/parse-shader-compiler-log.js +26 -32
- package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
- package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
- package/dist/adapter/helpers/set-uniform.js +80 -67
- package/dist/adapter/helpers/set-uniform.js.map +1 -0
- package/dist/adapter/helpers/uniforms.js +75 -80
- package/dist/adapter/helpers/uniforms.js.map +1 -0
- package/dist/adapter/objects/constants-to-keys.js +26 -33
- package/dist/adapter/objects/constants-to-keys.js.map +1 -0
- package/dist/adapter/objects/webgl-renderbuffer.d.ts +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.js +70 -67
- package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -0
- package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-resource.js +158 -213
- package/dist/adapter/objects/webgl-resource.js.map +1 -0
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts +1 -1
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-vertex-array-object.js +66 -74
- package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -0
- package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-buffer.js +118 -150
- package/dist/adapter/resources/webgl-buffer.js.map +1 -0
- package/dist/adapter/resources/webgl-command-buffer.d.ts +5 -5
- package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.js +41 -40
- package/dist/adapter/resources/webgl-command-buffer.js.map +1 -0
- package/dist/adapter/resources/webgl-command-encoder.js +37 -26
- package/dist/adapter/resources/webgl-command-encoder.js.map +1 -0
- package/dist/adapter/resources/webgl-external-texture.js +1 -91
- package/dist/adapter/resources/webgl-external-texture.js.map +1 -0
- package/dist/adapter/resources/webgl-framebuffer.d.ts +2 -2
- package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.js +198 -231
- package/dist/adapter/resources/webgl-framebuffer.js.map +1 -0
- package/dist/adapter/resources/webgl-render-pass.js +11 -8
- package/dist/adapter/resources/webgl-render-pass.js.map +1 -0
- package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.js +289 -316
- package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -0
- package/dist/adapter/resources/webgl-sampler.js +35 -42
- package/dist/adapter/resources/webgl-sampler.js.map +1 -0
- package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-shader.js +53 -57
- package/dist/adapter/resources/webgl-shader.js.map +1 -0
- package/dist/adapter/resources/webgl-texture.d.ts +4 -4
- package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-texture.js +697 -661
- package/dist/adapter/resources/webgl-texture.js.map +1 -0
- package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
- package/dist/adapter/webgl-canvas-context.js +35 -55
- package/dist/adapter/webgl-canvas-context.js.map +1 -0
- 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 +270 -287
- package/dist/adapter/webgl-device.js.map +1 -0
- package/dist/classic/accessor.js +103 -120
- package/dist/classic/accessor.js.map +1 -0
- package/dist/classic/buffer.d.ts +1 -1
- package/dist/classic/buffer.d.ts.map +1 -1
- package/dist/classic/buffer.js +300 -325
- package/dist/classic/buffer.js.map +1 -0
- package/dist/classic/typed-array-utils.d.ts +1 -1
- package/dist/classic/typed-array-utils.d.ts.map +1 -1
- package/dist/classic/typed-array-utils.js +81 -91
- package/dist/classic/typed-array-utils.js.map +1 -0
- package/dist/context/context/create-browser-context.d.ts +3 -1
- package/dist/context/context/create-browser-context.d.ts.map +1 -1
- package/dist/context/context/create-browser-context.js +49 -66
- package/dist/context/context/create-browser-context.js.map +1 -0
- package/dist/context/context/create-headless-context.d.ts +1 -1
- package/dist/context/context/create-headless-context.d.ts.map +1 -1
- package/dist/context/context/create-headless-context.js +30 -24
- package/dist/context/context/create-headless-context.js.map +1 -0
- package/dist/context/context/webgl-checks.js +17 -25
- package/dist/context/context/webgl-checks.js.map +1 -0
- package/dist/context/debug/spector.d.ts +3 -1
- package/dist/context/debug/spector.d.ts.map +1 -1
- package/dist/context/debug/spector.js +50 -53
- package/dist/context/debug/spector.js.map +1 -0
- package/dist/context/debug/webgl-developer-tools.d.ts +1 -1
- package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
- package/dist/context/debug/webgl-developer-tools.js +76 -107
- package/dist/context/debug/webgl-developer-tools.js.map +1 -0
- package/dist/context/parameters/unified-parameter-api.js +46 -93
- package/dist/context/parameters/unified-parameter-api.js.map +1 -0
- package/dist/context/parameters/webgl-parameter-tables.d.ts +1 -1
- package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.js +404 -462
- package/dist/context/parameters/webgl-parameter-tables.js.map +1 -0
- package/dist/context/polyfill/context-data.js +10 -16
- package/dist/context/polyfill/context-data.js.map +1 -0
- package/dist/context/polyfill/get-parameter-polyfill.js +71 -91
- package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -0
- package/dist/context/polyfill/polyfill-context.js +73 -75
- package/dist/context/polyfill/polyfill-context.js.map +1 -0
- package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-table.js +116 -133
- package/dist/context/polyfill/polyfill-table.js.map +1 -0
- package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-vertex-array-object.js +227 -255
- package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
- package/dist/context/state-tracker/deep-array-equal.js +14 -16
- package/dist/context/state-tracker/deep-array-equal.js.map +1 -0
- package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
- package/dist/context/state-tracker/track-context-state.js +127 -183
- package/dist/context/state-tracker/track-context-state.js.map +1 -0
- package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
- package/dist/context/state-tracker/with-parameters.js +29 -43
- package/dist/context/state-tracker/with-parameters.js.map +1 -0
- 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 +25 -41
- package/dist/index.js.map +1 -0
- package/dist/types/webgl.d.ts +16 -16
- package/dist/types/webgl.d.ts.map +1 -1
- package/dist/types/webgl.js +1 -0
- package/dist/types/webgl.js.map +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -0
- package/dist.min.js +36 -0
- package/package.json +18 -9
- 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 +1 -1
- package/src/adapter/helpers/get-shader-layout.ts +4 -4
- package/src/adapter/helpers/parse-shader-compiler-log.ts +1 -1
- 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 +6 -6
- 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-pipeline.ts +19 -20
- package/src/adapter/resources/webgl-shader.ts +1 -1
- package/src/adapter/resources/webgl-texture.ts +8 -9
- package/src/adapter/webgl-canvas-context.ts +2 -2
- package/src/adapter/webgl-device.ts +12 -2
- 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/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 -0
- 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 +2 -0
- package/dist/bundle.d.ts +0 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/bundle.js +0 -4
- package/dist/dist.min.js +0 -1
- package/dist/es5/adapter/converters/device-parameters.js +0 -139
- package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
- package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -151
- package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/es5/adapter/converters/sampler-parameters.js +0 -182
- package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/es5/adapter/converters/texture-formats.js +0 -950
- package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
- package/dist/es5/adapter/converters/vertex-formats.js +0 -36
- package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/es5/adapter/device-helpers/device-features.js +0 -121
- package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/es5/adapter/device-helpers/device-limits.js +0 -54
- package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/es5/adapter/device-helpers/get-device-info.js +0 -49
- package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -15
- package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/es5/adapter/helpers/attribute-utils.js +0 -69
- package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/es5/adapter/helpers/get-shader-info.js +0 -31
- package/dist/es5/adapter/helpers/get-shader-info.js.map +0 -1
- package/dist/es5/adapter/helpers/get-shader-layout.js +0 -311
- package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -54
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/es5/adapter/helpers/set-uniform.js +0 -92
- package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/es5/adapter/helpers/uniforms.js +0 -88
- package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
- package/dist/es5/adapter/objects/constants-to-keys.js +0 -43
- package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -122
- package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-resource.js +0 -233
- package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -109
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-buffer.js +0 -196
- package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -70
- package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -80
- 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 -275
- package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-render-pass.js +0 -45
- package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -385
- package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-sampler.js +0 -75
- package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-shader.js +0 -111
- package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-texture.js +0 -826
- package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/es5/adapter/webgl-canvas-context.js +0 -72
- package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/es5/adapter/webgl-device.js +0 -387
- package/dist/es5/adapter/webgl-device.js.map +0 -1
- package/dist/es5/bundle.js +0 -6
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/classic/accessor.js +0 -151
- package/dist/es5/classic/accessor.js.map +0 -1
- package/dist/es5/classic/buffer.js +0 -398
- package/dist/es5/classic/buffer.js.map +0 -1
- package/dist/es5/classic/typed-array-utils.js +0 -99
- package/dist/es5/classic/typed-array-utils.js.map +0 -1
- package/dist/es5/context/context/create-browser-context.js +0 -66
- package/dist/es5/context/context/create-browser-context.js.map +0 -1
- package/dist/es5/context/context/create-headless-context.js +0 -47
- package/dist/es5/context/context/create-headless-context.js.map +0 -1
- package/dist/es5/context/context/webgl-checks.js +0 -44
- package/dist/es5/context/context/webgl-checks.js.map +0 -1
- package/dist/es5/context/debug/spector.js +0 -99
- package/dist/es5/context/debug/spector.js.map +0 -1
- package/dist/es5/context/debug/webgl-developer-tools.js +0 -146
- package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/es5/context/parameters/unified-parameter-api.js +0 -76
- package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -346
- package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/es5/context/polyfill/context-data.js +0 -18
- package/dist/es5/context/polyfill/context-data.js.map +0 -1
- package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -69
- package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-context.js +0 -109
- package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-table.js +0 -143
- package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -271
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/es5/context/state-tracker/deep-array-equal.js +0 -23
- package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/es5/context/state-tracker/track-context-state.js +0 -167
- package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/es5/context/state-tracker/with-parameters.js +0 -40
- package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
- package/dist/es5/index.js +0 -249
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/init.js +0 -7
- package/dist/es5/init.js.map +0 -1
- package/dist/es5/types/webgl.js +0 -5
- 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 -137
- package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
- package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -181
- package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/esm/adapter/converters/sampler-parameters.js +0 -172
- package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/esm/adapter/converters/texture-formats.js +0 -901
- package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
- package/dist/esm/adapter/converters/vertex-formats.js +0 -29
- package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/esm/adapter/device-helpers/device-features.js +0 -95
- package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/esm/adapter/device-helpers/device-limits.js +0 -88
- package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/esm/adapter/device-helpers/get-device-info.js +0 -42
- package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -9
- package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/esm/adapter/helpers/attribute-utils.js +0 -64
- package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/esm/adapter/helpers/get-shader-info.js +0 -25
- package/dist/esm/adapter/helpers/get-shader-info.js.map +0 -1
- package/dist/esm/adapter/helpers/get-shader-layout.js +0 -282
- package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -30
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/esm/adapter/helpers/set-uniform.js +0 -85
- package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/esm/adapter/helpers/uniforms.js +0 -89
- package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
- package/dist/esm/adapter/objects/constants-to-keys.js +0 -35
- package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -78
- package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-resource.js +0 -163
- package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -74
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-buffer.js +0 -134
- package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -50
- package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -41
- 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 -207
- package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-render-pass.js +0 -14
- package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -311
- package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-sampler.js +0 -42
- package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-shader.js +0 -62
- package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-texture.js +0 -714
- package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/esm/adapter/webgl-canvas-context.js +0 -41
- package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/esm/adapter/webgl-device.js +0 -276
- package/dist/esm/adapter/webgl-device.js.map +0 -1
- package/dist/esm/bundle.js +0 -4
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/classic/accessor.js +0 -120
- package/dist/esm/classic/accessor.js.map +0 -1
- package/dist/esm/classic/buffer.js +0 -327
- package/dist/esm/classic/buffer.js.map +0 -1
- package/dist/esm/classic/typed-array-utils.js +0 -92
- package/dist/esm/classic/typed-array-utils.js.map +0 -1
- package/dist/esm/context/context/create-browser-context.js +0 -53
- package/dist/esm/context/context/create-browser-context.js.map +0 -1
- package/dist/esm/context/context/create-headless-context.js +0 -39
- package/dist/esm/context/context/create-headless-context.js.map +0 -1
- package/dist/esm/context/context/webgl-checks.js +0 -31
- package/dist/esm/context/context/webgl-checks.js.map +0 -1
- package/dist/esm/context/debug/spector.js +0 -64
- package/dist/esm/context/debug/spector.js.map +0 -1
- package/dist/esm/context/debug/webgl-developer-tools.js +0 -97
- package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/esm/context/parameters/unified-parameter-api.js +0 -55
- package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -427
- package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/esm/context/polyfill/context-data.js +0 -12
- package/dist/esm/context/polyfill/context-data.js.map +0 -1
- package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -86
- package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-context.js +0 -84
- package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-table.js +0 -138
- package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -265
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/esm/context/state-tracker/deep-array-equal.js +0 -17
- package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/esm/context/state-tracker/track-context-state.js +0 -148
- package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/esm/context/state-tracker/with-parameters.js +0 -34
- 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 -3
- package/src/bundle.ts +0 -4
- package/src/init.ts +0 -4
|
@@ -1,346 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.NON_CACHE_PARAMETERS = exports.GL_PARAMETER_SETTERS = exports.GL_PARAMETER_GETTERS = exports.GL_PARAMETER_DEFAULTS = exports.GL_HOOKED_SETTERS = exports.GL_COMPOSITE_PARAMETER_SETTERS = void 0;
|
|
8
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
var _constants = _interopRequireDefault(require("@luma.gl/constants"));
|
|
12
|
-
var _webglChecks = require("../context/webgl-checks");
|
|
13
|
-
var _GL_PARAMETER_DEFAULT, _GL_PARAMETER_SETTERS, _GL_PARAMETER_GETTERS;
|
|
14
|
-
var GL_PARAMETER_DEFAULTS = (_GL_PARAMETER_DEFAULT = {}, (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.BLEND, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.BLEND_COLOR, new Float32Array([0, 0, 0, 0])), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.BLEND_EQUATION_RGB, _constants.default.FUNC_ADD), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.BLEND_EQUATION_ALPHA, _constants.default.FUNC_ADD), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.BLEND_SRC_RGB, _constants.default.ONE), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.BLEND_DST_RGB, _constants.default.ZERO), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.BLEND_SRC_ALPHA, _constants.default.ONE), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.BLEND_DST_ALPHA, _constants.default.ZERO), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.COLOR_CLEAR_VALUE, new Float32Array([0, 0, 0, 0])), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.COLOR_WRITEMASK, [true, true, true, true]), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.CULL_FACE, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.CULL_FACE_MODE, _constants.default.BACK), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.DEPTH_TEST, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.DEPTH_CLEAR_VALUE, 1), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.DEPTH_FUNC, _constants.default.LESS), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.DEPTH_RANGE, new Float32Array([0, 1])), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.DEPTH_WRITEMASK, true), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.DITHER, true), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.CURRENT_PROGRAM, null), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.FRAMEBUFFER_BINDING, null), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.RENDERBUFFER_BINDING, null), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.VERTEX_ARRAY_BINDING, null), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.ARRAY_BUFFER_BINDING, null), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.FRONT_FACE, _constants.default.CCW), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.GENERATE_MIPMAP_HINT, _constants.default.DONT_CARE), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.LINE_WIDTH, 1), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.POLYGON_OFFSET_FILL, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.POLYGON_OFFSET_FACTOR, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.POLYGON_OFFSET_UNITS, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.SAMPLE_ALPHA_TO_COVERAGE, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.SAMPLE_COVERAGE, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.SAMPLE_COVERAGE_VALUE, 1.0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.SAMPLE_COVERAGE_INVERT, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.SCISSOR_TEST, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.SCISSOR_BOX, new Int32Array([0, 0, 1024, 1024])), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_TEST, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_CLEAR_VALUE, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_WRITEMASK, 0xffffffff), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_BACK_WRITEMASK, 0xffffffff), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_FUNC, _constants.default.ALWAYS), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_REF, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_VALUE_MASK, 0xffffffff), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_BACK_FUNC, _constants.default.ALWAYS), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_BACK_REF, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_BACK_VALUE_MASK, 0xffffffff), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_FAIL, _constants.default.KEEP), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_PASS_DEPTH_FAIL, _constants.default.KEEP), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_PASS_DEPTH_PASS, _constants.default.KEEP), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_BACK_FAIL, _constants.default.KEEP), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_BACK_PASS_DEPTH_FAIL, _constants.default.KEEP), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.STENCIL_BACK_PASS_DEPTH_PASS, _constants.default.KEEP), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.VIEWPORT, [0, 0, 1024, 1024]), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.PACK_ALIGNMENT, 4), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.UNPACK_ALIGNMENT, 4), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.UNPACK_FLIP_Y_WEBGL, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.UNPACK_PREMULTIPLY_ALPHA_WEBGL, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.UNPACK_COLORSPACE_CONVERSION_WEBGL, _constants.default.BROWSER_DEFAULT_WEBGL), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.TRANSFORM_FEEDBACK_BINDING, null), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.COPY_READ_BUFFER_BINDING, null), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.COPY_WRITE_BUFFER_BINDING, null), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.PIXEL_PACK_BUFFER_BINDING, null), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.PIXEL_UNPACK_BUFFER_BINDING, null), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.FRAGMENT_SHADER_DERIVATIVE_HINT, _constants.default.DONT_CARE), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.READ_FRAMEBUFFER_BINDING, null), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.RASTERIZER_DISCARD, false), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.PACK_ROW_LENGTH, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.PACK_SKIP_PIXELS, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.PACK_SKIP_ROWS, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.UNPACK_ROW_LENGTH, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.UNPACK_IMAGE_HEIGHT, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.UNPACK_SKIP_PIXELS, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.UNPACK_SKIP_ROWS, 0), (0, _defineProperty2.default)(_GL_PARAMETER_DEFAULT, _constants.default.UNPACK_SKIP_IMAGES, 0), _GL_PARAMETER_DEFAULT);
|
|
15
|
-
exports.GL_PARAMETER_DEFAULTS = GL_PARAMETER_DEFAULTS;
|
|
16
|
-
var enable = function enable(gl, value, key) {
|
|
17
|
-
return value ? gl.enable(key) : gl.disable(key);
|
|
18
|
-
};
|
|
19
|
-
var hint = function hint(gl, value, key) {
|
|
20
|
-
return gl.hint(key, value);
|
|
21
|
-
};
|
|
22
|
-
var pixelStorei = function pixelStorei(gl, value, key) {
|
|
23
|
-
return gl.pixelStorei(key, value);
|
|
24
|
-
};
|
|
25
|
-
var bindFramebuffer = function bindFramebuffer(gl, value, key) {
|
|
26
|
-
var target;
|
|
27
|
-
if (key === _constants.default.FRAMEBUFFER_BINDING) {
|
|
28
|
-
target = (0, _webglChecks.isWebGL2)(gl) ? _constants.default.DRAW_FRAMEBUFFER : _constants.default.FRAMEBUFFER;
|
|
29
|
-
} else {
|
|
30
|
-
target = _constants.default.READ_FRAMEBUFFER;
|
|
31
|
-
}
|
|
32
|
-
return gl.bindFramebuffer(target, value);
|
|
33
|
-
};
|
|
34
|
-
var bindBuffer = function bindBuffer(gl, value, key) {
|
|
35
|
-
var _bindingMap;
|
|
36
|
-
var bindingMap = (_bindingMap = {}, (0, _defineProperty2.default)(_bindingMap, _constants.default.ARRAY_BUFFER_BINDING, _constants.default.ARRAY_BUFFER), (0, _defineProperty2.default)(_bindingMap, _constants.default.COPY_READ_BUFFER_BINDING, _constants.default.COPY_READ_BUFFER), (0, _defineProperty2.default)(_bindingMap, _constants.default.COPY_WRITE_BUFFER_BINDING, _constants.default.COPY_WRITE_BUFFER), (0, _defineProperty2.default)(_bindingMap, _constants.default.PIXEL_PACK_BUFFER_BINDING, _constants.default.PIXEL_PACK_BUFFER), (0, _defineProperty2.default)(_bindingMap, _constants.default.PIXEL_UNPACK_BUFFER_BINDING, _constants.default.PIXEL_UNPACK_BUFFER), _bindingMap);
|
|
37
|
-
var target = bindingMap[key];
|
|
38
|
-
gl.bindBuffer(target, value);
|
|
39
|
-
};
|
|
40
|
-
function isArray(array) {
|
|
41
|
-
return Array.isArray(array) || ArrayBuffer.isView(array) && !(array instanceof DataView);
|
|
42
|
-
}
|
|
43
|
-
var GL_PARAMETER_SETTERS = (_GL_PARAMETER_SETTERS = {}, (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.BLEND, enable), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.BLEND_COLOR, function (gl, value) {
|
|
44
|
-
return gl.blendColor.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
45
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.BLEND_EQUATION_RGB, 'blendEquation'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.BLEND_EQUATION_ALPHA, 'blendEquation'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.BLEND_SRC_RGB, 'blendFunc'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.BLEND_DST_RGB, 'blendFunc'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.BLEND_SRC_ALPHA, 'blendFunc'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.BLEND_DST_ALPHA, 'blendFunc'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.COLOR_CLEAR_VALUE, function (gl, value) {
|
|
46
|
-
return gl.clearColor.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
47
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.COLOR_WRITEMASK, function (gl, value) {
|
|
48
|
-
return gl.colorMask.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
49
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.CULL_FACE, enable), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.CULL_FACE_MODE, function (gl, value) {
|
|
50
|
-
return gl.cullFace(value);
|
|
51
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.DEPTH_TEST, enable), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.DEPTH_CLEAR_VALUE, function (gl, value) {
|
|
52
|
-
return gl.clearDepth(value);
|
|
53
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.DEPTH_FUNC, function (gl, value) {
|
|
54
|
-
return gl.depthFunc(value);
|
|
55
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.DEPTH_RANGE, function (gl, value) {
|
|
56
|
-
return gl.depthRange.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
57
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.DEPTH_WRITEMASK, function (gl, value) {
|
|
58
|
-
return gl.depthMask(value);
|
|
59
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.DITHER, enable), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.FRAGMENT_SHADER_DERIVATIVE_HINT, hint), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.CURRENT_PROGRAM, function (gl, value) {
|
|
60
|
-
return gl.useProgram(value);
|
|
61
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.RENDERBUFFER_BINDING, function (gl, value) {
|
|
62
|
-
return gl.bindRenderbuffer(_constants.default.RENDERBUFFER, value);
|
|
63
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.TRANSFORM_FEEDBACK_BINDING, function (gl, value) {
|
|
64
|
-
var _bindTransformFeedbac, _ref;
|
|
65
|
-
return (_bindTransformFeedbac = (_ref = gl).bindTransformFeedback) === null || _bindTransformFeedbac === void 0 ? void 0 : _bindTransformFeedbac.call(_ref, _constants.default.TRANSFORM_FEEDBACK, value);
|
|
66
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.VERTEX_ARRAY_BINDING, function (gl, value) {
|
|
67
|
-
return gl.bindVertexArray(value);
|
|
68
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.FRAMEBUFFER_BINDING, bindFramebuffer), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.READ_FRAMEBUFFER_BINDING, bindFramebuffer), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.ARRAY_BUFFER_BINDING, bindBuffer), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.COPY_READ_BUFFER_BINDING, bindBuffer), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.COPY_WRITE_BUFFER_BINDING, bindBuffer), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.PIXEL_PACK_BUFFER_BINDING, bindBuffer), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.PIXEL_UNPACK_BUFFER_BINDING, bindBuffer), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.FRONT_FACE, function (gl, value) {
|
|
69
|
-
return gl.frontFace(value);
|
|
70
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.GENERATE_MIPMAP_HINT, hint), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.LINE_WIDTH, function (gl, value) {
|
|
71
|
-
return gl.lineWidth(value);
|
|
72
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.POLYGON_OFFSET_FILL, enable), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.POLYGON_OFFSET_FACTOR, 'polygonOffset'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.POLYGON_OFFSET_UNITS, 'polygonOffset'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.RASTERIZER_DISCARD, enable), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.SAMPLE_ALPHA_TO_COVERAGE, enable), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.SAMPLE_COVERAGE, enable), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.SAMPLE_COVERAGE_VALUE, 'sampleCoverage'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.SAMPLE_COVERAGE_INVERT, 'sampleCoverage'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.SCISSOR_TEST, enable), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.SCISSOR_BOX, function (gl, value) {
|
|
73
|
-
return gl.scissor.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
74
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_TEST, enable), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_CLEAR_VALUE, function (gl, value) {
|
|
75
|
-
return gl.clearStencil(value);
|
|
76
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_WRITEMASK, function (gl, value) {
|
|
77
|
-
return gl.stencilMaskSeparate(_constants.default.FRONT, value);
|
|
78
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_BACK_WRITEMASK, function (gl, value) {
|
|
79
|
-
return gl.stencilMaskSeparate(_constants.default.BACK, value);
|
|
80
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_FUNC, 'stencilFuncFront'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_REF, 'stencilFuncFront'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_VALUE_MASK, 'stencilFuncFront'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_BACK_FUNC, 'stencilFuncBack'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_BACK_REF, 'stencilFuncBack'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_BACK_VALUE_MASK, 'stencilFuncBack'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_FAIL, 'stencilOpFront'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_PASS_DEPTH_FAIL, 'stencilOpFront'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_PASS_DEPTH_PASS, 'stencilOpFront'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_BACK_FAIL, 'stencilOpBack'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_BACK_PASS_DEPTH_FAIL, 'stencilOpBack'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.STENCIL_BACK_PASS_DEPTH_PASS, 'stencilOpBack'), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.VIEWPORT, function (gl, value) {
|
|
81
|
-
return gl.viewport.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
82
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.PACK_ALIGNMENT, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.UNPACK_ALIGNMENT, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.UNPACK_FLIP_Y_WEBGL, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.UNPACK_PREMULTIPLY_ALPHA_WEBGL, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.UNPACK_COLORSPACE_CONVERSION_WEBGL, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.PACK_ROW_LENGTH, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.PACK_SKIP_PIXELS, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.PACK_SKIP_ROWS, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.UNPACK_ROW_LENGTH, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.UNPACK_IMAGE_HEIGHT, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.UNPACK_SKIP_PIXELS, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.UNPACK_SKIP_ROWS, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, _constants.default.UNPACK_SKIP_IMAGES, pixelStorei), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "framebuffer", function framebuffer(gl, _framebuffer) {
|
|
83
|
-
var handle = _framebuffer && 'handle' in _framebuffer ? _framebuffer.handle : _framebuffer;
|
|
84
|
-
return gl.bindFramebuffer(_constants.default.FRAMEBUFFER, handle);
|
|
85
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "blend", function blend(gl, value) {
|
|
86
|
-
return value ? gl.enable(_constants.default.BLEND) : gl.disable(_constants.default.BLEND);
|
|
87
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "blendColor", function blendColor(gl, value) {
|
|
88
|
-
return gl.blendColor.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
89
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "blendEquation", function blendEquation(gl, args) {
|
|
90
|
-
var separateModes = typeof args === 'number' ? [args, args] : args;
|
|
91
|
-
gl.blendEquationSeparate.apply(gl, (0, _toConsumableArray2.default)(separateModes));
|
|
92
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "blendFunc", function blendFunc(gl, args) {
|
|
93
|
-
var separateFuncs = (args === null || args === void 0 ? void 0 : args.length) === 2 ? [].concat((0, _toConsumableArray2.default)(args), (0, _toConsumableArray2.default)(args)) : args;
|
|
94
|
-
gl.blendFuncSeparate.apply(gl, (0, _toConsumableArray2.default)(separateFuncs));
|
|
95
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "clearColor", function clearColor(gl, value) {
|
|
96
|
-
return gl.clearColor.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
97
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "clearDepth", function clearDepth(gl, value) {
|
|
98
|
-
return gl.clearDepth(value);
|
|
99
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "clearStencil", function clearStencil(gl, value) {
|
|
100
|
-
return gl.clearStencil(value);
|
|
101
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "colorMask", function colorMask(gl, value) {
|
|
102
|
-
return gl.colorMask.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
103
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "cull", function cull(gl, value) {
|
|
104
|
-
return value ? gl.enable(_constants.default.CULL_FACE) : gl.disable(_constants.default.CULL_FACE);
|
|
105
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "cullFace", function cullFace(gl, value) {
|
|
106
|
-
return gl.cullFace(value);
|
|
107
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "depthTest", function depthTest(gl, value) {
|
|
108
|
-
return value ? gl.enable(_constants.default.DEPTH_TEST) : gl.disable(_constants.default.DEPTH_TEST);
|
|
109
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "depthFunc", function depthFunc(gl, value) {
|
|
110
|
-
return gl.depthFunc(value);
|
|
111
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "depthMask", function depthMask(gl, value) {
|
|
112
|
-
return gl.depthMask(value);
|
|
113
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "depthRange", function depthRange(gl, value) {
|
|
114
|
-
return gl.depthRange.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
115
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "dither", function dither(gl, value) {
|
|
116
|
-
return value ? gl.enable(_constants.default.DITHER) : gl.disable(_constants.default.DITHER);
|
|
117
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "derivativeHint", function derivativeHint(gl, value) {
|
|
118
|
-
gl.hint(_constants.default.FRAGMENT_SHADER_DERIVATIVE_HINT, value);
|
|
119
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "frontFace", function frontFace(gl, value) {
|
|
120
|
-
return gl.frontFace(value);
|
|
121
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "mipmapHint", function mipmapHint(gl, value) {
|
|
122
|
-
return gl.hint(_constants.default.GENERATE_MIPMAP_HINT, value);
|
|
123
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "lineWidth", function lineWidth(gl, value) {
|
|
124
|
-
return gl.lineWidth(value);
|
|
125
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "polygonOffsetFill", function polygonOffsetFill(gl, value) {
|
|
126
|
-
return value ? gl.enable(_constants.default.POLYGON_OFFSET_FILL) : gl.disable(_constants.default.POLYGON_OFFSET_FILL);
|
|
127
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "polygonOffset", function polygonOffset(gl, value) {
|
|
128
|
-
return gl.polygonOffset.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
129
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "sampleCoverage", function sampleCoverage(gl, value) {
|
|
130
|
-
return gl.sampleCoverage.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
131
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "scissorTest", function scissorTest(gl, value) {
|
|
132
|
-
return value ? gl.enable(_constants.default.SCISSOR_TEST) : gl.disable(_constants.default.SCISSOR_TEST);
|
|
133
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "scissor", function scissor(gl, value) {
|
|
134
|
-
return gl.scissor.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
135
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "stencilTest", function stencilTest(gl, value) {
|
|
136
|
-
return value ? gl.enable(_constants.default.STENCIL_TEST) : gl.disable(_constants.default.STENCIL_TEST);
|
|
137
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "stencilMask", function stencilMask(gl, value) {
|
|
138
|
-
value = isArray(value) ? value : [value, value];
|
|
139
|
-
var _value = value,
|
|
140
|
-
_value2 = (0, _slicedToArray2.default)(_value, 2),
|
|
141
|
-
mask = _value2[0],
|
|
142
|
-
backMask = _value2[1];
|
|
143
|
-
gl.stencilMaskSeparate(_constants.default.FRONT, mask);
|
|
144
|
-
gl.stencilMaskSeparate(_constants.default.BACK, backMask);
|
|
145
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "stencilFunc", function stencilFunc(gl, args) {
|
|
146
|
-
args = isArray(args) && args.length === 3 ? [].concat((0, _toConsumableArray2.default)(args), (0, _toConsumableArray2.default)(args)) : args;
|
|
147
|
-
var _args = args,
|
|
148
|
-
_args2 = (0, _slicedToArray2.default)(_args, 6),
|
|
149
|
-
func = _args2[0],
|
|
150
|
-
ref = _args2[1],
|
|
151
|
-
mask = _args2[2],
|
|
152
|
-
backFunc = _args2[3],
|
|
153
|
-
backRef = _args2[4],
|
|
154
|
-
backMask = _args2[5];
|
|
155
|
-
gl.stencilFuncSeparate(_constants.default.FRONT, func, ref, mask);
|
|
156
|
-
gl.stencilFuncSeparate(_constants.default.BACK, backFunc, backRef, backMask);
|
|
157
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "stencilOp", function stencilOp(gl, args) {
|
|
158
|
-
args = isArray(args) && args.length === 3 ? [].concat((0, _toConsumableArray2.default)(args), (0, _toConsumableArray2.default)(args)) : args;
|
|
159
|
-
var _args3 = args,
|
|
160
|
-
_args4 = (0, _slicedToArray2.default)(_args3, 6),
|
|
161
|
-
sfail = _args4[0],
|
|
162
|
-
dpfail = _args4[1],
|
|
163
|
-
dppass = _args4[2],
|
|
164
|
-
backSfail = _args4[3],
|
|
165
|
-
backDpfail = _args4[4],
|
|
166
|
-
backDppass = _args4[5];
|
|
167
|
-
gl.stencilOpSeparate(_constants.default.FRONT, sfail, dpfail, dppass);
|
|
168
|
-
gl.stencilOpSeparate(_constants.default.BACK, backSfail, backDpfail, backDppass);
|
|
169
|
-
}), (0, _defineProperty2.default)(_GL_PARAMETER_SETTERS, "viewport", function viewport(gl, value) {
|
|
170
|
-
return gl.viewport.apply(gl, (0, _toConsumableArray2.default)(value));
|
|
171
|
-
}), _GL_PARAMETER_SETTERS);
|
|
172
|
-
exports.GL_PARAMETER_SETTERS = GL_PARAMETER_SETTERS;
|
|
173
|
-
function getValue(glEnum, values, cache) {
|
|
174
|
-
return values[glEnum] !== undefined ? values[glEnum] : cache[glEnum];
|
|
175
|
-
}
|
|
176
|
-
var GL_COMPOSITE_PARAMETER_SETTERS = {
|
|
177
|
-
blendEquation: function blendEquation(gl, values, cache) {
|
|
178
|
-
return gl.blendEquationSeparate(getValue(_constants.default.BLEND_EQUATION_RGB, values, cache), getValue(_constants.default.BLEND_EQUATION_ALPHA, values, cache));
|
|
179
|
-
},
|
|
180
|
-
blendFunc: function blendFunc(gl, values, cache) {
|
|
181
|
-
return gl.blendFuncSeparate(getValue(_constants.default.BLEND_SRC_RGB, values, cache), getValue(_constants.default.BLEND_DST_RGB, values, cache), getValue(_constants.default.BLEND_SRC_ALPHA, values, cache), getValue(_constants.default.BLEND_DST_ALPHA, values, cache));
|
|
182
|
-
},
|
|
183
|
-
polygonOffset: function polygonOffset(gl, values, cache) {
|
|
184
|
-
return gl.polygonOffset(getValue(_constants.default.POLYGON_OFFSET_FACTOR, values, cache), getValue(_constants.default.POLYGON_OFFSET_UNITS, values, cache));
|
|
185
|
-
},
|
|
186
|
-
sampleCoverage: function sampleCoverage(gl, values, cache) {
|
|
187
|
-
return gl.sampleCoverage(getValue(_constants.default.SAMPLE_COVERAGE_VALUE, values, cache), getValue(_constants.default.SAMPLE_COVERAGE_INVERT, values, cache));
|
|
188
|
-
},
|
|
189
|
-
stencilFuncFront: function stencilFuncFront(gl, values, cache) {
|
|
190
|
-
return gl.stencilFuncSeparate(_constants.default.FRONT, getValue(_constants.default.STENCIL_FUNC, values, cache), getValue(_constants.default.STENCIL_REF, values, cache), getValue(_constants.default.STENCIL_VALUE_MASK, values, cache));
|
|
191
|
-
},
|
|
192
|
-
stencilFuncBack: function stencilFuncBack(gl, values, cache) {
|
|
193
|
-
return gl.stencilFuncSeparate(_constants.default.BACK, getValue(_constants.default.STENCIL_BACK_FUNC, values, cache), getValue(_constants.default.STENCIL_BACK_REF, values, cache), getValue(_constants.default.STENCIL_BACK_VALUE_MASK, values, cache));
|
|
194
|
-
},
|
|
195
|
-
stencilOpFront: function stencilOpFront(gl, values, cache) {
|
|
196
|
-
return gl.stencilOpSeparate(_constants.default.FRONT, getValue(_constants.default.STENCIL_FAIL, values, cache), getValue(_constants.default.STENCIL_PASS_DEPTH_FAIL, values, cache), getValue(_constants.default.STENCIL_PASS_DEPTH_PASS, values, cache));
|
|
197
|
-
},
|
|
198
|
-
stencilOpBack: function stencilOpBack(gl, values, cache) {
|
|
199
|
-
return gl.stencilOpSeparate(_constants.default.BACK, getValue(_constants.default.STENCIL_BACK_FAIL, values, cache), getValue(_constants.default.STENCIL_BACK_PASS_DEPTH_FAIL, values, cache), getValue(_constants.default.STENCIL_BACK_PASS_DEPTH_PASS, values, cache));
|
|
200
|
-
}
|
|
201
|
-
};
|
|
202
|
-
exports.GL_COMPOSITE_PARAMETER_SETTERS = GL_COMPOSITE_PARAMETER_SETTERS;
|
|
203
|
-
var GL_HOOKED_SETTERS = {
|
|
204
|
-
enable: function enable(update, capability) {
|
|
205
|
-
return update((0, _defineProperty2.default)({}, capability, true));
|
|
206
|
-
},
|
|
207
|
-
disable: function disable(update, capability) {
|
|
208
|
-
return update((0, _defineProperty2.default)({}, capability, false));
|
|
209
|
-
},
|
|
210
|
-
pixelStorei: function pixelStorei(update, pname, value) {
|
|
211
|
-
return update((0, _defineProperty2.default)({}, pname, value));
|
|
212
|
-
},
|
|
213
|
-
hint: function hint(update, pname, _hint) {
|
|
214
|
-
return update((0, _defineProperty2.default)({}, pname, _hint));
|
|
215
|
-
},
|
|
216
|
-
useProgram: function useProgram(update, value) {
|
|
217
|
-
return update((0, _defineProperty2.default)({}, _constants.default.CURRENT_PROGRAM, value));
|
|
218
|
-
},
|
|
219
|
-
bindRenderbuffer: function bindRenderbuffer(update, target, value) {
|
|
220
|
-
return update((0, _defineProperty2.default)({}, _constants.default.RENDERBUFFER_BINDING, value));
|
|
221
|
-
},
|
|
222
|
-
bindTransformFeedback: function bindTransformFeedback(update, target, value) {
|
|
223
|
-
return update((0, _defineProperty2.default)({}, _constants.default.TRANSFORM_FEEDBACK_BINDING, value));
|
|
224
|
-
},
|
|
225
|
-
bindVertexArray: function bindVertexArray(update, value) {
|
|
226
|
-
return update((0, _defineProperty2.default)({}, _constants.default.VERTEX_ARRAY_BINDING, value));
|
|
227
|
-
},
|
|
228
|
-
bindFramebuffer: function bindFramebuffer(update, target, framebuffer) {
|
|
229
|
-
var _update9;
|
|
230
|
-
switch (target) {
|
|
231
|
-
case _constants.default.FRAMEBUFFER:
|
|
232
|
-
return update((_update9 = {}, (0, _defineProperty2.default)(_update9, _constants.default.DRAW_FRAMEBUFFER_BINDING, framebuffer), (0, _defineProperty2.default)(_update9, _constants.default.READ_FRAMEBUFFER_BINDING, framebuffer), _update9));
|
|
233
|
-
case _constants.default.DRAW_FRAMEBUFFER:
|
|
234
|
-
return update((0, _defineProperty2.default)({}, _constants.default.DRAW_FRAMEBUFFER_BINDING, framebuffer));
|
|
235
|
-
case _constants.default.READ_FRAMEBUFFER:
|
|
236
|
-
return update((0, _defineProperty2.default)({}, _constants.default.READ_FRAMEBUFFER_BINDING, framebuffer));
|
|
237
|
-
default:
|
|
238
|
-
return null;
|
|
239
|
-
}
|
|
240
|
-
},
|
|
241
|
-
bindBuffer: function bindBuffer(update, target, buffer) {
|
|
242
|
-
var _GL$ARRAY_BUFFER$GL$C;
|
|
243
|
-
var pname = (_GL$ARRAY_BUFFER$GL$C = {}, (0, _defineProperty2.default)(_GL$ARRAY_BUFFER$GL$C, _constants.default.ARRAY_BUFFER, [_constants.default.ARRAY_BUFFER_BINDING]), (0, _defineProperty2.default)(_GL$ARRAY_BUFFER$GL$C, _constants.default.COPY_READ_BUFFER, [_constants.default.COPY_READ_BUFFER_BINDING]), (0, _defineProperty2.default)(_GL$ARRAY_BUFFER$GL$C, _constants.default.COPY_WRITE_BUFFER, [_constants.default.COPY_WRITE_BUFFER_BINDING]), (0, _defineProperty2.default)(_GL$ARRAY_BUFFER$GL$C, _constants.default.PIXEL_PACK_BUFFER, [_constants.default.PIXEL_PACK_BUFFER_BINDING]), (0, _defineProperty2.default)(_GL$ARRAY_BUFFER$GL$C, _constants.default.PIXEL_UNPACK_BUFFER, [_constants.default.PIXEL_UNPACK_BUFFER_BINDING]), _GL$ARRAY_BUFFER$GL$C)[target];
|
|
244
|
-
if (pname) {
|
|
245
|
-
return update((0, _defineProperty2.default)({}, pname, buffer));
|
|
246
|
-
}
|
|
247
|
-
return {
|
|
248
|
-
valueChanged: true
|
|
249
|
-
};
|
|
250
|
-
},
|
|
251
|
-
blendColor: function blendColor(update, r, g, b, a) {
|
|
252
|
-
return update((0, _defineProperty2.default)({}, _constants.default.BLEND_COLOR, new Float32Array([r, g, b, a])));
|
|
253
|
-
},
|
|
254
|
-
blendEquation: function blendEquation(update, mode) {
|
|
255
|
-
var _update14;
|
|
256
|
-
return update((_update14 = {}, (0, _defineProperty2.default)(_update14, _constants.default.BLEND_EQUATION_RGB, mode), (0, _defineProperty2.default)(_update14, _constants.default.BLEND_EQUATION_ALPHA, mode), _update14));
|
|
257
|
-
},
|
|
258
|
-
blendEquationSeparate: function blendEquationSeparate(update, modeRGB, modeAlpha) {
|
|
259
|
-
var _update15;
|
|
260
|
-
return update((_update15 = {}, (0, _defineProperty2.default)(_update15, _constants.default.BLEND_EQUATION_RGB, modeRGB), (0, _defineProperty2.default)(_update15, _constants.default.BLEND_EQUATION_ALPHA, modeAlpha), _update15));
|
|
261
|
-
},
|
|
262
|
-
blendFunc: function blendFunc(update, src, dst) {
|
|
263
|
-
var _update16;
|
|
264
|
-
return update((_update16 = {}, (0, _defineProperty2.default)(_update16, _constants.default.BLEND_SRC_RGB, src), (0, _defineProperty2.default)(_update16, _constants.default.BLEND_DST_RGB, dst), (0, _defineProperty2.default)(_update16, _constants.default.BLEND_SRC_ALPHA, src), (0, _defineProperty2.default)(_update16, _constants.default.BLEND_DST_ALPHA, dst), _update16));
|
|
265
|
-
},
|
|
266
|
-
blendFuncSeparate: function blendFuncSeparate(update, srcRGB, dstRGB, srcAlpha, dstAlpha) {
|
|
267
|
-
var _update17;
|
|
268
|
-
return update((_update17 = {}, (0, _defineProperty2.default)(_update17, _constants.default.BLEND_SRC_RGB, srcRGB), (0, _defineProperty2.default)(_update17, _constants.default.BLEND_DST_RGB, dstRGB), (0, _defineProperty2.default)(_update17, _constants.default.BLEND_SRC_ALPHA, srcAlpha), (0, _defineProperty2.default)(_update17, _constants.default.BLEND_DST_ALPHA, dstAlpha), _update17));
|
|
269
|
-
},
|
|
270
|
-
clearColor: function clearColor(update, r, g, b, a) {
|
|
271
|
-
return update((0, _defineProperty2.default)({}, _constants.default.COLOR_CLEAR_VALUE, new Float32Array([r, g, b, a])));
|
|
272
|
-
},
|
|
273
|
-
clearDepth: function clearDepth(update, depth) {
|
|
274
|
-
return update((0, _defineProperty2.default)({}, _constants.default.DEPTH_CLEAR_VALUE, depth));
|
|
275
|
-
},
|
|
276
|
-
clearStencil: function clearStencil(update, s) {
|
|
277
|
-
return update((0, _defineProperty2.default)({}, _constants.default.STENCIL_CLEAR_VALUE, s));
|
|
278
|
-
},
|
|
279
|
-
colorMask: function colorMask(update, r, g, b, a) {
|
|
280
|
-
return update((0, _defineProperty2.default)({}, _constants.default.COLOR_WRITEMASK, [r, g, b, a]));
|
|
281
|
-
},
|
|
282
|
-
cullFace: function cullFace(update, mode) {
|
|
283
|
-
return update((0, _defineProperty2.default)({}, _constants.default.CULL_FACE_MODE, mode));
|
|
284
|
-
},
|
|
285
|
-
depthFunc: function depthFunc(update, func) {
|
|
286
|
-
return update((0, _defineProperty2.default)({}, _constants.default.DEPTH_FUNC, func));
|
|
287
|
-
},
|
|
288
|
-
depthRange: function depthRange(update, zNear, zFar) {
|
|
289
|
-
return update((0, _defineProperty2.default)({}, _constants.default.DEPTH_RANGE, new Float32Array([zNear, zFar])));
|
|
290
|
-
},
|
|
291
|
-
depthMask: function depthMask(update, mask) {
|
|
292
|
-
return update((0, _defineProperty2.default)({}, _constants.default.DEPTH_WRITEMASK, mask));
|
|
293
|
-
},
|
|
294
|
-
frontFace: function frontFace(update, face) {
|
|
295
|
-
return update((0, _defineProperty2.default)({}, _constants.default.FRONT_FACE, face));
|
|
296
|
-
},
|
|
297
|
-
lineWidth: function lineWidth(update, width) {
|
|
298
|
-
return update((0, _defineProperty2.default)({}, _constants.default.LINE_WIDTH, width));
|
|
299
|
-
},
|
|
300
|
-
polygonOffset: function polygonOffset(update, factor, units) {
|
|
301
|
-
var _update28;
|
|
302
|
-
return update((_update28 = {}, (0, _defineProperty2.default)(_update28, _constants.default.POLYGON_OFFSET_FACTOR, factor), (0, _defineProperty2.default)(_update28, _constants.default.POLYGON_OFFSET_UNITS, units), _update28));
|
|
303
|
-
},
|
|
304
|
-
sampleCoverage: function sampleCoverage(update, value, invert) {
|
|
305
|
-
var _update29;
|
|
306
|
-
return update((_update29 = {}, (0, _defineProperty2.default)(_update29, _constants.default.SAMPLE_COVERAGE_VALUE, value), (0, _defineProperty2.default)(_update29, _constants.default.SAMPLE_COVERAGE_INVERT, invert), _update29));
|
|
307
|
-
},
|
|
308
|
-
scissor: function scissor(update, x, y, width, height) {
|
|
309
|
-
return update((0, _defineProperty2.default)({}, _constants.default.SCISSOR_BOX, new Int32Array([x, y, width, height])));
|
|
310
|
-
},
|
|
311
|
-
stencilMask: function stencilMask(update, mask) {
|
|
312
|
-
var _update31;
|
|
313
|
-
return update((_update31 = {}, (0, _defineProperty2.default)(_update31, _constants.default.STENCIL_WRITEMASK, mask), (0, _defineProperty2.default)(_update31, _constants.default.STENCIL_BACK_WRITEMASK, mask), _update31));
|
|
314
|
-
},
|
|
315
|
-
stencilMaskSeparate: function stencilMaskSeparate(update, face, mask) {
|
|
316
|
-
return update((0, _defineProperty2.default)({}, face === _constants.default.FRONT ? _constants.default.STENCIL_WRITEMASK : _constants.default.STENCIL_BACK_WRITEMASK, mask));
|
|
317
|
-
},
|
|
318
|
-
stencilFunc: function stencilFunc(update, func, ref, mask) {
|
|
319
|
-
var _update33;
|
|
320
|
-
return update((_update33 = {}, (0, _defineProperty2.default)(_update33, _constants.default.STENCIL_FUNC, func), (0, _defineProperty2.default)(_update33, _constants.default.STENCIL_REF, ref), (0, _defineProperty2.default)(_update33, _constants.default.STENCIL_VALUE_MASK, mask), (0, _defineProperty2.default)(_update33, _constants.default.STENCIL_BACK_FUNC, func), (0, _defineProperty2.default)(_update33, _constants.default.STENCIL_BACK_REF, ref), (0, _defineProperty2.default)(_update33, _constants.default.STENCIL_BACK_VALUE_MASK, mask), _update33));
|
|
321
|
-
},
|
|
322
|
-
stencilFuncSeparate: function stencilFuncSeparate(update, face, func, ref, mask) {
|
|
323
|
-
var _update34;
|
|
324
|
-
return update((_update34 = {}, (0, _defineProperty2.default)(_update34, face === _constants.default.FRONT ? _constants.default.STENCIL_FUNC : _constants.default.STENCIL_BACK_FUNC, func), (0, _defineProperty2.default)(_update34, face === _constants.default.FRONT ? _constants.default.STENCIL_REF : _constants.default.STENCIL_BACK_REF, ref), (0, _defineProperty2.default)(_update34, face === _constants.default.FRONT ? _constants.default.STENCIL_VALUE_MASK : _constants.default.STENCIL_BACK_VALUE_MASK, mask), _update34));
|
|
325
|
-
},
|
|
326
|
-
stencilOp: function stencilOp(update, fail, zfail, zpass) {
|
|
327
|
-
var _update35;
|
|
328
|
-
return update((_update35 = {}, (0, _defineProperty2.default)(_update35, _constants.default.STENCIL_FAIL, fail), (0, _defineProperty2.default)(_update35, _constants.default.STENCIL_PASS_DEPTH_FAIL, zfail), (0, _defineProperty2.default)(_update35, _constants.default.STENCIL_PASS_DEPTH_PASS, zpass), (0, _defineProperty2.default)(_update35, _constants.default.STENCIL_BACK_FAIL, fail), (0, _defineProperty2.default)(_update35, _constants.default.STENCIL_BACK_PASS_DEPTH_FAIL, zfail), (0, _defineProperty2.default)(_update35, _constants.default.STENCIL_BACK_PASS_DEPTH_PASS, zpass), _update35));
|
|
329
|
-
},
|
|
330
|
-
stencilOpSeparate: function stencilOpSeparate(update, face, fail, zfail, zpass) {
|
|
331
|
-
var _update36;
|
|
332
|
-
return update((_update36 = {}, (0, _defineProperty2.default)(_update36, face === _constants.default.FRONT ? _constants.default.STENCIL_FAIL : _constants.default.STENCIL_BACK_FAIL, fail), (0, _defineProperty2.default)(_update36, face === _constants.default.FRONT ? _constants.default.STENCIL_PASS_DEPTH_FAIL : _constants.default.STENCIL_BACK_PASS_DEPTH_FAIL, zfail), (0, _defineProperty2.default)(_update36, face === _constants.default.FRONT ? _constants.default.STENCIL_PASS_DEPTH_PASS : _constants.default.STENCIL_BACK_PASS_DEPTH_PASS, zpass), _update36));
|
|
333
|
-
},
|
|
334
|
-
viewport: function viewport(update, x, y, width, height) {
|
|
335
|
-
return update((0, _defineProperty2.default)({}, _constants.default.VIEWPORT, [x, y, width, height]));
|
|
336
|
-
}
|
|
337
|
-
};
|
|
338
|
-
exports.GL_HOOKED_SETTERS = GL_HOOKED_SETTERS;
|
|
339
|
-
var isEnabled = function isEnabled(gl, key) {
|
|
340
|
-
return gl.isEnabled(key);
|
|
341
|
-
};
|
|
342
|
-
var GL_PARAMETER_GETTERS = (_GL_PARAMETER_GETTERS = {}, (0, _defineProperty2.default)(_GL_PARAMETER_GETTERS, _constants.default.BLEND, isEnabled), (0, _defineProperty2.default)(_GL_PARAMETER_GETTERS, _constants.default.CULL_FACE, isEnabled), (0, _defineProperty2.default)(_GL_PARAMETER_GETTERS, _constants.default.DEPTH_TEST, isEnabled), (0, _defineProperty2.default)(_GL_PARAMETER_GETTERS, _constants.default.DITHER, isEnabled), (0, _defineProperty2.default)(_GL_PARAMETER_GETTERS, _constants.default.POLYGON_OFFSET_FILL, isEnabled), (0, _defineProperty2.default)(_GL_PARAMETER_GETTERS, _constants.default.SAMPLE_ALPHA_TO_COVERAGE, isEnabled), (0, _defineProperty2.default)(_GL_PARAMETER_GETTERS, _constants.default.SAMPLE_COVERAGE, isEnabled), (0, _defineProperty2.default)(_GL_PARAMETER_GETTERS, _constants.default.SCISSOR_TEST, isEnabled), (0, _defineProperty2.default)(_GL_PARAMETER_GETTERS, _constants.default.STENCIL_TEST, isEnabled), (0, _defineProperty2.default)(_GL_PARAMETER_GETTERS, _constants.default.RASTERIZER_DISCARD, isEnabled), _GL_PARAMETER_GETTERS);
|
|
343
|
-
exports.GL_PARAMETER_GETTERS = GL_PARAMETER_GETTERS;
|
|
344
|
-
var NON_CACHE_PARAMETERS = new Set([_constants.default.ACTIVE_TEXTURE, _constants.default.TRANSFORM_FEEDBACK_ACTIVE, _constants.default.TRANSFORM_FEEDBACK_PAUSED, _constants.default.TRANSFORM_FEEDBACK_BUFFER_BINDING, _constants.default.UNIFORM_BUFFER_BINDING, _constants.default.ELEMENT_ARRAY_BUFFER_BINDING, _constants.default.IMPLEMENTATION_COLOR_READ_FORMAT, _constants.default.IMPLEMENTATION_COLOR_READ_TYPE, _constants.default.READ_BUFFER, _constants.default.DRAW_BUFFER0, _constants.default.DRAW_BUFFER1, _constants.default.DRAW_BUFFER2, _constants.default.DRAW_BUFFER3, _constants.default.DRAW_BUFFER4, _constants.default.DRAW_BUFFER5, _constants.default.DRAW_BUFFER6, _constants.default.DRAW_BUFFER7, _constants.default.DRAW_BUFFER8, _constants.default.DRAW_BUFFER9, _constants.default.DRAW_BUFFER10, _constants.default.DRAW_BUFFER11, _constants.default.DRAW_BUFFER12, _constants.default.DRAW_BUFFER13, _constants.default.DRAW_BUFFER14, _constants.default.DRAW_BUFFER15, _constants.default.SAMPLER_BINDING, _constants.default.TEXTURE_BINDING_2D, _constants.default.TEXTURE_BINDING_2D_ARRAY, _constants.default.TEXTURE_BINDING_3D, _constants.default.TEXTURE_BINDING_CUBE_MAP]);
|
|
345
|
-
exports.NON_CACHE_PARAMETERS = NON_CACHE_PARAMETERS;
|
|
346
|
-
//# sourceMappingURL=webgl-parameter-tables.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webgl-parameter-tables.js","names":["_constants","_interopRequireDefault","require","_webglChecks","_GL_PARAMETER_DEFAULT","_GL_PARAMETER_SETTERS","_GL_PARAMETER_GETTERS","GL_PARAMETER_DEFAULTS","_defineProperty2","default","GL","BLEND","BLEND_COLOR","Float32Array","BLEND_EQUATION_RGB","FUNC_ADD","BLEND_EQUATION_ALPHA","BLEND_SRC_RGB","ONE","BLEND_DST_RGB","ZERO","BLEND_SRC_ALPHA","BLEND_DST_ALPHA","COLOR_CLEAR_VALUE","COLOR_WRITEMASK","CULL_FACE","CULL_FACE_MODE","BACK","DEPTH_TEST","DEPTH_CLEAR_VALUE","DEPTH_FUNC","LESS","DEPTH_RANGE","DEPTH_WRITEMASK","DITHER","CURRENT_PROGRAM","FRAMEBUFFER_BINDING","RENDERBUFFER_BINDING","VERTEX_ARRAY_BINDING","ARRAY_BUFFER_BINDING","FRONT_FACE","CCW","GENERATE_MIPMAP_HINT","DONT_CARE","LINE_WIDTH","POLYGON_OFFSET_FILL","POLYGON_OFFSET_FACTOR","POLYGON_OFFSET_UNITS","SAMPLE_ALPHA_TO_COVERAGE","SAMPLE_COVERAGE","SAMPLE_COVERAGE_VALUE","SAMPLE_COVERAGE_INVERT","SCISSOR_TEST","SCISSOR_BOX","Int32Array","STENCIL_TEST","STENCIL_CLEAR_VALUE","STENCIL_WRITEMASK","STENCIL_BACK_WRITEMASK","STENCIL_FUNC","ALWAYS","STENCIL_REF","STENCIL_VALUE_MASK","STENCIL_BACK_FUNC","STENCIL_BACK_REF","STENCIL_BACK_VALUE_MASK","STENCIL_FAIL","KEEP","STENCIL_PASS_DEPTH_FAIL","STENCIL_PASS_DEPTH_PASS","STENCIL_BACK_FAIL","STENCIL_BACK_PASS_DEPTH_FAIL","STENCIL_BACK_PASS_DEPTH_PASS","VIEWPORT","PACK_ALIGNMENT","UNPACK_ALIGNMENT","UNPACK_FLIP_Y_WEBGL","UNPACK_PREMULTIPLY_ALPHA_WEBGL","UNPACK_COLORSPACE_CONVERSION_WEBGL","BROWSER_DEFAULT_WEBGL","TRANSFORM_FEEDBACK_BINDING","COPY_READ_BUFFER_BINDING","COPY_WRITE_BUFFER_BINDING","PIXEL_PACK_BUFFER_BINDING","PIXEL_UNPACK_BUFFER_BINDING","FRAGMENT_SHADER_DERIVATIVE_HINT","READ_FRAMEBUFFER_BINDING","RASTERIZER_DISCARD","PACK_ROW_LENGTH","PACK_SKIP_PIXELS","PACK_SKIP_ROWS","UNPACK_ROW_LENGTH","UNPACK_IMAGE_HEIGHT","UNPACK_SKIP_PIXELS","UNPACK_SKIP_ROWS","UNPACK_SKIP_IMAGES","exports","enable","gl","value","key","disable","hint","pixelStorei","bindFramebuffer","target","isWebGL2","DRAW_FRAMEBUFFER","FRAMEBUFFER","READ_FRAMEBUFFER","bindBuffer","_bindingMap","bindingMap","ARRAY_BUFFER","COPY_READ_BUFFER","COPY_WRITE_BUFFER","PIXEL_PACK_BUFFER","PIXEL_UNPACK_BUFFER","isArray","array","Array","ArrayBuffer","isView","DataView","GL_PARAMETER_SETTERS","blendColor","apply","_toConsumableArray2","clearColor","colorMask","cullFace","clearDepth","depthFunc","depthRange","depthMask","useProgram","bindRenderbuffer","RENDERBUFFER","_bindTransformFeedbac","_ref","bindTransformFeedback","call","TRANSFORM_FEEDBACK","bindVertexArray","frontFace","lineWidth","scissor","clearStencil","stencilMaskSeparate","FRONT","viewport","framebuffer","handle","blend","blendEquation","args","separateModes","blendEquationSeparate","blendFunc","separateFuncs","length","concat","blendFuncSeparate","cull","depthTest","dither","derivativeHint","mipmapHint","polygonOffsetFill","polygonOffset","sampleCoverage","scissorTest","stencilTest","stencilMask","_value","_value2","_slicedToArray2","mask","backMask","stencilFunc","_args","_args2","func","ref","backFunc","backRef","stencilFuncSeparate","stencilOp","_args3","_args4","sfail","dpfail","dppass","backSfail","backDpfail","backDppass","stencilOpSeparate","getValue","glEnum","values","cache","undefined","GL_COMPOSITE_PARAMETER_SETTERS","stencilFuncFront","stencilFuncBack","stencilOpFront","stencilOpBack","GL_HOOKED_SETTERS","update","capability","pname","_update9","DRAW_FRAMEBUFFER_BINDING","buffer","_GL$ARRAY_BUFFER$GL$C","valueChanged","r","g","b","a","mode","_update14","modeRGB","modeAlpha","_update15","src","dst","_update16","srcRGB","dstRGB","srcAlpha","dstAlpha","_update17","depth","s","zNear","zFar","face","width","factor","units","_update28","invert","_update29","x","y","height","_update31","_update33","_update34","fail","zfail","zpass","_update35","_update36","isEnabled","GL_PARAMETER_GETTERS","NON_CACHE_PARAMETERS","Set","ACTIVE_TEXTURE","TRANSFORM_FEEDBACK_ACTIVE","TRANSFORM_FEEDBACK_PAUSED","TRANSFORM_FEEDBACK_BUFFER_BINDING","UNIFORM_BUFFER_BINDING","ELEMENT_ARRAY_BUFFER_BINDING","IMPLEMENTATION_COLOR_READ_FORMAT","IMPLEMENTATION_COLOR_READ_TYPE","READ_BUFFER","DRAW_BUFFER0","DRAW_BUFFER1","DRAW_BUFFER2","DRAW_BUFFER3","DRAW_BUFFER4","DRAW_BUFFER5","DRAW_BUFFER6","DRAW_BUFFER7","DRAW_BUFFER8","DRAW_BUFFER9","DRAW_BUFFER10","DRAW_BUFFER11","DRAW_BUFFER12","DRAW_BUFFER13","DRAW_BUFFER14","DRAW_BUFFER15","SAMPLER_BINDING","TEXTURE_BINDING_2D","TEXTURE_BINDING_2D_ARRAY","TEXTURE_BINDING_3D","TEXTURE_BINDING_CUBE_MAP"],"sources":["../../../../src/context/parameters/webgl-parameter-tables.ts"],"sourcesContent":["// Tables describing WebGL parameters\nimport GL from '@luma.gl/constants';\nimport {isWebGL2} from '../context/webgl-checks';\nimport type {GLParameters} from '../../types/webgl';\n// DEFAULT SETTINGS - FOR FAST CACHE INITIALIZATION AND CONTEXT RESETS\n\n/* eslint-disable no-shadow */\n\nexport const GL_PARAMETER_DEFAULTS: GLParameters = {\n [GL.BLEND]: false,\n [GL.BLEND_COLOR]: new Float32Array([0, 0, 0, 0]),\n [GL.BLEND_EQUATION_RGB]: GL.FUNC_ADD,\n [GL.BLEND_EQUATION_ALPHA]: GL.FUNC_ADD,\n [GL.BLEND_SRC_RGB]: GL.ONE,\n [GL.BLEND_DST_RGB]: GL.ZERO,\n [GL.BLEND_SRC_ALPHA]: GL.ONE,\n [GL.BLEND_DST_ALPHA]: GL.ZERO,\n [GL.COLOR_CLEAR_VALUE]: new Float32Array([0, 0, 0, 0]), // TBD\n [GL.COLOR_WRITEMASK]: [true, true, true, true],\n [GL.CULL_FACE]: false,\n [GL.CULL_FACE_MODE]: GL.BACK,\n [GL.DEPTH_TEST]: false,\n [GL.DEPTH_CLEAR_VALUE]: 1,\n [GL.DEPTH_FUNC]: GL.LESS,\n [GL.DEPTH_RANGE]: new Float32Array([0, 1]), // TBD\n [GL.DEPTH_WRITEMASK]: true,\n [GL.DITHER]: true,\n [GL.CURRENT_PROGRAM]: null,\n // FRAMEBUFFER_BINDING and DRAW_FRAMEBUFFER_BINDING(WebGL2) refer same state.\n [GL.FRAMEBUFFER_BINDING]: null,\n [GL.RENDERBUFFER_BINDING]: null,\n [GL.VERTEX_ARRAY_BINDING]: null,\n [GL.ARRAY_BUFFER_BINDING]: null,\n [GL.FRONT_FACE]: GL.CCW,\n [GL.GENERATE_MIPMAP_HINT]: GL.DONT_CARE,\n [GL.LINE_WIDTH]: 1,\n [GL.POLYGON_OFFSET_FILL]: false,\n [GL.POLYGON_OFFSET_FACTOR]: 0,\n [GL.POLYGON_OFFSET_UNITS]: 0,\n [GL.SAMPLE_ALPHA_TO_COVERAGE]: false,\n [GL.SAMPLE_COVERAGE]: false,\n [GL.SAMPLE_COVERAGE_VALUE]: 1.0,\n [GL.SAMPLE_COVERAGE_INVERT]: false,\n [GL.SCISSOR_TEST]: false,\n // Note: Dynamic value. If scissor test enabled we expect users to set correct scissor box\n [GL.SCISSOR_BOX]: new Int32Array([0, 0, 1024, 1024]),\n [GL.STENCIL_TEST]: false,\n [GL.STENCIL_CLEAR_VALUE]: 0,\n [GL.STENCIL_WRITEMASK]: 0xffffffff,\n [GL.STENCIL_BACK_WRITEMASK]: 0xffffffff,\n [GL.STENCIL_FUNC]: GL.ALWAYS,\n [GL.STENCIL_REF]: 0,\n [GL.STENCIL_VALUE_MASK]: 0xffffffff,\n [GL.STENCIL_BACK_FUNC]: GL.ALWAYS,\n [GL.STENCIL_BACK_REF]: 0,\n [GL.STENCIL_BACK_VALUE_MASK]: 0xffffffff,\n [GL.STENCIL_FAIL]: GL.KEEP,\n [GL.STENCIL_PASS_DEPTH_FAIL]: GL.KEEP,\n [GL.STENCIL_PASS_DEPTH_PASS]: GL.KEEP,\n [GL.STENCIL_BACK_FAIL]: GL.KEEP,\n [GL.STENCIL_BACK_PASS_DEPTH_FAIL]: GL.KEEP,\n [GL.STENCIL_BACK_PASS_DEPTH_PASS]: GL.KEEP,\n // Dynamic value: We use [0, 0, 1024, 1024] as default, but usually this is updated in each frame.\n [GL.VIEWPORT]: [0, 0, 1024, 1024],\n // WEBGL1 PIXEL PACK/UNPACK MODES\n [GL.PACK_ALIGNMENT]: 4,\n [GL.UNPACK_ALIGNMENT]: 4,\n [GL.UNPACK_FLIP_Y_WEBGL]: false,\n [GL.UNPACK_PREMULTIPLY_ALPHA_WEBGL]: false,\n [GL.UNPACK_COLORSPACE_CONVERSION_WEBGL]: GL.BROWSER_DEFAULT_WEBGL,\n\n // WEBGL2 / EXTENSIONS\n // gl1: 'OES_standard_derivatives'\n [GL.TRANSFORM_FEEDBACK_BINDING]: null,\n [GL.COPY_READ_BUFFER_BINDING]: null,\n [GL.COPY_WRITE_BUFFER_BINDING]: null,\n [GL.PIXEL_PACK_BUFFER_BINDING]: null,\n [GL.PIXEL_UNPACK_BUFFER_BINDING]: null,\n [GL.FRAGMENT_SHADER_DERIVATIVE_HINT]: GL.DONT_CARE,\n [GL.READ_FRAMEBUFFER_BINDING]: null,\n [GL.RASTERIZER_DISCARD]: false,\n [GL.PACK_ROW_LENGTH]: 0,\n [GL.PACK_SKIP_PIXELS]: 0,\n [GL.PACK_SKIP_ROWS]: 0,\n [GL.UNPACK_ROW_LENGTH]: 0,\n [GL.UNPACK_IMAGE_HEIGHT]: 0,\n [GL.UNPACK_SKIP_PIXELS]: 0,\n [GL.UNPACK_SKIP_ROWS]: 0,\n [GL.UNPACK_SKIP_IMAGES]: 0\n};\n\n// SETTER TABLES - ENABLES SETTING ANY PARAMETER WITH A COMMON API\n\nconst enable = (gl: WebGLRenderingContext, value: unknown, key: GL) =>\n value ? gl.enable(key) : gl.disable(key);\nconst hint = (gl: WebGLRenderingContext, value: GL, key: GL) => gl.hint(key, value);\nconst pixelStorei = (gl: WebGLRenderingContext, value: number | boolean, key: GL) =>\n gl.pixelStorei(key, value);\n\nconst bindFramebuffer = (gl: WebGLRenderingContext, value: unknown, key: GL) => {\n let target;\n if (key === GL.FRAMEBUFFER_BINDING) {\n target = isWebGL2(gl) ? GL.DRAW_FRAMEBUFFER : GL.FRAMEBUFFER;\n } else {\n // GL.READ_FRAMEBUFFER_BINDING\n target = GL.READ_FRAMEBUFFER;\n }\n return gl.bindFramebuffer(target, value);\n};\n\nconst bindBuffer = (gl: WebGLRenderingContext, value: unknown, key: GL) => {\n const bindingMap: Partial<Record<GL, GL>> = {\n [GL.ARRAY_BUFFER_BINDING]: GL.ARRAY_BUFFER,\n [GL.COPY_READ_BUFFER_BINDING]: GL.COPY_READ_BUFFER,\n [GL.COPY_WRITE_BUFFER_BINDING]: GL.COPY_WRITE_BUFFER,\n [GL.PIXEL_PACK_BUFFER_BINDING]: GL.PIXEL_PACK_BUFFER,\n [GL.PIXEL_UNPACK_BUFFER_BINDING]: GL.PIXEL_UNPACK_BUFFER\n };\n const target = bindingMap[key];\n\n gl.bindBuffer(target, value);\n};\n\n// Utility\nfunction isArray(array: unknown): boolean {\n return Array.isArray(array) || (ArrayBuffer.isView(array) && !(array instanceof DataView));\n}\n\n// Map from WebGL parameter names to corresponding WebGL setter functions\n// WegGL constants are read by parameter names, but set by function names\n// NOTE: When value type is a string, it will be handled by 'GL_COMPOSITE_PARAMETER_SETTERS'\nexport const GL_PARAMETER_SETTERS = {\n [GL.BLEND]: enable,\n [GL.BLEND_COLOR]: (gl: WebGLRenderingContext, value: [number, number, number, number]) =>\n gl.blendColor(...value),\n [GL.BLEND_EQUATION_RGB]: 'blendEquation',\n [GL.BLEND_EQUATION_ALPHA]: 'blendEquation',\n [GL.BLEND_SRC_RGB]: 'blendFunc',\n [GL.BLEND_DST_RGB]: 'blendFunc',\n [GL.BLEND_SRC_ALPHA]: 'blendFunc',\n [GL.BLEND_DST_ALPHA]: 'blendFunc',\n [GL.COLOR_CLEAR_VALUE]: (gl: WebGLRenderingContext, value: [number, number, number, number]) =>\n gl.clearColor(...value),\n [GL.COLOR_WRITEMASK]: (gl: WebGLRenderingContext, value: [boolean, boolean, boolean, boolean]) => gl.colorMask(...value),\n [GL.CULL_FACE]: enable,\n [GL.CULL_FACE_MODE]: (gl: WebGLRenderingContext, value) => gl.cullFace(value),\n [GL.DEPTH_TEST]: enable,\n [GL.DEPTH_CLEAR_VALUE]: (gl: WebGLRenderingContext, value) => gl.clearDepth(value),\n [GL.DEPTH_FUNC]: (gl: WebGLRenderingContext, value) => gl.depthFunc(value),\n [GL.DEPTH_RANGE]: (gl: WebGLRenderingContext, value: [number, number]) => gl.depthRange(...value),\n [GL.DEPTH_WRITEMASK]: (gl: WebGLRenderingContext, value) => gl.depthMask(value),\n [GL.DITHER]: enable,\n [GL.FRAGMENT_SHADER_DERIVATIVE_HINT]: hint,\n\n [GL.CURRENT_PROGRAM]: (gl: WebGLRenderingContext, value) => gl.useProgram(value),\n [GL.RENDERBUFFER_BINDING]: (gl: WebGLRenderingContext, value) =>\n gl.bindRenderbuffer(GL.RENDERBUFFER, value),\n [GL.TRANSFORM_FEEDBACK_BINDING]: (gl: WebGLRenderingContext, value) =>\n (gl as WebGL2RenderingContext).bindTransformFeedback?.(GL.TRANSFORM_FEEDBACK, value),\n [GL.VERTEX_ARRAY_BINDING]: (gl: WebGLRenderingContext, value) =>\n (gl as WebGL2RenderingContext).bindVertexArray(value),\n // NOTE: FRAMEBUFFER_BINDING and DRAW_FRAMEBUFFER_BINDING(WebGL2) refer same state.\n [GL.FRAMEBUFFER_BINDING]: bindFramebuffer,\n [GL.READ_FRAMEBUFFER_BINDING]: bindFramebuffer,\n\n // Buffers\n [GL.ARRAY_BUFFER_BINDING]: bindBuffer,\n [GL.COPY_READ_BUFFER_BINDING]: bindBuffer,\n [GL.COPY_WRITE_BUFFER_BINDING]: bindBuffer,\n [GL.PIXEL_PACK_BUFFER_BINDING]: bindBuffer,\n [GL.PIXEL_UNPACK_BUFFER_BINDING]: bindBuffer,\n\n [GL.FRONT_FACE]: (gl: WebGLRenderingContext, value) => gl.frontFace(value),\n [GL.GENERATE_MIPMAP_HINT]: hint,\n [GL.LINE_WIDTH]: (gl: WebGLRenderingContext, value) => gl.lineWidth(value),\n [GL.POLYGON_OFFSET_FILL]: enable,\n [GL.POLYGON_OFFSET_FACTOR]: 'polygonOffset',\n [GL.POLYGON_OFFSET_UNITS]: 'polygonOffset',\n [GL.RASTERIZER_DISCARD]: enable,\n [GL.SAMPLE_ALPHA_TO_COVERAGE]: enable,\n [GL.SAMPLE_COVERAGE]: enable,\n [GL.SAMPLE_COVERAGE_VALUE]: 'sampleCoverage',\n [GL.SAMPLE_COVERAGE_INVERT]: 'sampleCoverage',\n [GL.SCISSOR_TEST]: enable,\n [GL.SCISSOR_BOX]: (gl: WebGLRenderingContext, value: [number, number, number, number]) => gl.scissor(...value),\n [GL.STENCIL_TEST]: enable,\n [GL.STENCIL_CLEAR_VALUE]: (gl: WebGLRenderingContext, value) => gl.clearStencil(value),\n [GL.STENCIL_WRITEMASK]: (gl: WebGLRenderingContext, value) =>\n gl.stencilMaskSeparate(GL.FRONT, value),\n [GL.STENCIL_BACK_WRITEMASK]: (gl: WebGLRenderingContext, value) =>\n gl.stencilMaskSeparate(GL.BACK, value),\n [GL.STENCIL_FUNC]: 'stencilFuncFront',\n [GL.STENCIL_REF]: 'stencilFuncFront',\n [GL.STENCIL_VALUE_MASK]: 'stencilFuncFront',\n [GL.STENCIL_BACK_FUNC]: 'stencilFuncBack',\n [GL.STENCIL_BACK_REF]: 'stencilFuncBack',\n [GL.STENCIL_BACK_VALUE_MASK]: 'stencilFuncBack',\n [GL.STENCIL_FAIL]: 'stencilOpFront',\n [GL.STENCIL_PASS_DEPTH_FAIL]: 'stencilOpFront',\n [GL.STENCIL_PASS_DEPTH_PASS]: 'stencilOpFront',\n [GL.STENCIL_BACK_FAIL]: 'stencilOpBack',\n [GL.STENCIL_BACK_PASS_DEPTH_FAIL]: 'stencilOpBack',\n [GL.STENCIL_BACK_PASS_DEPTH_PASS]: 'stencilOpBack',\n [GL.VIEWPORT]: (gl: WebGLRenderingContext, value: [number, number, number, number]) => gl.viewport(...value),\n\n // WEBGL1 PIXEL PACK/UNPACK MODES\n [GL.PACK_ALIGNMENT]: pixelStorei,\n [GL.UNPACK_ALIGNMENT]: pixelStorei,\n [GL.UNPACK_FLIP_Y_WEBGL]: pixelStorei,\n [GL.UNPACK_PREMULTIPLY_ALPHA_WEBGL]: pixelStorei,\n [GL.UNPACK_COLORSPACE_CONVERSION_WEBGL]: pixelStorei,\n\n // WEBGL2 PIXEL PACK/UNPACK MODES\n // RASTERIZER_DISCARD ...\n [GL.PACK_ROW_LENGTH]: pixelStorei,\n [GL.PACK_SKIP_PIXELS]: pixelStorei,\n [GL.PACK_SKIP_ROWS]: pixelStorei,\n [GL.UNPACK_ROW_LENGTH]: pixelStorei,\n [GL.UNPACK_IMAGE_HEIGHT]: pixelStorei,\n [GL.UNPACK_SKIP_PIXELS]: pixelStorei,\n [GL.UNPACK_SKIP_ROWS]: pixelStorei,\n [GL.UNPACK_SKIP_IMAGES]: pixelStorei,\n\n // Function-style setters\n framebuffer: (gl: WebGLRenderingContext, framebuffer) => {\n // accepts 1) a WebGLFramebuffer 2) null (default framebuffer), or 3) luma.gl Framebuffer class\n // framebuffer is null when restoring to default framebuffer, otherwise use the WebGL handle.\n const handle = framebuffer && 'handle' in framebuffer ? framebuffer.handle : framebuffer;\n return gl.bindFramebuffer(GL.FRAMEBUFFER, handle);\n },\n blend: (gl: WebGLRenderingContext, value) => (value ? gl.enable(GL.BLEND) : gl.disable(GL.BLEND)),\n blendColor: (gl: WebGLRenderingContext, value: [number, number, number, number]) => gl.blendColor(...value),\n blendEquation: (gl: WebGLRenderingContext, args: number | [number, number]) => {\n const separateModes = typeof args === 'number' ? [args, args] as [number, number]: args;\n gl.blendEquationSeparate(...separateModes);\n },\n blendFunc: (gl: WebGLRenderingContext, args: [number, number] | [number, number, number, number]) => {\n const separateFuncs = args?.length === 2 ? [...args, ...args] as [number, number, number, number] : args;\n gl.blendFuncSeparate(...separateFuncs);\n },\n\n clearColor: (gl: WebGLRenderingContext, value: [number, number, number, number]) => gl.clearColor(...value),\n clearDepth: (gl: WebGLRenderingContext, value) => gl.clearDepth(value),\n clearStencil: (gl: WebGLRenderingContext, value) => gl.clearStencil(value),\n\n colorMask: (gl: WebGLRenderingContext, value: [boolean, boolean, boolean, boolean]) => gl.colorMask(...value),\n\n cull: (gl: WebGLRenderingContext, value) =>\n value ? gl.enable(GL.CULL_FACE) : gl.disable(GL.CULL_FACE),\n cullFace: (gl: WebGLRenderingContext, value) => gl.cullFace(value),\n\n depthTest: (gl: WebGLRenderingContext, value) =>\n value ? gl.enable(GL.DEPTH_TEST) : gl.disable(GL.DEPTH_TEST),\n depthFunc: (gl: WebGLRenderingContext, value) => gl.depthFunc(value),\n depthMask: (gl: WebGLRenderingContext, value) => gl.depthMask(value),\n depthRange: (gl: WebGLRenderingContext, value: [number, number]) => gl.depthRange(...value),\n\n dither: (gl: WebGLRenderingContext, value) =>\n value ? gl.enable(GL.DITHER) : gl.disable(GL.DITHER),\n\n derivativeHint: (gl: WebGLRenderingContext, value) => {\n // gl1: 'OES_standard_derivatives'\n gl.hint(GL.FRAGMENT_SHADER_DERIVATIVE_HINT, value);\n },\n\n frontFace: (gl: WebGLRenderingContext, value) => gl.frontFace(value),\n\n mipmapHint: (gl: WebGLRenderingContext, value) => gl.hint(GL.GENERATE_MIPMAP_HINT, value),\n\n lineWidth: (gl: WebGLRenderingContext, value) => gl.lineWidth(value),\n\n polygonOffsetFill: (gl: WebGLRenderingContext, value) =>\n value ? gl.enable(GL.POLYGON_OFFSET_FILL) : gl.disable(GL.POLYGON_OFFSET_FILL),\n polygonOffset: (gl: WebGLRenderingContext, value: [number, number]) => gl.polygonOffset(...value),\n\n sampleCoverage: (gl: WebGLRenderingContext, value: [number, boolean?]) => gl.sampleCoverage(...value),\n\n scissorTest: (gl: WebGLRenderingContext, value) =>\n value ? gl.enable(GL.SCISSOR_TEST) : gl.disable(GL.SCISSOR_TEST),\n scissor: (gl: WebGLRenderingContext, value: [number, number, number, number]) => gl.scissor(...value),\n\n stencilTest: (gl: WebGLRenderingContext, value) =>\n value ? gl.enable(GL.STENCIL_TEST) : gl.disable(GL.STENCIL_TEST),\n stencilMask: (gl: WebGLRenderingContext, value) => {\n value = isArray(value) ? value : [value, value];\n const [mask, backMask] = value;\n gl.stencilMaskSeparate(GL.FRONT, mask);\n gl.stencilMaskSeparate(GL.BACK, backMask);\n },\n stencilFunc: (gl: WebGLRenderingContext, args) => {\n args = isArray(args) && args.length === 3 ? [...args, ...args] : args;\n const [func, ref, mask, backFunc, backRef, backMask] = args;\n gl.stencilFuncSeparate(GL.FRONT, func, ref, mask);\n gl.stencilFuncSeparate(GL.BACK, backFunc, backRef, backMask);\n },\n stencilOp: (gl: WebGLRenderingContext, args) => {\n args = isArray(args) && args.length === 3 ? [...args, ...args] : args;\n const [sfail, dpfail, dppass, backSfail, backDpfail, backDppass] = args;\n gl.stencilOpSeparate(GL.FRONT, sfail, dpfail, dppass);\n gl.stencilOpSeparate(GL.BACK, backSfail, backDpfail, backDppass);\n },\n\n viewport: (gl: WebGLRenderingContext, value: [number, number, number, number]) => gl.viewport(...value)\n};\n\nfunction getValue(glEnum, values, cache) {\n return values[glEnum] !== undefined ? values[glEnum] : cache[glEnum];\n}\n\n// COMPOSITE_WEBGL_PARAMETER_\nexport const GL_COMPOSITE_PARAMETER_SETTERS = {\n blendEquation: (gl: WebGLRenderingContext, values, cache) =>\n gl.blendEquationSeparate(\n getValue(GL.BLEND_EQUATION_RGB, values, cache),\n getValue(GL.BLEND_EQUATION_ALPHA, values, cache)\n ),\n blendFunc: (gl: WebGLRenderingContext, values, cache) =>\n gl.blendFuncSeparate(\n getValue(GL.BLEND_SRC_RGB, values, cache),\n getValue(GL.BLEND_DST_RGB, values, cache),\n getValue(GL.BLEND_SRC_ALPHA, values, cache),\n getValue(GL.BLEND_DST_ALPHA, values, cache)\n ),\n polygonOffset: (gl: WebGLRenderingContext, values, cache) =>\n gl.polygonOffset(\n getValue(GL.POLYGON_OFFSET_FACTOR, values, cache),\n getValue(GL.POLYGON_OFFSET_UNITS, values, cache)\n ),\n sampleCoverage: (gl: WebGLRenderingContext, values, cache) =>\n gl.sampleCoverage(\n getValue(GL.SAMPLE_COVERAGE_VALUE, values, cache),\n getValue(GL.SAMPLE_COVERAGE_INVERT, values, cache)\n ),\n stencilFuncFront: (gl: WebGLRenderingContext, values, cache) =>\n gl.stencilFuncSeparate(\n GL.FRONT,\n getValue(GL.STENCIL_FUNC, values, cache),\n getValue(GL.STENCIL_REF, values, cache),\n getValue(GL.STENCIL_VALUE_MASK, values, cache)\n ),\n stencilFuncBack: (gl: WebGLRenderingContext, values, cache) =>\n gl.stencilFuncSeparate(\n GL.BACK,\n getValue(GL.STENCIL_BACK_FUNC, values, cache),\n getValue(GL.STENCIL_BACK_REF, values, cache),\n getValue(GL.STENCIL_BACK_VALUE_MASK, values, cache)\n ),\n stencilOpFront: (gl: WebGLRenderingContext, values, cache) =>\n gl.stencilOpSeparate(\n GL.FRONT,\n getValue(GL.STENCIL_FAIL, values, cache),\n getValue(GL.STENCIL_PASS_DEPTH_FAIL, values, cache),\n getValue(GL.STENCIL_PASS_DEPTH_PASS, values, cache)\n ),\n stencilOpBack: (gl: WebGLRenderingContext, values, cache) =>\n gl.stencilOpSeparate(\n GL.BACK,\n getValue(GL.STENCIL_BACK_FAIL, values, cache),\n getValue(GL.STENCIL_BACK_PASS_DEPTH_FAIL, values, cache),\n getValue(GL.STENCIL_BACK_PASS_DEPTH_PASS, values, cache)\n )\n};\n\ntype UpdateFunc = (params: Record<string, any>) => void;\n\n// Setter functions intercepted for cache updates\nexport const GL_HOOKED_SETTERS = {\n // GENERIC SETTERS\n\n enable: (update: UpdateFunc, capability: GL) =>\n update({\n [capability]: true\n }),\n disable: (update: UpdateFunc, capability: GL) =>\n update({\n [capability]: false\n }),\n pixelStorei: (update: UpdateFunc, pname: GL, value) =>\n update({\n [pname]: value\n }),\n hint: (update: UpdateFunc, pname: GL, hint: GL) =>\n update({\n [pname]: hint\n }),\n\n // SPECIFIC SETTERS\n useProgram: (update: UpdateFunc, value) =>\n update({\n [GL.CURRENT_PROGRAM]: value\n }),\n bindRenderbuffer: (update: UpdateFunc, target, value) =>\n update({\n [GL.RENDERBUFFER_BINDING]: value\n }),\n bindTransformFeedback: (update: UpdateFunc, target, value) =>\n update({\n [GL.TRANSFORM_FEEDBACK_BINDING]: value\n }),\n bindVertexArray: (update: UpdateFunc, value) =>\n update({\n [GL.VERTEX_ARRAY_BINDING]: value\n }),\n\n bindFramebuffer: (update: UpdateFunc, target, framebuffer) => {\n switch (target) {\n case GL.FRAMEBUFFER:\n return update({\n [GL.DRAW_FRAMEBUFFER_BINDING]: framebuffer,\n [GL.READ_FRAMEBUFFER_BINDING]: framebuffer\n });\n case GL.DRAW_FRAMEBUFFER:\n return update({[GL.DRAW_FRAMEBUFFER_BINDING]: framebuffer});\n case GL.READ_FRAMEBUFFER:\n return update({[GL.READ_FRAMEBUFFER_BINDING]: framebuffer});\n default:\n return null;\n }\n },\n bindBuffer: (update: UpdateFunc, target, buffer) => {\n const pname = {\n [GL.ARRAY_BUFFER]: [GL.ARRAY_BUFFER_BINDING],\n [GL.COPY_READ_BUFFER]: [GL.COPY_READ_BUFFER_BINDING],\n [GL.COPY_WRITE_BUFFER]: [GL.COPY_WRITE_BUFFER_BINDING],\n [GL.PIXEL_PACK_BUFFER]: [GL.PIXEL_PACK_BUFFER_BINDING],\n [GL.PIXEL_UNPACK_BUFFER]: [GL.PIXEL_UNPACK_BUFFER_BINDING]\n }[target];\n\n if (pname) {\n return update({[pname]: buffer});\n }\n // targets that should not be cached\n return {valueChanged: true};\n },\n\n blendColor: (update: UpdateFunc, r: number, g: number, b: number, a: number) =>\n update({\n [GL.BLEND_COLOR]: new Float32Array([r, g, b, a])\n }),\n\n blendEquation: (update: UpdateFunc, mode) =>\n update({\n [GL.BLEND_EQUATION_RGB]: mode,\n [GL.BLEND_EQUATION_ALPHA]: mode\n }),\n\n blendEquationSeparate: (update: UpdateFunc, modeRGB, modeAlpha) =>\n update({\n [GL.BLEND_EQUATION_RGB]: modeRGB,\n [GL.BLEND_EQUATION_ALPHA]: modeAlpha\n }),\n\n blendFunc: (update: UpdateFunc, src, dst) =>\n update({\n [GL.BLEND_SRC_RGB]: src,\n [GL.BLEND_DST_RGB]: dst,\n [GL.BLEND_SRC_ALPHA]: src,\n [GL.BLEND_DST_ALPHA]: dst\n }),\n\n blendFuncSeparate: (update: UpdateFunc, srcRGB, dstRGB, srcAlpha, dstAlpha) =>\n update({\n [GL.BLEND_SRC_RGB]: srcRGB,\n [GL.BLEND_DST_RGB]: dstRGB,\n [GL.BLEND_SRC_ALPHA]: srcAlpha,\n [GL.BLEND_DST_ALPHA]: dstAlpha\n }),\n\n clearColor: (update: UpdateFunc, r: number, g: number, b: number, a: number) =>\n update({\n [GL.COLOR_CLEAR_VALUE]: new Float32Array([r, g, b, a])\n }),\n\n clearDepth: (update: UpdateFunc, depth: number) =>\n update({\n [GL.DEPTH_CLEAR_VALUE]: depth\n }),\n\n clearStencil: (update: UpdateFunc, s: number) =>\n update({\n [GL.STENCIL_CLEAR_VALUE]: s\n }),\n\n colorMask: (update: UpdateFunc, r: number, g: number, b: number, a: number) =>\n update({\n [GL.COLOR_WRITEMASK]: [r, g, b, a]\n }),\n\n cullFace: (update: UpdateFunc, mode) =>\n update({\n [GL.CULL_FACE_MODE]: mode\n }),\n\n depthFunc: (update: UpdateFunc, func) =>\n update({\n [GL.DEPTH_FUNC]: func\n }),\n\n depthRange: (update: UpdateFunc, zNear: number, zFar: number) =>\n update({\n [GL.DEPTH_RANGE]: new Float32Array([zNear, zFar])\n }),\n\n depthMask: (update: UpdateFunc, mask: number) =>\n update({\n [GL.DEPTH_WRITEMASK]: mask\n }),\n\n frontFace: (update: UpdateFunc, face) =>\n update({\n [GL.FRONT_FACE]: face\n }),\n\n lineWidth: (update: UpdateFunc, width) =>\n update({\n [GL.LINE_WIDTH]: width\n }),\n\n polygonOffset: (update: UpdateFunc, factor, units) =>\n update({\n [GL.POLYGON_OFFSET_FACTOR]: factor,\n [GL.POLYGON_OFFSET_UNITS]: units\n }),\n\n sampleCoverage: (update: UpdateFunc, value, invert) =>\n update({\n [GL.SAMPLE_COVERAGE_VALUE]: value,\n [GL.SAMPLE_COVERAGE_INVERT]: invert\n }),\n\n scissor: (update: UpdateFunc, x, y, width, height) =>\n update({\n [GL.SCISSOR_BOX]: new Int32Array([x, y, width, height])\n }),\n\n stencilMask: (update: UpdateFunc, mask) =>\n update({\n [GL.STENCIL_WRITEMASK]: mask,\n [GL.STENCIL_BACK_WRITEMASK]: mask\n }),\n\n stencilMaskSeparate: (update: UpdateFunc, face, mask) =>\n update({\n [face === GL.FRONT ? GL.STENCIL_WRITEMASK : GL.STENCIL_BACK_WRITEMASK]: mask\n }),\n\n stencilFunc: (update: UpdateFunc, func, ref, mask) =>\n update({\n [GL.STENCIL_FUNC]: func,\n [GL.STENCIL_REF]: ref,\n [GL.STENCIL_VALUE_MASK]: mask,\n [GL.STENCIL_BACK_FUNC]: func,\n [GL.STENCIL_BACK_REF]: ref,\n [GL.STENCIL_BACK_VALUE_MASK]: mask\n }),\n\n stencilFuncSeparate: (update: UpdateFunc, face, func, ref, mask) =>\n update({\n [face === GL.FRONT ? GL.STENCIL_FUNC : GL.STENCIL_BACK_FUNC]: func,\n [face === GL.FRONT ? GL.STENCIL_REF : GL.STENCIL_BACK_REF]: ref,\n [face === GL.FRONT ? GL.STENCIL_VALUE_MASK : GL.STENCIL_BACK_VALUE_MASK]: mask\n }),\n\n stencilOp: (update: UpdateFunc, fail, zfail, zpass) =>\n update({\n [GL.STENCIL_FAIL]: fail,\n [GL.STENCIL_PASS_DEPTH_FAIL]: zfail,\n [GL.STENCIL_PASS_DEPTH_PASS]: zpass,\n [GL.STENCIL_BACK_FAIL]: fail,\n [GL.STENCIL_BACK_PASS_DEPTH_FAIL]: zfail,\n [GL.STENCIL_BACK_PASS_DEPTH_PASS]: zpass\n }),\n\n stencilOpSeparate: (update: UpdateFunc, face, fail, zfail, zpass) =>\n update({\n [face === GL.FRONT ? GL.STENCIL_FAIL : GL.STENCIL_BACK_FAIL]: fail,\n [face === GL.FRONT ? GL.STENCIL_PASS_DEPTH_FAIL : GL.STENCIL_BACK_PASS_DEPTH_FAIL]: zfail,\n [face === GL.FRONT ? GL.STENCIL_PASS_DEPTH_PASS : GL.STENCIL_BACK_PASS_DEPTH_PASS]: zpass\n }),\n\n viewport: (update: UpdateFunc, x, y, width, height) =>\n update({\n [GL.VIEWPORT]: [x, y, width, height]\n })\n};\n\n// GETTER TABLE - FOR READING OUT AN ENTIRE CONTEXT\n\nconst isEnabled = (gl: WebGLRenderingContext, key) => gl.isEnabled(key);\n\n// Exceptions for any keys that cannot be queried by gl.getParameters\nexport const GL_PARAMETER_GETTERS = {\n [GL.BLEND]: isEnabled,\n [GL.CULL_FACE]: isEnabled,\n [GL.DEPTH_TEST]: isEnabled,\n [GL.DITHER]: isEnabled,\n [GL.POLYGON_OFFSET_FILL]: isEnabled,\n [GL.SAMPLE_ALPHA_TO_COVERAGE]: isEnabled,\n [GL.SAMPLE_COVERAGE]: isEnabled,\n [GL.SCISSOR_TEST]: isEnabled,\n [GL.STENCIL_TEST]: isEnabled,\n\n // WebGL 2\n [GL.RASTERIZER_DISCARD]: isEnabled\n};\n\nexport const NON_CACHE_PARAMETERS = new Set([\n // setter not intercepted\n GL.ACTIVE_TEXTURE,\n GL.TRANSFORM_FEEDBACK_ACTIVE,\n GL.TRANSFORM_FEEDBACK_PAUSED,\n\n // setters bindBufferRange/bindBufferBase cannot be pruned based on cache\n GL.TRANSFORM_FEEDBACK_BUFFER_BINDING,\n GL.UNIFORM_BUFFER_BINDING,\n\n // states depending on VERTEX_ARRAY_BINDING\n GL.ELEMENT_ARRAY_BUFFER_BINDING,\n // states depending on READ_FRAMEBUFFER_BINDING\n GL.IMPLEMENTATION_COLOR_READ_FORMAT,\n GL.IMPLEMENTATION_COLOR_READ_TYPE,\n // states depending on FRAMEBUFFER_BINDING\n GL.READ_BUFFER,\n GL.DRAW_BUFFER0,\n GL.DRAW_BUFFER1,\n GL.DRAW_BUFFER2,\n GL.DRAW_BUFFER3,\n GL.DRAW_BUFFER4,\n GL.DRAW_BUFFER5,\n GL.DRAW_BUFFER6,\n GL.DRAW_BUFFER7,\n GL.DRAW_BUFFER8,\n GL.DRAW_BUFFER9,\n GL.DRAW_BUFFER10,\n GL.DRAW_BUFFER11,\n GL.DRAW_BUFFER12,\n GL.DRAW_BUFFER13,\n GL.DRAW_BUFFER14,\n GL.DRAW_BUFFER15,\n // states depending on ACTIVE_TEXTURE\n GL.SAMPLER_BINDING,\n GL.TEXTURE_BINDING_2D,\n GL.TEXTURE_BINDING_2D_ARRAY,\n GL.TEXTURE_BINDING_3D,\n GL.TEXTURE_BINDING_CUBE_MAP\n]);\n"],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getContextData = getContextData;
|
|
7
|
-
function getContextData(gl) {
|
|
8
|
-
var luma = gl.luma;
|
|
9
|
-
if (!luma) {
|
|
10
|
-
var contextState = {
|
|
11
|
-
_polyfilled: false,
|
|
12
|
-
_extensions: {}
|
|
13
|
-
};
|
|
14
|
-
gl.luma = contextState;
|
|
15
|
-
}
|
|
16
|
-
return gl.luma;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=context-data.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-data.js","names":["getContextData","gl","luma","contextState","_polyfilled","_extensions"],"sources":["../../../../src/context/polyfill/context-data.ts"],"sourcesContent":["/**\n * Stores luma.gl specific state associated with a context\n */\nexport interface WebGLContextData {\n _polyfilled: boolean;\n _extensions: Record<string, any>;\n}\n\n/**\n * Gets luma.gl specific state from a context\n * @returns context state\n */\nexport function getContextData(gl: WebGLRenderingContext): WebGLContextData {\n // @ts-expect-error\n const luma = gl.luma as WebGLContextData | null;\n if (!luma) {\n const contextState: WebGLContextData = {\n _polyfilled: false,\n _extensions: {}\n };\n // @ts-expect-error\n gl.luma = contextState;\n }\n\n // @ts-expect-error\n return gl.luma;\n}\n"],"mappings":";;;;;;AAYO,SAASA,cAAcA,CAACC,EAAyB,EAAoB;EAE1E,IAAMC,IAAI,GAAGD,EAAE,CAACC,IAA+B;EAC/C,IAAI,CAACA,IAAI,EAAE;IACT,IAAMC,YAA8B,GAAG;MACrCC,WAAW,EAAE,KAAK;MAClBC,WAAW,EAAE,CAAC;IAChB,CAAC;IAEDJ,EAAE,CAACC,IAAI,GAAGC,YAAY;EACxB;EAGA,OAAOF,EAAE,CAACC,IAAI;AAChB"}
|