@luma.gl/webgl 9.0.0-alpha.5 → 9.0.0-alpha.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +3 -1
- package/dist/adapter/converters/device-parameters.d.ts +23 -4
- package/dist/adapter/converters/device-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/device-parameters.js +101 -73
- package/dist/adapter/converters/device-parameters.js.map +1 -1
- package/dist/adapter/converters/sampler-parameters.d.ts +6 -6
- package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -1
- package/dist/adapter/converters/sampler-parameters.js +74 -111
- package/dist/adapter/converters/sampler-parameters.js.map +1 -1
- package/dist/adapter/converters/shader-formats.d.ts +9 -0
- package/dist/adapter/converters/shader-formats.d.ts.map +1 -0
- package/dist/adapter/converters/shader-formats.js +52 -0
- package/dist/adapter/converters/shader-formats.js.map +1 -0
- package/dist/adapter/converters/texture-formats.d.ts +32 -44
- package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
- package/dist/adapter/converters/texture-formats.js +309 -346
- package/dist/adapter/converters/texture-formats.js.map +1 -1
- package/dist/adapter/converters/vertex-formats.d.ts +9 -3
- package/dist/adapter/converters/vertex-formats.d.ts.map +1 -1
- package/dist/adapter/converters/vertex-formats.js +53 -22
- package/dist/adapter/converters/vertex-formats.js.map +1 -1
- package/dist/adapter/device-helpers/device-features.d.ts +1 -1
- package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
- package/dist/adapter/device-helpers/device-features.js +17 -23
- package/dist/adapter/device-helpers/device-features.js.map +1 -1
- package/dist/adapter/device-helpers/device-limits.d.ts +3 -3
- package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
- package/dist/adapter/device-helpers/device-limits.js +54 -58
- package/dist/adapter/device-helpers/device-limits.js.map +1 -1
- package/dist/adapter/device-helpers/get-device-info.d.ts +1 -1
- package/dist/adapter/device-helpers/get-device-info.d.ts.map +1 -1
- package/dist/adapter/device-helpers/get-device-info.js +31 -22
- package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
- package/dist/adapter/device-helpers/is-old-ie.d.ts.map +1 -1
- package/dist/adapter/device-helpers/is-old-ie.js +2 -1
- package/dist/adapter/device-helpers/is-old-ie.js.map +1 -1
- package/dist/adapter/helpers/decode-webgl-types.d.ts +26 -0
- package/dist/adapter/helpers/decode-webgl-types.d.ts.map +1 -0
- package/dist/adapter/helpers/decode-webgl-types.js +89 -0
- package/dist/adapter/helpers/decode-webgl-types.js.map +1 -0
- package/dist/adapter/helpers/get-shader-layout.d.ts +1 -48
- package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -1
- package/dist/adapter/helpers/get-shader-layout.js +87 -143
- package/dist/adapter/helpers/get-shader-layout.js.map +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.d.ts +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.js +16 -11
- package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
- package/dist/adapter/helpers/set-uniform.d.ts +3 -2
- package/dist/adapter/helpers/set-uniform.d.ts.map +1 -1
- package/dist/adapter/helpers/set-uniform.js +51 -82
- package/dist/adapter/helpers/set-uniform.js.map +1 -1
- package/dist/adapter/helpers/webgl-topology-utils.d.ts +16 -0
- package/dist/adapter/helpers/webgl-topology-utils.d.ts.map +1 -0
- package/dist/adapter/helpers/webgl-topology-utils.js +103 -0
- package/dist/adapter/helpers/webgl-topology-utils.js.map +1 -0
- package/dist/adapter/objects/constants-to-keys.d.ts +1 -3
- package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -1
- package/dist/adapter/objects/constants-to-keys.js +2 -29
- package/dist/adapter/objects/constants-to-keys.js.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.d.ts +15 -12
- package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.js +36 -44
- package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -1
- package/dist/adapter/objects/webgl-resource.d.ts +6 -9
- package/dist/adapter/objects/webgl-resource.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-resource.js +26 -83
- package/dist/adapter/objects/webgl-resource.js.map +1 -1
- package/dist/adapter/resources/webgl-buffer.d.ts +19 -11
- package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-buffer.js +60 -88
- package/dist/adapter/resources/webgl-buffer.js.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.d.ts +15 -9
- package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.js +175 -48
- package/dist/adapter/resources/webgl-command-buffer.js.map +1 -1
- package/dist/adapter/resources/webgl-command-encoder.d.ts +7 -6
- package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-encoder.js +10 -20
- package/dist/adapter/resources/webgl-command-encoder.js.map +1 -1
- package/dist/adapter/resources/webgl-external-texture.js.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.d.ts +21 -24
- package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.js +63 -173
- package/dist/adapter/resources/webgl-framebuffer.js.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.d.ts +19 -4
- package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.js +99 -11
- package/dist/adapter/resources/webgl-render-pass.js.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.d.ts +55 -21
- package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pipeline.js +108 -270
- package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -1
- package/dist/adapter/resources/webgl-sampler.d.ts +6 -5
- package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-sampler.js +11 -21
- package/dist/adapter/resources/webgl-sampler.js.map +1 -1
- package/dist/adapter/resources/webgl-shader.d.ts +5 -5
- package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-shader.js +18 -43
- package/dist/adapter/resources/webgl-shader.js.map +1 -1
- package/dist/adapter/resources/webgl-texture.d.ts +62 -42
- package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-texture.js +137 -256
- package/dist/adapter/resources/webgl-texture.js.map +1 -1
- package/dist/adapter/resources/webgl-transform-feedback.d.ts +47 -0
- package/dist/adapter/resources/webgl-transform-feedback.d.ts.map +1 -0
- package/dist/adapter/resources/webgl-transform-feedback.js +164 -0
- package/dist/adapter/resources/webgl-transform-feedback.js.map +1 -0
- package/dist/adapter/resources/webgl-vertex-array.d.ts +67 -0
- package/dist/adapter/resources/webgl-vertex-array.d.ts.map +1 -0
- package/dist/adapter/resources/webgl-vertex-array.js +167 -0
- package/dist/adapter/resources/webgl-vertex-array.js.map +1 -0
- package/dist/adapter/webgl-canvas-context.d.ts +6 -7
- package/dist/adapter/webgl-canvas-context.d.ts.map +1 -1
- package/dist/adapter/webgl-canvas-context.js +10 -23
- package/dist/adapter/webgl-canvas-context.js.map +1 -1
- package/dist/adapter/webgl-device.d.ts +76 -41
- package/dist/adapter/webgl-device.d.ts.map +1 -1
- package/dist/adapter/webgl-device.js +219 -129
- package/dist/adapter/webgl-device.js.map +1 -1
- package/dist/classic/accessor.d.ts +3 -3
- package/dist/classic/accessor.d.ts.map +1 -1
- package/dist/classic/accessor.js +26 -52
- package/dist/classic/accessor.js.map +1 -1
- package/dist/classic/clear.d.ts +22 -0
- package/dist/classic/clear.d.ts.map +1 -0
- package/dist/classic/clear.js +88 -0
- package/dist/classic/clear.js.map +1 -0
- package/dist/classic/copy-and-blit.d.ts +62 -0
- package/dist/classic/copy-and-blit.d.ts.map +1 -0
- package/dist/classic/copy-and-blit.js +191 -0
- package/dist/classic/copy-and-blit.js.map +1 -0
- package/dist/classic/format-utils.d.ts +3 -0
- package/dist/classic/format-utils.d.ts.map +1 -0
- package/dist/classic/format-utils.js +37 -0
- package/dist/classic/format-utils.js.map +1 -0
- package/dist/classic/typed-array-utils.d.ts +17 -17
- package/dist/classic/typed-array-utils.d.ts.map +1 -1
- package/dist/classic/typed-array-utils.js +18 -39
- package/dist/classic/typed-array-utils.js.map +1 -1
- package/dist/context/context/create-browser-context.d.ts +40 -0
- package/dist/context/context/create-browser-context.d.ts.map +1 -0
- package/dist/context/context/create-browser-context.js +53 -0
- package/dist/context/context/create-browser-context.js.map +1 -0
- package/dist/context/context/create-headless-context.d.ts +9 -0
- package/dist/context/context/create-headless-context.d.ts.map +1 -0
- package/dist/context/context/create-headless-context.js +42 -0
- package/dist/context/context/create-headless-context.js.map +1 -0
- package/dist/context/context/webgl-checks.d.ts.map +1 -1
- package/dist/context/context/webgl-checks.js +1 -4
- package/dist/context/context/webgl-checks.js.map +1 -1
- package/dist/context/debug/spector.d.ts +1 -2
- package/dist/context/debug/spector.d.ts.map +1 -1
- package/dist/context/debug/spector.js +8 -20
- package/dist/context/debug/spector.js.map +1 -1
- package/dist/context/debug/webgl-developer-tools.d.ts +2 -2
- package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -1
- package/dist/context/debug/webgl-developer-tools.js +15 -39
- package/dist/context/debug/webgl-developer-tools.js.map +1 -1
- package/dist/context/parameters/unified-parameter-api.d.ts +9 -8
- package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
- package/dist/context/parameters/unified-parameter-api.js +9 -19
- package/dist/context/parameters/unified-parameter-api.js.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.d.ts +105 -106
- package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.js +267 -286
- package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
- package/dist/context/polyfill/context-data.d.ts +13 -0
- package/dist/context/polyfill/context-data.d.ts.map +1 -0
- package/dist/context/polyfill/context-data.js +12 -0
- package/dist/context/polyfill/context-data.js.map +1 -0
- package/dist/context/polyfill/get-parameter-polyfill.d.ts +1 -1
- package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -1
- package/dist/context/polyfill/get-parameter-polyfill.js +37 -43
- package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
- package/dist/context/polyfill/polyfill-context.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-context.js +22 -30
- package/dist/context/polyfill/polyfill-context.js.map +1 -1
- package/dist/context/polyfill/polyfill-table.d.ts +8 -8
- package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-table.js +18 -41
- package/dist/context/polyfill/polyfill-table.js.map +1 -1
- package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -1
- package/dist/context/polyfill/polyfill-vertex-array-object.js +17 -87
- package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
- package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
- package/dist/context/state-tracker/deep-array-equal.js +0 -4
- package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
- package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
- package/dist/context/state-tracker/track-context-state.js +26 -62
- package/dist/context/state-tracker/track-context-state.js.map +1 -1
- package/dist/context/state-tracker/with-parameters.d.ts +2 -1
- package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
- package/dist/context/state-tracker/with-parameters.js +8 -10
- package/dist/context/state-tracker/with-parameters.js.map +1 -1
- package/dist/dist.dev.js +8624 -0
- package/dist/index.cjs +6570 -0
- package/dist/index.d.ts +26 -24
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -26
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +3 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist.min.js +52 -0
- package/package.json +21 -9
- package/src/adapter/converters/device-parameters.ts +144 -41
- package/src/adapter/converters/sampler-parameters.ts +103 -41
- package/src/adapter/converters/shader-formats.ts +44 -0
- package/src/adapter/converters/texture-formats.ts +268 -195
- package/src/adapter/converters/vertex-formats.ts +71 -10
- package/src/adapter/device-helpers/device-features.ts +14 -3
- package/src/adapter/device-helpers/device-limits.ts +5 -3
- package/src/adapter/device-helpers/get-device-info.ts +53 -18
- package/src/adapter/device-helpers/is-old-ie.ts +3 -0
- package/src/adapter/helpers/{uniforms.ts → decode-webgl-types.ts} +39 -21
- package/src/adapter/helpers/get-shader-layout.ts +121 -146
- package/src/adapter/helpers/parse-shader-compiler-log.ts +24 -8
- package/src/adapter/helpers/set-uniform.ts +39 -35
- package/src/adapter/helpers/webgl-topology-utils.ts +103 -0
- package/src/adapter/objects/constants-to-keys.ts +6 -25
- package/src/adapter/objects/webgl-renderbuffer.ts +43 -37
- package/src/adapter/objects/webgl-resource.ts +16 -23
- package/src/adapter/resources/.webgl-render-pipeline.ts.swp +0 -0
- package/src/adapter/resources/webgl-buffer.ts +67 -62
- package/src/adapter/resources/webgl-command-buffer.ts +327 -25
- package/src/adapter/resources/webgl-command-encoder.ts +20 -12
- package/src/adapter/resources/webgl-external-texture.ts +5 -2
- package/src/adapter/resources/webgl-framebuffer.ts +90 -134
- package/src/adapter/resources/webgl-render-pass.ts +166 -4
- package/src/adapter/resources/webgl-render-pipeline.ts +256 -192
- package/src/adapter/resources/webgl-sampler.ts +16 -10
- package/src/adapter/resources/webgl-shader.ts +33 -27
- package/src/adapter/resources/webgl-texture.ts +138 -99
- package/src/adapter/resources/webgl-transform-feedback.ts +202 -0
- package/src/adapter/resources/webgl-vertex-array.ts +283 -0
- package/src/adapter/webgl-canvas-context.ts +16 -14
- package/src/adapter/webgl-device.ts +328 -79
- package/src/classic/accessor.ts +8 -18
- package/src/classic/clear.ts +113 -0
- package/src/classic/copy-and-blit.ts +311 -0
- package/src/classic/format-utils.ts +46 -0
- package/src/classic/typed-array-utils.ts +21 -27
- package/src/context/context/create-browser-context.ts +140 -0
- package/src/context/context/create-headless-context.ts +51 -0
- package/src/context/context/webgl-checks.ts +3 -1
- package/src/context/debug/spector.ts +9 -6
- package/src/context/debug/webgl-developer-tools.ts +23 -15
- package/src/context/parameters/unified-parameter-api.ts +23 -14
- package/src/context/parameters/webgl-parameter-tables.ts +120 -98
- package/src/context/polyfill/context-data.ts +30 -0
- package/src/context/polyfill/get-parameter-polyfill.ts +11 -7
- package/src/context/polyfill/polyfill-context.ts +10 -9
- package/src/context/polyfill/polyfill-table.ts +21 -16
- package/src/context/polyfill/polyfill-vertex-array-object.ts +5 -0
- package/src/context/state-tracker/deep-array-equal.ts +2 -0
- package/src/context/state-tracker/track-context-state.ts +14 -11
- package/src/context/state-tracker/with-parameters.ts +13 -4
- package/src/index.ts +70 -35
- package/src/types.ts +5 -0
- package/dist/adapter/converters/renderbuffer-formats.d.ts +0 -16
- package/dist/adapter/converters/renderbuffer-formats.d.ts.map +0 -1
- package/dist/adapter/converters/renderbuffer-formats.js +0 -185
- package/dist/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/adapter/helpers/attribute-utils.d.ts +0 -11
- package/dist/adapter/helpers/attribute-utils.d.ts.map +0 -1
- package/dist/adapter/helpers/attribute-utils.js +0 -81
- package/dist/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/adapter/helpers/uniforms.d.ts +0 -26
- package/dist/adapter/helpers/uniforms.d.ts.map +0 -1
- package/dist/adapter/helpers/uniforms.js +0 -99
- package/dist/adapter/helpers/uniforms.js.map +0 -1
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts +0 -27
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +0 -1
- package/dist/adapter/objects/webgl-vertex-array-object.js +0 -84
- package/dist/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/bundle.d.ts +0 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/bundle.js +0 -5
- package/dist/bundle.js.map +0 -1
- package/dist/classic/buffer.d.ts +0 -95
- package/dist/classic/buffer.d.ts.map +0 -1
- package/dist/classic/buffer.js +0 -384
- package/dist/classic/buffer.js.map +0 -1
- package/dist/context/context/context-state.d.ts +0 -18
- package/dist/context/context/context-state.d.ts.map +0 -1
- package/dist/context/context/context-state.js +0 -26
- package/dist/context/context/context-state.js.map +0 -1
- package/dist/context/context/create-context.d.ts +0 -41
- package/dist/context/context/create-context.d.ts.map +0 -1
- package/dist/context/context/create-context.js +0 -49
- package/dist/context/context/create-context.js.map +0 -1
- package/dist/context/context/device-pixels.d.ts +0 -25
- package/dist/context/context/device-pixels.d.ts.map +0 -1
- package/dist/context/context/device-pixels.js +0 -98
- package/dist/context/context/device-pixels.js.map +0 -1
- package/dist/es5/adapter/converters/device-parameters.js +0 -170
- package/dist/es5/adapter/converters/device-parameters.js.map +0 -1
- package/dist/es5/adapter/converters/renderbuffer-formats.js +0 -163
- package/dist/es5/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/es5/adapter/converters/sampler-parameters.js +0 -226
- package/dist/es5/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/es5/adapter/converters/texture-formats.js +0 -1031
- package/dist/es5/adapter/converters/texture-formats.js.map +0 -1
- package/dist/es5/adapter/converters/vertex-formats.js +0 -45
- package/dist/es5/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/es5/adapter/device-helpers/device-features.js +0 -144
- package/dist/es5/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/es5/adapter/device-helpers/device-limits.js +0 -64
- package/dist/es5/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/es5/adapter/device-helpers/get-device-info.js +0 -55
- package/dist/es5/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -16
- package/dist/es5/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/es5/adapter/helpers/attribute-utils.js +0 -91
- package/dist/es5/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/es5/adapter/helpers/get-shader-layout.js +0 -371
- package/dist/es5/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +0 -72
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/es5/adapter/helpers/set-uniform.js +0 -125
- package/dist/es5/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/es5/adapter/helpers/uniforms.js +0 -112
- package/dist/es5/adapter/helpers/uniforms.js.map +0 -1
- package/dist/es5/adapter/objects/constants-to-keys.js +0 -54
- package/dist/es5/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-renderbuffer.js +0 -150
- package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-resource.js +0 -292
- package/dist/es5/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js +0 -137
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-buffer.js +0 -243
- package/dist/es5/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-command-buffer.js +0 -96
- package/dist/es5/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -98
- package/dist/es5/adapter/resources/webgl-command-encoder.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-external-texture.js +0 -2
- package/dist/es5/adapter/resources/webgl-external-texture.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-framebuffer.js +0 -345
- package/dist/es5/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-render-pass.js +0 -61
- package/dist/es5/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-render-pipeline.js +0 -505
- package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-sampler.js +0 -96
- package/dist/es5/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-shader.js +0 -149
- package/dist/es5/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/es5/adapter/resources/webgl-texture.js +0 -986
- package/dist/es5/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/es5/adapter/webgl-canvas-context.js +0 -97
- package/dist/es5/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/es5/adapter/webgl-device.js +0 -399
- package/dist/es5/adapter/webgl-device.js.map +0 -1
- package/dist/es5/bundle.js +0 -7
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/classic/accessor.js +0 -181
- package/dist/es5/classic/accessor.js.map +0 -1
- package/dist/es5/classic/buffer.js +0 -470
- package/dist/es5/classic/buffer.js.map +0 -1
- package/dist/es5/classic/typed-array-utils.js +0 -126
- package/dist/es5/classic/typed-array-utils.js.map +0 -1
- package/dist/es5/context/context/context-state.js +0 -31
- package/dist/es5/context/context/context-state.js.map +0 -1
- package/dist/es5/context/context/create-context.js +0 -69
- package/dist/es5/context/context/create-context.js.map +0 -1
- package/dist/es5/context/context/device-pixels.js +0 -115
- package/dist/es5/context/context/device-pixels.js.map +0 -1
- package/dist/es5/context/context/webgl-checks.js +0 -54
- package/dist/es5/context/context/webgl-checks.js.map +0 -1
- package/dist/es5/context/debug/spector.js +0 -133
- package/dist/es5/context/debug/spector.js.map +0 -1
- package/dist/es5/context/debug/webgl-developer-tools.js +0 -198
- package/dist/es5/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/es5/context/parameters/unified-parameter-api.js +0 -97
- package/dist/es5/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/es5/context/parameters/webgl-parameter-tables.js +0 -392
- package/dist/es5/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -81
- package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-context.js +0 -135
- package/dist/es5/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-table.js +0 -166
- package/dist/es5/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -341
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/es5/context/state-tracker/deep-array-equal.js +0 -28
- package/dist/es5/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/es5/context/state-tracker/track-context-state.js +0 -211
- package/dist/es5/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/es5/context/state-tracker/with-parameters.js +0 -44
- package/dist/es5/context/state-tracker/with-parameters.js.map +0 -1
- package/dist/es5/index.js +0 -276
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/init.js +0 -10
- package/dist/es5/init.js.map +0 -1
- package/dist/es5/types/webgl.js +0 -6
- package/dist/es5/types/webgl.js.map +0 -1
- package/dist/es5/types.js +0 -2
- package/dist/es5/types.js.map +0 -1
- package/dist/esm/adapter/converters/device-parameters.js +0 -155
- package/dist/esm/adapter/converters/device-parameters.js.map +0 -1
- package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -185
- package/dist/esm/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/esm/adapter/converters/sampler-parameters.js +0 -208
- package/dist/esm/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/esm/adapter/converters/texture-formats.js +0 -954
- package/dist/esm/adapter/converters/texture-formats.js.map +0 -1
- package/dist/esm/adapter/converters/vertex-formats.js +0 -35
- package/dist/esm/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/esm/adapter/device-helpers/device-features.js +0 -102
- package/dist/esm/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/esm/adapter/device-helpers/device-limits.js +0 -91
- package/dist/esm/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/esm/adapter/device-helpers/get-device-info.js +0 -44
- package/dist/esm/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/esm/adapter/device-helpers/is-old-ie.js +0 -8
- package/dist/esm/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/esm/adapter/helpers/attribute-utils.js +0 -81
- package/dist/esm/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/esm/adapter/helpers/get-shader-layout.js +0 -306
- package/dist/esm/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -37
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/esm/adapter/helpers/set-uniform.js +0 -115
- package/dist/esm/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/esm/adapter/helpers/uniforms.js +0 -99
- package/dist/esm/adapter/helpers/uniforms.js.map +0 -1
- package/dist/esm/adapter/objects/constants-to-keys.js +0 -42
- package/dist/esm/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-renderbuffer.js +0 -94
- package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-resource.js +0 -216
- package/dist/esm/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js +0 -84
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-buffer.js +0 -164
- package/dist/esm/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-command-buffer.js +0 -65
- package/dist/esm/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -53
- package/dist/esm/adapter/resources/webgl-command-encoder.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-external-texture.js +0 -2
- package/dist/esm/adapter/resources/webgl-external-texture.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -265
- package/dist/esm/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-render-pass.js +0 -19
- package/dist/esm/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -400
- package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-sampler.js +0 -50
- package/dist/esm/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-shader.js +0 -75
- package/dist/esm/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/esm/adapter/resources/webgl-texture.js +0 -833
- package/dist/esm/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/esm/adapter/webgl-canvas-context.js +0 -54
- package/dist/esm/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/esm/adapter/webgl-device.js +0 -280
- package/dist/esm/adapter/webgl-device.js.map +0 -1
- package/dist/esm/bundle.js +0 -5
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/classic/accessor.js +0 -144
- package/dist/esm/classic/accessor.js.map +0 -1
- package/dist/esm/classic/buffer.js +0 -384
- package/dist/esm/classic/buffer.js.map +0 -1
- package/dist/esm/classic/typed-array-utils.js +0 -112
- package/dist/esm/classic/typed-array-utils.js.map +0 -1
- package/dist/esm/context/context/context-state.js +0 -26
- package/dist/esm/context/context/context-state.js.map +0 -1
- package/dist/esm/context/context/create-context.js +0 -49
- package/dist/esm/context/context/create-context.js.map +0 -1
- package/dist/esm/context/context/device-pixels.js +0 -98
- package/dist/esm/context/context/device-pixels.js.map +0 -1
- package/dist/esm/context/context/webgl-checks.js +0 -34
- package/dist/esm/context/context/webgl-checks.js.map +0 -1
- package/dist/esm/context/debug/spector.js +0 -76
- package/dist/esm/context/debug/spector.js.map +0 -1
- package/dist/esm/context/debug/webgl-developer-tools.js +0 -121
- package/dist/esm/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/esm/context/parameters/unified-parameter-api.js +0 -65
- package/dist/esm/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -445
- package/dist/esm/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -91
- package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-context.js +0 -92
- package/dist/esm/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-table.js +0 -160
- package/dist/esm/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -335
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/esm/context/state-tracker/deep-array-equal.js +0 -21
- package/dist/esm/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/esm/context/state-tracker/track-context-state.js +0 -183
- package/dist/esm/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/esm/context/state-tracker/with-parameters.js +0 -36
- package/dist/esm/context/state-tracker/with-parameters.js.map +0 -1
- package/dist/esm/index.js +0 -27
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/init.js +0 -4
- package/dist/esm/init.js.map +0 -1
- package/dist/esm/types/webgl.js +0 -2
- package/dist/esm/types/webgl.js.map +0 -1
- package/dist/esm/types.js +0 -2
- package/dist/esm/types.js.map +0 -1
- package/dist/init.d.ts +0 -2
- package/dist/init.d.ts.map +0 -1
- package/dist/init.js +0 -4
- package/dist/init.js.map +0 -1
- package/dist/types/webgl.d.ts +0 -145
- package/dist/types/webgl.d.ts.map +0 -1
- package/dist/types/webgl.js +0 -2
- package/dist/types/webgl.js.map +0 -1
- package/src/adapter/converters/renderbuffer-formats.ts +0 -92
- package/src/adapter/helpers/attribute-utils.ts +0 -61
- package/src/adapter/objects/webgl-vertex-array-object.ts +0 -111
- package/src/bundle.ts +0 -4
- package/src/classic/buffer.ts +0 -474
- package/src/context/context/context-state.ts +0 -41
- package/src/context/context/create-context.ts +0 -110
- package/src/context/context/device-pixels.ts +0 -152
- package/src/init.ts +0 -4
- package/src/types/webgl.ts +0 -284
|
@@ -1,97 +1,77 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { isObjectEmpty } from '@luma.gl/core';
|
|
2
|
+
import { Texture, cast, log, assert, isPowerOfTwo, loadImage } from '@luma.gl/core';
|
|
3
|
+
import { withGLParameters } from "../../context/state-tracker/with-parameters.js";
|
|
4
|
+
import { convertTextureFormatToGL, getWebGLTextureParameters, getTextureFormatBytesPerPixel } from "../converters/texture-formats.js";
|
|
5
|
+
import { convertSamplerParametersToWebGL, updateSamplerParametersForNPOT } from "../converters/sampler-parameters.js";
|
|
6
|
+
import { WEBGLBuffer } from "./webgl-buffer.js";
|
|
7
|
+
import { WEBGLSampler } from "./webgl-sampler.js";
|
|
8
|
+
export const DEFAULT_WEBGL_TEXTURE_PROPS = {
|
|
9
|
+
parameters: {},
|
|
10
|
+
pixelStore: {},
|
|
11
|
+
pixels: null,
|
|
12
|
+
border: 0,
|
|
13
|
+
dataFormat: undefined,
|
|
14
|
+
textureUnit: undefined,
|
|
15
|
+
target: undefined
|
|
16
|
+
};
|
|
17
|
+
export class WEBGLTexture extends Texture {
|
|
11
18
|
constructor(device, props) {
|
|
12
19
|
var _this$props;
|
|
13
|
-
|
|
14
20
|
super(device, {
|
|
15
|
-
|
|
21
|
+
...DEFAULT_WEBGL_TEXTURE_PROPS,
|
|
22
|
+
format: 'rgba8unorm',
|
|
16
23
|
...props
|
|
17
24
|
});
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
_defineProperty(this, "height", undefined);
|
|
34
|
-
|
|
35
|
-
_defineProperty(this, "depth", undefined);
|
|
36
|
-
|
|
37
|
-
_defineProperty(this, "format", undefined);
|
|
38
|
-
|
|
39
|
-
_defineProperty(this, "type", undefined);
|
|
40
|
-
|
|
41
|
-
_defineProperty(this, "dataFormat", undefined);
|
|
42
|
-
|
|
43
|
-
_defineProperty(this, "mipmaps", undefined);
|
|
44
|
-
|
|
45
|
-
_defineProperty(this, "target", void 0);
|
|
46
|
-
|
|
47
|
-
_defineProperty(this, "textureUnit", undefined);
|
|
48
|
-
|
|
49
|
-
_defineProperty(this, "sampler", undefined);
|
|
50
|
-
|
|
51
|
-
_defineProperty(this, "loaded", false);
|
|
52
|
-
|
|
53
|
-
_defineProperty(this, "_video", void 0);
|
|
54
|
-
|
|
25
|
+
this.MAX_ATTRIBUTES = void 0;
|
|
26
|
+
this.device = void 0;
|
|
27
|
+
this.gl = void 0;
|
|
28
|
+
this.gl2 = void 0;
|
|
29
|
+
this.handle = void 0;
|
|
30
|
+
this.sampler = undefined;
|
|
31
|
+
this.glFormat = undefined;
|
|
32
|
+
this.type = undefined;
|
|
33
|
+
this.dataFormat = undefined;
|
|
34
|
+
this.mipmaps = undefined;
|
|
35
|
+
this.target = void 0;
|
|
36
|
+
this.textureUnit = undefined;
|
|
37
|
+
this.loaded = false;
|
|
38
|
+
this._video = void 0;
|
|
55
39
|
this.device = cast(device);
|
|
56
40
|
this.gl = this.device.gl;
|
|
57
41
|
this.gl2 = this.device.gl2;
|
|
58
42
|
this.handle = this.props.handle || this.gl.createTexture();
|
|
59
|
-
this.
|
|
43
|
+
this.device.setSpectorMetadata(this.handle, {
|
|
44
|
+
...this.props,
|
|
60
45
|
data: typeof this.props.data
|
|
61
|
-
};
|
|
46
|
+
});
|
|
47
|
+
this.glFormat = 6408;
|
|
62
48
|
this.target = getWebGLTextureTarget(this.props);
|
|
63
49
|
this.loaded = false;
|
|
64
|
-
|
|
65
50
|
if (typeof ((_this$props = this.props) === null || _this$props === void 0 ? void 0 : _this$props.data) === 'string') {
|
|
66
51
|
Object.assign(this.props, {
|
|
67
52
|
data: loadImage(this.props.data)
|
|
68
53
|
});
|
|
69
54
|
}
|
|
70
|
-
|
|
71
55
|
this.initialize(this.props);
|
|
72
56
|
Object.seal(this);
|
|
73
57
|
}
|
|
74
|
-
|
|
75
58
|
destroy() {
|
|
76
59
|
if (this.handle) {
|
|
77
60
|
this.gl.deleteTexture(this.handle);
|
|
78
61
|
this.removeStats();
|
|
79
62
|
this.trackDeallocatedMemory('Texture');
|
|
80
|
-
this.
|
|
63
|
+
this.destroyed = true;
|
|
81
64
|
}
|
|
82
65
|
}
|
|
83
|
-
|
|
84
66
|
toString() {
|
|
85
|
-
return
|
|
67
|
+
return `Texture(${this.id},${this.width}x${this.height})`;
|
|
86
68
|
}
|
|
87
|
-
|
|
88
|
-
|
|
69
|
+
initialize() {
|
|
70
|
+
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
89
71
|
if (this.props.dimension === 'cube') {
|
|
90
72
|
return this.initializeCube(props);
|
|
91
73
|
}
|
|
92
|
-
|
|
93
74
|
let data = props.data;
|
|
94
|
-
|
|
95
75
|
if (data instanceof Promise) {
|
|
96
76
|
data.then(resolvedImageData => this.initialize(Object.assign({}, props, {
|
|
97
77
|
pixels: resolvedImageData,
|
|
@@ -99,29 +79,23 @@ export default class WEBGLTexture extends Texture {
|
|
|
99
79
|
})));
|
|
100
80
|
return this;
|
|
101
81
|
}
|
|
102
|
-
|
|
103
82
|
const isVideo = typeof HTMLVideoElement !== 'undefined' && data instanceof HTMLVideoElement;
|
|
104
|
-
|
|
105
83
|
if (isVideo && data.readyState < HTMLVideoElement.HAVE_METADATA) {
|
|
106
84
|
this._video = null;
|
|
107
85
|
data.addEventListener('loadeddata', () => this.initialize(props));
|
|
108
86
|
return this;
|
|
109
87
|
}
|
|
110
|
-
|
|
111
|
-
let {
|
|
88
|
+
const {
|
|
112
89
|
parameters = {}
|
|
113
90
|
} = props;
|
|
114
91
|
const {
|
|
115
92
|
pixels = null,
|
|
116
|
-
recreate = false,
|
|
117
93
|
pixelStore = {},
|
|
118
94
|
textureUnit = undefined
|
|
119
95
|
} = props;
|
|
120
|
-
|
|
121
96
|
if (!data) {
|
|
122
97
|
data = pixels;
|
|
123
98
|
}
|
|
124
|
-
|
|
125
99
|
let {
|
|
126
100
|
width,
|
|
127
101
|
height,
|
|
@@ -133,6 +107,7 @@ export default class WEBGLTexture extends Texture {
|
|
|
133
107
|
const {
|
|
134
108
|
depth = 0
|
|
135
109
|
} = props;
|
|
110
|
+
const glFormat = convertTextureFormatToGL(props.format, this.device.isWebGL2);
|
|
136
111
|
({
|
|
137
112
|
width,
|
|
138
113
|
height,
|
|
@@ -148,49 +123,37 @@ export default class WEBGLTexture extends Texture {
|
|
|
148
123
|
width,
|
|
149
124
|
height
|
|
150
125
|
}));
|
|
151
|
-
const format = getWebGLTextureFormat(this.gl, props.format);
|
|
152
126
|
this.width = width;
|
|
153
127
|
this.height = height;
|
|
154
|
-
this.
|
|
155
|
-
this.format = format;
|
|
128
|
+
this.glFormat = glFormat;
|
|
156
129
|
this.type = type;
|
|
157
130
|
this.dataFormat = dataFormat;
|
|
158
131
|
this.textureUnit = textureUnit;
|
|
159
|
-
|
|
160
132
|
if (Number.isFinite(this.textureUnit)) {
|
|
161
|
-
this.gl.activeTexture(
|
|
133
|
+
this.gl.activeTexture(33984 + this.textureUnit);
|
|
162
134
|
this.gl.bindTexture(this.target, this.handle);
|
|
163
135
|
}
|
|
164
|
-
|
|
165
136
|
if (mipmaps && this.device.isWebGL1 && isNPOT(this.width, this.height)) {
|
|
166
|
-
log.warn(
|
|
137
|
+
log.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaps`)();
|
|
167
138
|
mipmaps = false;
|
|
168
139
|
}
|
|
169
|
-
|
|
170
140
|
this.mipmaps = mipmaps;
|
|
171
141
|
this.setImageData({
|
|
172
142
|
data,
|
|
173
143
|
width,
|
|
174
144
|
height,
|
|
175
145
|
depth,
|
|
176
|
-
format,
|
|
146
|
+
format: glFormat,
|
|
177
147
|
type,
|
|
178
148
|
dataFormat,
|
|
179
149
|
parameters: pixelStore,
|
|
180
150
|
compressed
|
|
181
151
|
});
|
|
182
152
|
this.setSampler(props.sampler);
|
|
183
|
-
|
|
184
153
|
this._setSamplerParameters(parameters);
|
|
185
|
-
|
|
186
154
|
if (mipmaps) {
|
|
187
155
|
this.generateMipmap();
|
|
188
156
|
}
|
|
189
|
-
|
|
190
|
-
if (recreate) {
|
|
191
|
-
this.data = data;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
157
|
if (isVideo) {
|
|
195
158
|
this._video = {
|
|
196
159
|
video: data,
|
|
@@ -198,10 +161,8 @@ export default class WEBGLTexture extends Texture {
|
|
|
198
161
|
lastTime: data.readyState >= HTMLVideoElement.HAVE_CURRENT_DATA ? data.currentTime : -1
|
|
199
162
|
};
|
|
200
163
|
}
|
|
201
|
-
|
|
202
164
|
return this;
|
|
203
165
|
}
|
|
204
|
-
|
|
205
166
|
initializeCube(props) {
|
|
206
167
|
const {
|
|
207
168
|
mipmaps = true,
|
|
@@ -209,21 +170,17 @@ export default class WEBGLTexture extends Texture {
|
|
|
209
170
|
} = props;
|
|
210
171
|
this.setCubeMapImageData(props).then(() => {
|
|
211
172
|
this.loaded = true;
|
|
212
|
-
|
|
213
173
|
if (mipmaps) {
|
|
214
174
|
this.generateMipmap(props);
|
|
215
175
|
}
|
|
216
|
-
|
|
217
176
|
this.setSampler(props.sampler);
|
|
218
|
-
|
|
219
177
|
this._setSamplerParameters(parameters);
|
|
220
178
|
});
|
|
221
179
|
return this;
|
|
222
180
|
}
|
|
223
|
-
|
|
224
|
-
|
|
181
|
+
setSampler() {
|
|
182
|
+
let sampler = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
225
183
|
let samplerProps;
|
|
226
|
-
|
|
227
184
|
if (sampler instanceof WEBGLSampler) {
|
|
228
185
|
this.sampler = sampler;
|
|
229
186
|
samplerProps = sampler.props;
|
|
@@ -231,21 +188,16 @@ export default class WEBGLTexture extends Texture {
|
|
|
231
188
|
this.sampler = new WEBGLSampler(this.device, sampler);
|
|
232
189
|
samplerProps = sampler;
|
|
233
190
|
}
|
|
234
|
-
|
|
235
191
|
const parameters = convertSamplerParametersToWebGL(samplerProps);
|
|
236
|
-
|
|
237
192
|
this._setSamplerParameters(parameters);
|
|
238
|
-
|
|
239
193
|
return this;
|
|
240
194
|
}
|
|
241
|
-
|
|
242
195
|
resize(options) {
|
|
243
196
|
const {
|
|
244
197
|
height,
|
|
245
198
|
width,
|
|
246
199
|
mipmaps = false
|
|
247
200
|
} = options;
|
|
248
|
-
|
|
249
201
|
if (width !== this.width || height !== this.height) {
|
|
250
202
|
return this.initialize({
|
|
251
203
|
width,
|
|
@@ -256,10 +208,8 @@ export default class WEBGLTexture extends Texture {
|
|
|
256
208
|
mipmaps
|
|
257
209
|
});
|
|
258
210
|
}
|
|
259
|
-
|
|
260
211
|
return this;
|
|
261
212
|
}
|
|
262
|
-
|
|
263
213
|
update() {
|
|
264
214
|
if (this._video) {
|
|
265
215
|
const {
|
|
@@ -267,50 +217,43 @@ export default class WEBGLTexture extends Texture {
|
|
|
267
217
|
parameters,
|
|
268
218
|
lastTime
|
|
269
219
|
} = this._video;
|
|
270
|
-
|
|
271
220
|
if (lastTime === video.currentTime || video.readyState < HTMLVideoElement.HAVE_CURRENT_DATA) {
|
|
272
221
|
return;
|
|
273
222
|
}
|
|
274
|
-
|
|
275
223
|
this.setSubImageData({
|
|
276
224
|
data: video,
|
|
277
225
|
parameters
|
|
278
226
|
});
|
|
279
|
-
|
|
280
227
|
if (this.mipmaps) {
|
|
281
228
|
this.generateMipmap();
|
|
282
229
|
}
|
|
283
|
-
|
|
284
230
|
this._video.lastTime = video.currentTime;
|
|
285
231
|
}
|
|
286
232
|
}
|
|
287
|
-
|
|
288
|
-
|
|
233
|
+
generateMipmap() {
|
|
234
|
+
let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
289
235
|
if (this.device.isWebGL1 && isNPOT(this.width, this.height)) {
|
|
290
|
-
log.warn(
|
|
236
|
+
log.warn(`texture: ${this} is Non-Power-Of-Two, disabling mipmaping`)();
|
|
291
237
|
return this;
|
|
292
238
|
}
|
|
293
|
-
|
|
294
239
|
this.mipmaps = true;
|
|
295
240
|
this.gl.bindTexture(this.target, this.handle);
|
|
296
|
-
|
|
241
|
+
withGLParameters(this.gl, params, () => {
|
|
297
242
|
this.gl.generateMipmap(this.target);
|
|
298
243
|
});
|
|
299
244
|
this.gl.bindTexture(this.target, null);
|
|
300
245
|
return this;
|
|
301
246
|
}
|
|
302
|
-
|
|
303
247
|
setImageData(options) {
|
|
304
|
-
if (this.props.dimension === '3d') {
|
|
248
|
+
if (this.props.dimension === '3d' || this.props.dimension === '2d-array') {
|
|
305
249
|
return this.setImageData3D(options);
|
|
306
250
|
}
|
|
307
|
-
|
|
308
251
|
this.trackDeallocatedMemory('Texture');
|
|
309
252
|
const {
|
|
310
253
|
target = this.target,
|
|
311
254
|
pixels = null,
|
|
312
255
|
level = 0,
|
|
313
|
-
|
|
256
|
+
glFormat = this.glFormat,
|
|
314
257
|
offset = 0,
|
|
315
258
|
parameters = {}
|
|
316
259
|
} = options;
|
|
@@ -322,11 +265,9 @@ export default class WEBGLTexture extends Texture {
|
|
|
322
265
|
dataFormat = this.dataFormat,
|
|
323
266
|
compressed = false
|
|
324
267
|
} = options;
|
|
325
|
-
|
|
326
268
|
if (!data) {
|
|
327
269
|
data = pixels;
|
|
328
270
|
}
|
|
329
|
-
|
|
330
271
|
({
|
|
331
272
|
type,
|
|
332
273
|
dataFormat,
|
|
@@ -355,71 +296,62 @@ export default class WEBGLTexture extends Texture {
|
|
|
355
296
|
compressed
|
|
356
297
|
}));
|
|
357
298
|
let gl2;
|
|
358
|
-
|
|
299
|
+
withGLParameters(this.gl, parameters, () => {
|
|
359
300
|
switch (dataType) {
|
|
360
301
|
case 'null':
|
|
361
|
-
gl.texImage2D(target, level,
|
|
302
|
+
gl.texImage2D(target, level, glFormat, width, height, 0, dataFormat, type, data);
|
|
362
303
|
break;
|
|
363
|
-
|
|
364
304
|
case 'typed-array':
|
|
365
|
-
gl.texImage2D(target, level,
|
|
305
|
+
gl.texImage2D(target, level, glFormat, width, height, 0, dataFormat, type, data, offset);
|
|
366
306
|
break;
|
|
367
|
-
|
|
368
307
|
case 'buffer':
|
|
369
308
|
gl2 = this.device.assertWebGL2();
|
|
370
|
-
gl2.bindBuffer(
|
|
371
|
-
gl2.texImage2D(target, level,
|
|
372
|
-
gl2.bindBuffer(
|
|
309
|
+
gl2.bindBuffer(35052, data.handle || data);
|
|
310
|
+
gl2.texImage2D(target, level, glFormat, width, height, 0, dataFormat, type, offset);
|
|
311
|
+
gl2.bindBuffer(35052, null);
|
|
373
312
|
break;
|
|
374
|
-
|
|
375
313
|
case 'browser-object':
|
|
376
314
|
if (this.device.isWebGL2) {
|
|
377
|
-
gl.texImage2D(target, level,
|
|
315
|
+
gl.texImage2D(target, level, glFormat, width, height, 0, dataFormat, type, data);
|
|
378
316
|
} else {
|
|
379
|
-
gl.texImage2D(target, level,
|
|
317
|
+
gl.texImage2D(target, level, glFormat, dataFormat, type, data);
|
|
380
318
|
}
|
|
381
|
-
|
|
382
319
|
break;
|
|
383
|
-
|
|
384
320
|
case 'compressed':
|
|
385
321
|
for (const [levelIndex, levelData] of data.entries()) {
|
|
386
322
|
gl.compressedTexImage2D(target, levelIndex, levelData.format, levelData.width, levelData.height, 0, levelData.data);
|
|
387
323
|
}
|
|
388
|
-
|
|
389
324
|
break;
|
|
390
|
-
|
|
391
325
|
default:
|
|
392
326
|
assert(false, 'Unknown image data type');
|
|
393
327
|
}
|
|
394
328
|
});
|
|
395
|
-
|
|
396
329
|
if (data && data.byteLength) {
|
|
397
330
|
this.trackAllocatedMemory(data.byteLength, 'Texture');
|
|
398
331
|
} else {
|
|
399
|
-
const bytesPerPixel = getTextureFormatBytesPerPixel(this.
|
|
332
|
+
const bytesPerPixel = getTextureFormatBytesPerPixel(this.props.format, this.device.isWebGL2);
|
|
400
333
|
this.trackAllocatedMemory(this.width * this.height * bytesPerPixel, 'Texture');
|
|
401
334
|
}
|
|
402
|
-
|
|
403
335
|
this.loaded = true;
|
|
404
336
|
return this;
|
|
405
337
|
}
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
338
|
+
setSubImageData(_ref) {
|
|
339
|
+
let {
|
|
340
|
+
target = this.target,
|
|
341
|
+
pixels = null,
|
|
342
|
+
data = null,
|
|
343
|
+
x = 0,
|
|
344
|
+
y = 0,
|
|
345
|
+
width = this.width,
|
|
346
|
+
height = this.height,
|
|
347
|
+
level = 0,
|
|
348
|
+
glFormat = this.glFormat,
|
|
349
|
+
type = this.type,
|
|
350
|
+
dataFormat = this.dataFormat,
|
|
351
|
+
compressed = false,
|
|
352
|
+
offset = 0,
|
|
353
|
+
parameters = {}
|
|
354
|
+
} = _ref;
|
|
423
355
|
({
|
|
424
356
|
type,
|
|
425
357
|
dataFormat,
|
|
@@ -436,35 +368,31 @@ export default class WEBGLTexture extends Texture {
|
|
|
436
368
|
height
|
|
437
369
|
}));
|
|
438
370
|
assert(this.depth === 1, 'texSubImage not supported for 3D textures');
|
|
439
|
-
|
|
440
371
|
if (!data) {
|
|
441
372
|
data = pixels;
|
|
442
373
|
}
|
|
443
|
-
|
|
444
374
|
if (data && data.data) {
|
|
445
375
|
const ndarray = data;
|
|
446
376
|
data = ndarray.data;
|
|
447
377
|
width = ndarray.shape[0];
|
|
448
378
|
height = ndarray.shape[1];
|
|
449
379
|
}
|
|
450
|
-
|
|
451
380
|
if (data instanceof WEBGLBuffer) {
|
|
452
381
|
data = data.handle;
|
|
453
382
|
}
|
|
454
|
-
|
|
455
383
|
this.gl.bindTexture(this.target, this.handle);
|
|
456
|
-
|
|
384
|
+
withGLParameters(this.gl, parameters, () => {
|
|
457
385
|
if (compressed) {
|
|
458
|
-
this.gl.compressedTexSubImage2D(target, level, x, y, width, height,
|
|
386
|
+
this.gl.compressedTexSubImage2D(target, level, x, y, width, height, glFormat, data);
|
|
459
387
|
} else if (data === null) {
|
|
460
388
|
this.gl.texSubImage2D(target, level, x, y, width, height, dataFormat, type, null);
|
|
461
389
|
} else if (ArrayBuffer.isView(data)) {
|
|
462
390
|
this.gl.texSubImage2D(target, level, x, y, width, height, dataFormat, type, data, offset);
|
|
463
391
|
} else if (typeof WebGLBuffer !== 'undefined' && data instanceof WebGLBuffer) {
|
|
464
392
|
const gl2 = this.device.assertWebGL2();
|
|
465
|
-
gl2.bindBuffer(
|
|
393
|
+
gl2.bindBuffer(35052, data);
|
|
466
394
|
gl2.texSubImage2D(target, level, x, y, width, height, dataFormat, type, offset);
|
|
467
|
-
gl2.bindBuffer(
|
|
395
|
+
gl2.bindBuffer(35052, null);
|
|
468
396
|
} else if (this.device.isWebGL2) {
|
|
469
397
|
const gl2 = this.device.assertWebGL2();
|
|
470
398
|
gl2.texSubImage2D(target, level, x, y, width, height, dataFormat, type, data);
|
|
@@ -474,89 +402,78 @@ export default class WEBGLTexture extends Texture {
|
|
|
474
402
|
});
|
|
475
403
|
this.gl.bindTexture(this.target, null);
|
|
476
404
|
}
|
|
477
|
-
|
|
478
|
-
|
|
405
|
+
copyFramebuffer() {
|
|
406
|
+
let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
479
407
|
log.error('Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})')();
|
|
480
408
|
return null;
|
|
481
409
|
}
|
|
482
|
-
|
|
483
410
|
getActiveUnit() {
|
|
484
|
-
return this.gl.getParameter(
|
|
411
|
+
return this.gl.getParameter(34016) - 33984;
|
|
485
412
|
}
|
|
486
|
-
|
|
487
|
-
|
|
413
|
+
bind() {
|
|
414
|
+
let textureUnit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.textureUnit;
|
|
488
415
|
const {
|
|
489
416
|
gl
|
|
490
417
|
} = this;
|
|
491
|
-
|
|
492
418
|
if (textureUnit !== undefined) {
|
|
493
419
|
this.textureUnit = textureUnit;
|
|
494
|
-
gl.activeTexture(
|
|
420
|
+
gl.activeTexture(33984 + textureUnit);
|
|
495
421
|
}
|
|
496
|
-
|
|
497
422
|
gl.bindTexture(this.target, this.handle);
|
|
498
423
|
return textureUnit;
|
|
499
424
|
}
|
|
500
|
-
|
|
501
|
-
|
|
425
|
+
unbind() {
|
|
426
|
+
let textureUnit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.textureUnit;
|
|
502
427
|
const {
|
|
503
428
|
gl
|
|
504
429
|
} = this;
|
|
505
|
-
|
|
506
430
|
if (textureUnit !== undefined) {
|
|
507
431
|
this.textureUnit = textureUnit;
|
|
508
|
-
gl.activeTexture(
|
|
432
|
+
gl.activeTexture(33984 + textureUnit);
|
|
509
433
|
}
|
|
510
|
-
|
|
511
434
|
gl.bindTexture(this.target, null);
|
|
512
435
|
return textureUnit;
|
|
513
436
|
}
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
437
|
+
_getDataType(_ref2) {
|
|
438
|
+
let {
|
|
439
|
+
data,
|
|
440
|
+
compressed = false
|
|
441
|
+
} = _ref2;
|
|
519
442
|
if (compressed) {
|
|
520
443
|
return {
|
|
521
444
|
data,
|
|
522
445
|
dataType: 'compressed'
|
|
523
446
|
};
|
|
524
447
|
}
|
|
525
|
-
|
|
526
448
|
if (data === null) {
|
|
527
449
|
return {
|
|
528
450
|
data,
|
|
529
451
|
dataType: 'null'
|
|
530
452
|
};
|
|
531
453
|
}
|
|
532
|
-
|
|
533
454
|
if (ArrayBuffer.isView(data)) {
|
|
534
455
|
return {
|
|
535
456
|
data,
|
|
536
457
|
dataType: 'typed-array'
|
|
537
458
|
};
|
|
538
459
|
}
|
|
539
|
-
|
|
540
460
|
if (data instanceof WEBGLBuffer) {
|
|
541
461
|
return {
|
|
542
462
|
data: data.handle,
|
|
543
463
|
dataType: 'buffer'
|
|
544
464
|
};
|
|
545
465
|
}
|
|
546
|
-
|
|
547
466
|
if (typeof WebGLBuffer !== 'undefined' && data instanceof WebGLBuffer) {
|
|
548
467
|
return {
|
|
549
468
|
data,
|
|
550
469
|
dataType: 'buffer'
|
|
551
470
|
};
|
|
552
471
|
}
|
|
553
|
-
|
|
554
472
|
return {
|
|
555
473
|
data,
|
|
556
474
|
dataType: 'browser-object'
|
|
557
475
|
};
|
|
558
476
|
}
|
|
559
|
-
|
|
560
477
|
_deduceParameters(opts) {
|
|
561
478
|
const {
|
|
562
479
|
format,
|
|
@@ -569,7 +486,7 @@ export default class WEBGLTexture extends Texture {
|
|
|
569
486
|
type,
|
|
570
487
|
compressed
|
|
571
488
|
} = opts;
|
|
572
|
-
const parameters = getWebGLTextureParameters(this.
|
|
489
|
+
const parameters = getWebGLTextureParameters(format, this.device.isWebGL2);
|
|
573
490
|
dataFormat = dataFormat || parameters.dataFormat;
|
|
574
491
|
type = type || parameters.type;
|
|
575
492
|
compressed = compressed || parameters.compressed;
|
|
@@ -587,10 +504,8 @@ export default class WEBGLTexture extends Texture {
|
|
|
587
504
|
data
|
|
588
505
|
};
|
|
589
506
|
}
|
|
590
|
-
|
|
591
507
|
_deduceImageSize(data, width, height) {
|
|
592
508
|
let size;
|
|
593
|
-
|
|
594
509
|
if (typeof ImageData !== 'undefined' && data instanceof ImageData) {
|
|
595
510
|
size = {
|
|
596
511
|
width: data.width,
|
|
@@ -627,13 +542,11 @@ export default class WEBGLTexture extends Texture {
|
|
|
627
542
|
height
|
|
628
543
|
};
|
|
629
544
|
}
|
|
630
|
-
|
|
631
545
|
assert(size, 'Could not deduced texture size');
|
|
632
546
|
assert(width === undefined || size.width === width, 'Deduced texture width does not match supplied width');
|
|
633
547
|
assert(height === undefined || size.height === height, 'Deduced texture height does not match supplied height');
|
|
634
548
|
return size;
|
|
635
549
|
}
|
|
636
|
-
|
|
637
550
|
async setCubeMapImageData(options) {
|
|
638
551
|
const {
|
|
639
552
|
gl
|
|
@@ -643,8 +556,8 @@ export default class WEBGLTexture extends Texture {
|
|
|
643
556
|
height,
|
|
644
557
|
pixels,
|
|
645
558
|
data,
|
|
646
|
-
format =
|
|
647
|
-
type =
|
|
559
|
+
format = 6408,
|
|
560
|
+
type = 5121
|
|
648
561
|
} = options;
|
|
649
562
|
const imageDataMap = pixels || data;
|
|
650
563
|
const resolvedFaces = await Promise.all(WEBGLTexture.FACES.map(face => {
|
|
@@ -654,9 +567,8 @@ export default class WEBGLTexture extends Texture {
|
|
|
654
567
|
this.bind();
|
|
655
568
|
WEBGLTexture.FACES.forEach((face, index) => {
|
|
656
569
|
if (resolvedFaces[index].length > 1 && this.props.mipmaps !== false) {
|
|
657
|
-
log.warn(
|
|
570
|
+
log.warn(`${this.id} has mipmap and multiple LODs.`)();
|
|
658
571
|
}
|
|
659
|
-
|
|
660
572
|
resolvedFaces[index].forEach((image, lodLevel) => {
|
|
661
573
|
if (width && height) {
|
|
662
574
|
gl.texImage2D(face, lodLevel, format, width, height, 0, format, type, image);
|
|
@@ -667,7 +579,6 @@ export default class WEBGLTexture extends Texture {
|
|
|
667
579
|
});
|
|
668
580
|
this.unbind();
|
|
669
581
|
}
|
|
670
|
-
|
|
671
582
|
setImageDataForFace(options) {
|
|
672
583
|
const {
|
|
673
584
|
face,
|
|
@@ -675,15 +586,14 @@ export default class WEBGLTexture extends Texture {
|
|
|
675
586
|
height,
|
|
676
587
|
pixels,
|
|
677
588
|
data,
|
|
678
|
-
format =
|
|
679
|
-
type =
|
|
589
|
+
format = 6408,
|
|
590
|
+
type = 5121
|
|
680
591
|
} = options;
|
|
681
592
|
const {
|
|
682
593
|
gl
|
|
683
594
|
} = this;
|
|
684
595
|
const imageData = pixels || data;
|
|
685
596
|
this.bind();
|
|
686
|
-
|
|
687
597
|
if (imageData instanceof Promise) {
|
|
688
598
|
imageData.then(resolvedImageData => this.setImageDataForFace(Object.assign({}, options, {
|
|
689
599
|
face,
|
|
@@ -695,139 +605,110 @@ export default class WEBGLTexture extends Texture {
|
|
|
695
605
|
} else {
|
|
696
606
|
gl.texImage2D(face, 0, format, format, type, imageData);
|
|
697
607
|
}
|
|
698
|
-
|
|
699
608
|
return this;
|
|
700
609
|
}
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
610
|
+
setImageData3D(options) {
|
|
611
|
+
const {
|
|
612
|
+
level = 0,
|
|
613
|
+
dataFormat,
|
|
614
|
+
format,
|
|
615
|
+
type,
|
|
616
|
+
width,
|
|
617
|
+
height,
|
|
618
|
+
depth = 1,
|
|
619
|
+
offset = 0,
|
|
620
|
+
data,
|
|
621
|
+
parameters = {}
|
|
622
|
+
} = options;
|
|
714
623
|
this.trackDeallocatedMemory('Texture');
|
|
715
624
|
this.gl.bindTexture(this.target, this.handle);
|
|
716
|
-
const webglTextureFormat = getWebGLTextureParameters(this.
|
|
717
|
-
|
|
625
|
+
const webglTextureFormat = getWebGLTextureParameters(format, this.device.isWebGL2);
|
|
626
|
+
withGLParameters(this.gl, parameters, () => {
|
|
718
627
|
if (ArrayBuffer.isView(data)) {
|
|
719
628
|
this.gl.texImage3D(this.target, level, webglTextureFormat.format, width, height, depth, 0, webglTextureFormat.dataFormat, webglTextureFormat.type, data);
|
|
720
629
|
}
|
|
721
|
-
|
|
722
630
|
if (data instanceof WEBGLBuffer) {
|
|
723
|
-
this.gl.bindBuffer(
|
|
631
|
+
this.gl.bindBuffer(35052, data.handle);
|
|
724
632
|
this.gl.texImage3D(this.target, level, dataFormat, width, height, depth, 0, format, type, offset);
|
|
725
633
|
}
|
|
726
634
|
});
|
|
727
|
-
|
|
728
635
|
if (data && data.byteLength) {
|
|
729
636
|
this.trackAllocatedMemory(data.byteLength, 'Texture');
|
|
730
637
|
} else {
|
|
731
|
-
const bytesPerPixel = getTextureFormatBytesPerPixel(this.
|
|
638
|
+
const bytesPerPixel = getTextureFormatBytesPerPixel(this.props.format, this.device.isWebGL2);
|
|
732
639
|
this.trackAllocatedMemory(this.width * this.height * this.depth * bytesPerPixel, 'Texture');
|
|
733
640
|
}
|
|
734
|
-
|
|
735
641
|
this.loaded = true;
|
|
736
642
|
return this;
|
|
737
643
|
}
|
|
738
|
-
|
|
739
644
|
_setSamplerParameters(parameters) {
|
|
740
645
|
if (this.device.isWebGL1 && isNPOT(this.width, this.height)) {
|
|
741
646
|
parameters = updateSamplerParametersForNPOT(parameters);
|
|
742
647
|
}
|
|
743
|
-
|
|
744
648
|
if (isObjectEmpty(parameters)) {
|
|
745
649
|
return;
|
|
746
650
|
}
|
|
747
|
-
|
|
748
651
|
logParameters(parameters);
|
|
749
652
|
this.gl.bindTexture(this.target, this.handle);
|
|
750
|
-
|
|
751
653
|
for (const [pname, pvalue] of Object.entries(parameters)) {
|
|
752
654
|
const param = Number(pname);
|
|
753
|
-
|
|
754
|
-
|
|
655
|
+
const value = pvalue;
|
|
755
656
|
switch (param) {
|
|
756
|
-
case
|
|
757
|
-
case
|
|
657
|
+
case 33082:
|
|
658
|
+
case 33083:
|
|
758
659
|
this.gl.texParameterf(this.target, param, value);
|
|
759
660
|
break;
|
|
760
|
-
|
|
761
661
|
default:
|
|
762
662
|
this.gl.texParameteri(this.target, param, value);
|
|
763
663
|
break;
|
|
764
664
|
}
|
|
765
665
|
}
|
|
766
|
-
|
|
767
666
|
this.gl.bindTexture(this.target, null);
|
|
768
|
-
return
|
|
667
|
+
return;
|
|
769
668
|
}
|
|
770
|
-
|
|
771
669
|
_getWebGL1NPOTParameterOverride(pname, value) {
|
|
772
670
|
const npot = this.device.isWebGL1 && isNPOT(this.width, this.height);
|
|
773
|
-
|
|
774
671
|
if (npot) {
|
|
775
672
|
switch (pname) {
|
|
776
|
-
case
|
|
777
|
-
if (value !==
|
|
778
|
-
return
|
|
673
|
+
case 10241:
|
|
674
|
+
if (value !== 9729 && value !== 9728) {
|
|
675
|
+
return 9729;
|
|
779
676
|
}
|
|
780
|
-
|
|
781
677
|
break;
|
|
782
|
-
|
|
783
|
-
case
|
|
784
|
-
|
|
785
|
-
return GL.CLAMP_TO_EDGE;
|
|
786
|
-
|
|
678
|
+
case 10242:
|
|
679
|
+
case 10243:
|
|
680
|
+
return 33071;
|
|
787
681
|
default:
|
|
788
682
|
break;
|
|
789
683
|
}
|
|
790
684
|
}
|
|
791
|
-
|
|
792
685
|
return value;
|
|
793
686
|
}
|
|
794
|
-
|
|
795
687
|
}
|
|
796
|
-
|
|
797
|
-
_defineProperty(WEBGLTexture, "FACES", [GL.TEXTURE_CUBE_MAP_POSITIVE_X, GL.TEXTURE_CUBE_MAP_NEGATIVE_X, GL.TEXTURE_CUBE_MAP_POSITIVE_Y, GL.TEXTURE_CUBE_MAP_NEGATIVE_Y, GL.TEXTURE_CUBE_MAP_POSITIVE_Z, GL.TEXTURE_CUBE_MAP_NEGATIVE_Z]);
|
|
798
|
-
|
|
688
|
+
WEBGLTexture.FACES = [34069, 34070, 34071, 34072, 34073, 34074];
|
|
799
689
|
function getWebGLTextureTarget(props) {
|
|
800
690
|
switch (props.dimension) {
|
|
801
691
|
case '2d':
|
|
802
|
-
return
|
|
803
|
-
|
|
692
|
+
return 3553;
|
|
804
693
|
case 'cube':
|
|
805
|
-
return
|
|
806
|
-
|
|
694
|
+
return 34067;
|
|
807
695
|
case '2d-array':
|
|
808
|
-
return
|
|
809
|
-
|
|
696
|
+
return 35866;
|
|
810
697
|
case '3d':
|
|
811
|
-
return
|
|
812
|
-
|
|
698
|
+
return 32879;
|
|
813
699
|
case '1d':
|
|
814
700
|
case 'cube-array':
|
|
815
701
|
default:
|
|
816
702
|
throw new Error(props.dimension);
|
|
817
703
|
}
|
|
818
704
|
}
|
|
819
|
-
|
|
820
705
|
function isNPOT(width, height) {
|
|
821
706
|
if (!width || !height) {
|
|
822
707
|
return false;
|
|
823
708
|
}
|
|
824
|
-
|
|
825
709
|
return !isPowerOfTwo(width) || !isPowerOfTwo(height);
|
|
826
710
|
}
|
|
827
|
-
|
|
828
711
|
function logParameters(parameters) {
|
|
829
712
|
log.log(1, 'texture sampler parameters', parameters)();
|
|
830
|
-
|
|
831
|
-
for (const [pname, pvalue] of Object.entries(parameters)) {}
|
|
832
713
|
}
|
|
833
714
|
//# sourceMappingURL=webgl-texture.js.map
|