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