@luma.gl/webgl 9.0.0-alpha.14 → 9.0.0-alpha.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapter/converters/device-parameters.js +199 -136
- package/dist/adapter/converters/renderbuffer-formats.d.ts +1 -1
- package/dist/adapter/converters/renderbuffer-formats.d.ts.map +1 -1
- package/dist/adapter/converters/renderbuffer-formats.js +62 -176
- package/dist/adapter/converters/sampler-parameters.js +149 -206
- package/dist/adapter/converters/texture-formats.d.ts +2 -2
- package/dist/adapter/converters/texture-formats.d.ts.map +1 -1
- package/dist/adapter/converters/texture-formats.js +437 -890
- package/dist/adapter/converters/vertex-formats.js +15 -33
- package/dist/adapter/device-helpers/device-features.js +119 -100
- package/dist/adapter/device-helpers/device-limits.d.ts +1 -1
- package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
- package/dist/adapter/device-helpers/device-limits.js +88 -86
- package/dist/adapter/device-helpers/get-device-info.js +42 -43
- package/dist/adapter/device-helpers/is-old-ie.js +9 -6
- package/dist/adapter/helpers/attribute-utils.js +50 -74
- package/dist/adapter/helpers/get-shader-info.d.ts +9 -0
- package/dist/adapter/helpers/get-shader-info.d.ts.map +1 -0
- package/dist/adapter/helpers/get-shader-info.js +27 -0
- package/dist/adapter/helpers/get-shader-layout.js +307 -296
- 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 +32 -33
- package/dist/adapter/helpers/set-uniform.js +67 -110
- package/dist/adapter/helpers/uniforms.js +80 -85
- package/dist/adapter/objects/constants-to-keys.js +33 -33
- package/dist/adapter/objects/webgl-renderbuffer.d.ts +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-renderbuffer.js +67 -86
- package/dist/adapter/objects/webgl-resource.js +213 -205
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts +1 -1
- package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -1
- package/dist/adapter/objects/webgl-vertex-array-object.js +74 -76
- package/dist/adapter/resources/webgl-buffer.js +150 -147
- package/dist/adapter/resources/webgl-command-buffer.d.ts +5 -5
- package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-command-buffer.js +39 -55
- package/dist/adapter/resources/webgl-command-encoder.js +25 -49
- package/dist/adapter/resources/webgl-external-texture.js +91 -1
- package/dist/adapter/resources/webgl-framebuffer.d.ts +2 -2
- package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-framebuffer.js +231 -258
- package/dist/adapter/resources/webgl-render-pass.d.ts +1 -1
- package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-render-pass.js +8 -18
- package/dist/adapter/resources/webgl-render-pipeline.js +316 -378
- package/dist/adapter/resources/webgl-sampler.js +42 -47
- package/dist/adapter/resources/webgl-shader.d.ts +1 -2
- package/dist/adapter/resources/webgl-shader.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-shader.js +58 -68
- package/dist/adapter/resources/webgl-texture.d.ts +5 -5
- package/dist/adapter/resources/webgl-texture.d.ts.map +1 -1
- package/dist/adapter/resources/webgl-texture.js +661 -815
- package/dist/adapter/webgl-canvas-context.js +55 -49
- package/dist/adapter/webgl-device.js +288 -338
- package/dist/bundle.js +1 -2
- package/dist/classic/accessor.js +120 -127
- package/dist/classic/buffer.d.ts +1 -1
- package/dist/classic/buffer.d.ts.map +1 -1
- package/dist/classic/buffer.js +325 -356
- package/dist/classic/typed-array-utils.d.ts +1 -1
- package/dist/classic/typed-array-utils.d.ts.map +1 -1
- package/dist/classic/typed-array-utils.js +91 -101
- package/dist/context/context/create-browser-context.d.ts +1 -2
- package/dist/context/context/create-browser-context.d.ts.map +1 -1
- package/dist/context/context/create-browser-context.js +61 -52
- 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 +26 -33
- package/dist/context/context/webgl-checks.js +25 -20
- 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 +53 -62
- 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 +106 -93
- package/dist/context/parameters/unified-parameter-api.js +91 -55
- package/dist/context/parameters/webgl-parameter-tables.d.ts +1 -1
- package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
- package/dist/context/parameters/webgl-parameter-tables.js +462 -423
- package/dist/context/polyfill/context-data.js +16 -12
- package/dist/context/polyfill/get-parameter-polyfill.js +91 -76
- package/dist/context/polyfill/polyfill-context.js +75 -80
- package/dist/context/polyfill/polyfill-table.js +133 -139
- package/dist/context/polyfill/polyfill-vertex-array-object.js +255 -297
- package/dist/context/state-tracker/deep-array-equal.js +16 -18
- package/dist/context/state-tracker/track-context-state.js +183 -161
- package/dist/context/state-tracker/with-parameters.js +43 -35
- package/dist/dist.min.js +1 -0
- package/dist/es5/adapter/converters/device-parameters.js +3 -38
- package/dist/es5/adapter/converters/device-parameters.js.map +1 -1
- package/dist/es5/adapter/converters/renderbuffer-formats.js +2 -14
- package/dist/es5/adapter/converters/renderbuffer-formats.js.map +1 -1
- package/dist/es5/adapter/converters/sampler-parameters.js +2 -65
- package/dist/es5/adapter/converters/sampler-parameters.js.map +1 -1
- package/dist/es5/adapter/converters/texture-formats.js +9 -81
- package/dist/es5/adapter/converters/texture-formats.js.map +1 -1
- package/dist/es5/adapter/converters/vertex-formats.js +0 -12
- package/dist/es5/adapter/converters/vertex-formats.js.map +1 -1
- package/dist/es5/adapter/device-helpers/device-features.js +6 -40
- package/dist/es5/adapter/device-helpers/device-features.js.map +1 -1
- package/dist/es5/adapter/device-helpers/device-limits.js +0 -10
- package/dist/es5/adapter/device-helpers/device-limits.js.map +1 -1
- package/dist/es5/adapter/device-helpers/get-device-info.js +0 -10
- package/dist/es5/adapter/device-helpers/get-device-info.js.map +1 -1
- package/dist/es5/adapter/device-helpers/is-old-ie.js +0 -1
- package/dist/es5/adapter/device-helpers/is-old-ie.js.map +1 -1
- package/dist/es5/adapter/helpers/attribute-utils.js +3 -25
- package/dist/es5/adapter/helpers/attribute-utils.js.map +1 -1
- package/dist/es5/adapter/helpers/get-shader-info.js +31 -0
- package/dist/es5/adapter/helpers/get-shader-info.js.map +1 -0
- package/dist/es5/adapter/helpers/get-shader-layout.js +23 -101
- package/dist/es5/adapter/helpers/get-shader-layout.js.map +1 -1
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js +6 -24
- package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
- package/dist/es5/adapter/helpers/set-uniform.js +0 -33
- package/dist/es5/adapter/helpers/set-uniform.js.map +1 -1
- package/dist/es5/adapter/helpers/uniforms.js +13 -37
- package/dist/es5/adapter/helpers/uniforms.js.map +1 -1
- package/dist/es5/adapter/objects/constants-to-keys.js +1 -12
- package/dist/es5/adapter/objects/constants-to-keys.js.map +1 -1
- package/dist/es5/adapter/objects/webgl-renderbuffer.js +5 -33
- package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +1 -1
- package/dist/es5/adapter/objects/webgl-resource.js +6 -60
- package/dist/es5/adapter/objects/webgl-resource.js.map +1 -1
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js +7 -35
- package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-buffer.js +20 -66
- package/dist/es5/adapter/resources/webgl-buffer.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-command-buffer.js +6 -32
- package/dist/es5/adapter/resources/webgl-command-buffer.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-command-encoder.js +0 -18
- package/dist/es5/adapter/resources/webgl-command-encoder.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-external-texture.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-framebuffer.js +10 -82
- package/dist/es5/adapter/resources/webgl-framebuffer.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-render-pass.js +2 -19
- package/dist/es5/adapter/resources/webgl-render-pass.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-render-pipeline.js +24 -133
- package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-sampler.js +2 -28
- package/dist/es5/adapter/resources/webgl-sampler.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-shader.js +13 -52
- package/dist/es5/adapter/resources/webgl-shader.js.map +1 -1
- package/dist/es5/adapter/resources/webgl-texture.js +137 -291
- package/dist/es5/adapter/resources/webgl-texture.js.map +1 -1
- package/dist/es5/adapter/webgl-canvas-context.js +0 -24
- package/dist/es5/adapter/webgl-canvas-context.js.map +1 -1
- package/dist/es5/adapter/webgl-device.js +40 -127
- package/dist/es5/adapter/webgl-device.js.map +1 -1
- package/dist/es5/bundle.js +0 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/classic/accessor.js +1 -31
- package/dist/es5/classic/accessor.js.map +1 -1
- package/dist/es5/classic/buffer.js +32 -102
- package/dist/es5/classic/buffer.js.map +1 -1
- package/dist/es5/classic/typed-array-utils.js +10 -37
- package/dist/es5/classic/typed-array-utils.js.map +1 -1
- package/dist/es5/context/context/create-browser-context.js +4 -21
- package/dist/es5/context/context/create-browser-context.js.map +1 -1
- package/dist/es5/context/context/create-headless-context.js +8 -21
- package/dist/es5/context/context/create-headless-context.js.map +1 -1
- package/dist/es5/context/context/webgl-checks.js +4 -14
- package/dist/es5/context/context/webgl-checks.js.map +1 -1
- package/dist/es5/context/debug/spector.js +20 -54
- package/dist/es5/context/debug/spector.js.map +1 -1
- package/dist/es5/context/debug/webgl-developer-tools.js +19 -65
- package/dist/es5/context/debug/webgl-developer-tools.js.map +1 -1
- package/dist/es5/context/parameters/unified-parameter-api.js +3 -28
- package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -1
- package/dist/es5/context/parameters/webgl-parameter-tables.js +18 -65
- package/dist/es5/context/parameters/webgl-parameter-tables.js.map +1 -1
- package/dist/es5/context/polyfill/context-data.js +0 -3
- package/dist/es5/context/polyfill/context-data.js.map +1 -1
- package/dist/es5/context/polyfill/get-parameter-polyfill.js +0 -12
- package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +1 -1
- package/dist/es5/context/polyfill/polyfill-context.js +8 -33
- package/dist/es5/context/polyfill/polyfill-context.js.map +1 -1
- package/dist/es5/context/polyfill/polyfill-table.js +3 -27
- package/dist/es5/context/polyfill/polyfill-table.js.map +1 -1
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +0 -70
- package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
- package/dist/es5/context/state-tracker/deep-array-equal.js +0 -5
- package/dist/es5/context/state-tracker/deep-array-equal.js.map +1 -1
- package/dist/es5/context/state-tracker/track-context-state.js +10 -53
- package/dist/es5/context/state-tracker/track-context-state.js.map +1 -1
- package/dist/es5/context/state-tracker/with-parameters.js +1 -13
- package/dist/es5/context/state-tracker/with-parameters.js.map +1 -1
- package/dist/es5/index.js +72 -99
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/init.js +0 -3
- package/dist/es5/init.js.map +1 -1
- package/dist/es5/types/webgl.js +0 -1
- package/dist/es5/types/webgl.js.map +1 -1
- package/dist/es5/types.js.map +1 -1
- package/dist/esm/adapter/converters/device-parameters.js +0 -20
- package/dist/esm/adapter/converters/device-parameters.js.map +1 -1
- package/dist/esm/adapter/converters/renderbuffer-formats.js +0 -4
- package/dist/esm/adapter/converters/renderbuffer-formats.js.map +1 -1
- package/dist/esm/adapter/converters/sampler-parameters.js +2 -57
- package/dist/esm/adapter/converters/sampler-parameters.js.map +1 -1
- package/dist/esm/adapter/converters/texture-formats.js +8 -52
- package/dist/esm/adapter/converters/texture-formats.js.map +1 -1
- package/dist/esm/adapter/converters/vertex-formats.js +0 -9
- package/dist/esm/adapter/converters/vertex-formats.js.map +1 -1
- package/dist/esm/adapter/device-helpers/device-features.js +2 -19
- package/dist/esm/adapter/device-helpers/device-features.js.map +1 -1
- package/dist/esm/adapter/device-helpers/device-limits.js +0 -3
- package/dist/esm/adapter/device-helpers/device-limits.js.map +1 -1
- package/dist/esm/adapter/device-helpers/get-device-info.js +0 -6
- package/dist/esm/adapter/device-helpers/get-device-info.js.map +1 -1
- package/dist/esm/adapter/device-helpers/is-old-ie.js +2 -1
- package/dist/esm/adapter/device-helpers/is-old-ie.js.map +1 -1
- package/dist/esm/adapter/helpers/attribute-utils.js +0 -17
- package/dist/esm/adapter/helpers/attribute-utils.js.map +1 -1
- package/dist/esm/adapter/helpers/get-shader-info.js +25 -0
- package/dist/esm/adapter/helpers/get-shader-info.js.map +1 -0
- package/dist/esm/adapter/helpers/get-shader-layout.js +2 -48
- package/dist/esm/adapter/helpers/get-shader-layout.js.map +1 -1
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js +0 -7
- package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +1 -1
- package/dist/esm/adapter/helpers/set-uniform.js +0 -30
- package/dist/esm/adapter/helpers/set-uniform.js.map +1 -1
- package/dist/esm/adapter/helpers/uniforms.js +0 -10
- package/dist/esm/adapter/helpers/uniforms.js.map +1 -1
- package/dist/esm/adapter/objects/constants-to-keys.js +0 -7
- package/dist/esm/adapter/objects/constants-to-keys.js.map +1 -1
- package/dist/esm/adapter/objects/webgl-renderbuffer.js +2 -18
- package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +1 -1
- package/dist/esm/adapter/objects/webgl-resource.js +10 -57
- package/dist/esm/adapter/objects/webgl-resource.js.map +1 -1
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js +5 -15
- package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-buffer.js +12 -40
- package/dist/esm/adapter/resources/webgl-buffer.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-command-buffer.js +2 -17
- package/dist/esm/adapter/resources/webgl-command-buffer.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-command-encoder.js +0 -12
- package/dist/esm/adapter/resources/webgl-command-encoder.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-external-texture.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-framebuffer.js +0 -60
- package/dist/esm/adapter/resources/webgl-framebuffer.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-render-pass.js +1 -8
- package/dist/esm/adapter/resources/webgl-render-pass.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-render-pipeline.js +0 -89
- package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-sampler.js +0 -12
- package/dist/esm/adapter/resources/webgl-sampler.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-shader.js +2 -16
- package/dist/esm/adapter/resources/webgl-shader.js.map +1 -1
- package/dist/esm/adapter/resources/webgl-texture.js +36 -154
- package/dist/esm/adapter/resources/webgl-texture.js.map +1 -1
- package/dist/esm/adapter/webgl-canvas-context.js +0 -14
- package/dist/esm/adapter/webgl-canvas-context.js.map +1 -1
- package/dist/esm/adapter/webgl-device.js +19 -89
- package/dist/esm/adapter/webgl-device.js.map +1 -1
- package/dist/esm/bundle.js +0 -1
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/classic/accessor.js +10 -34
- package/dist/esm/classic/accessor.js.map +1 -1
- package/dist/esm/classic/buffer.js +15 -71
- package/dist/esm/classic/buffer.js.map +1 -1
- package/dist/esm/classic/typed-array-utils.js +0 -20
- package/dist/esm/classic/typed-array-utils.js.map +1 -1
- package/dist/esm/context/context/create-browser-context.js +6 -14
- package/dist/esm/context/context/create-browser-context.js.map +1 -1
- package/dist/esm/context/context/create-headless-context.js +2 -6
- package/dist/esm/context/context/create-headless-context.js.map +1 -1
- package/dist/esm/context/context/webgl-checks.js +0 -3
- package/dist/esm/context/context/webgl-checks.js.map +1 -1
- package/dist/esm/context/debug/spector.js +2 -14
- package/dist/esm/context/debug/spector.js.map +1 -1
- package/dist/esm/context/debug/webgl-developer-tools.js +4 -22
- package/dist/esm/context/debug/webgl-developer-tools.js.map +1 -1
- package/dist/esm/context/parameters/unified-parameter-api.js +2 -13
- package/dist/esm/context/parameters/unified-parameter-api.js.map +1 -1
- package/dist/esm/context/parameters/webgl-parameter-tables.js +0 -19
- package/dist/esm/context/parameters/webgl-parameter-tables.js.map +1 -1
- package/dist/esm/context/polyfill/context-data.js +0 -2
- package/dist/esm/context/polyfill/context-data.js.map +1 -1
- package/dist/esm/context/polyfill/get-parameter-polyfill.js +0 -5
- package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +1 -1
- package/dist/esm/context/polyfill/polyfill-context.js +14 -21
- package/dist/esm/context/polyfill/polyfill-context.js.map +1 -1
- package/dist/esm/context/polyfill/polyfill-table.js +0 -23
- package/dist/esm/context/polyfill/polyfill-table.js.map +1 -1
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +0 -70
- package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +1 -1
- package/dist/esm/context/state-tracker/deep-array-equal.js +0 -4
- package/dist/esm/context/state-tracker/deep-array-equal.js.map +1 -1
- package/dist/esm/context/state-tracker/track-context-state.js +11 -45
- package/dist/esm/context/state-tracker/track-context-state.js.map +1 -1
- package/dist/esm/context/state-tracker/with-parameters.js +0 -6
- package/dist/esm/context/state-tracker/with-parameters.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/init.js.map +1 -1
- package/dist/esm/types/webgl.js.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/index.js +39 -25
- package/dist/init.js +1 -2
- package/dist/types/webgl.d.ts +20 -20
- package/dist/types/webgl.d.ts.map +1 -1
- package/dist/types/webgl.js +0 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -1
- package/package.json +8 -8
- package/src/adapter/helpers/get-shader-info.ts +37 -0
- package/src/adapter/helpers/parse-shader-compiler-log.ts +1 -1
- package/src/adapter/resources/webgl-render-pass.ts +1 -1
- package/src/adapter/resources/webgl-shader.ts +2 -2
- package/src/adapter/webgl-device.ts +1 -1
- package/src/context/debug/webgl-developer-tools.ts +0 -1
- package/src/types/webgl.ts +4 -4
- package/dist/adapter/converters/device-parameters.js.map +0 -1
- package/dist/adapter/converters/renderbuffer-formats.js.map +0 -1
- package/dist/adapter/converters/sampler-parameters.js.map +0 -1
- package/dist/adapter/converters/texture-formats.js.map +0 -1
- package/dist/adapter/converters/vertex-formats.js.map +0 -1
- package/dist/adapter/device-helpers/device-features.js.map +0 -1
- package/dist/adapter/device-helpers/device-limits.js.map +0 -1
- package/dist/adapter/device-helpers/get-device-info.js.map +0 -1
- package/dist/adapter/device-helpers/is-old-ie.js.map +0 -1
- package/dist/adapter/helpers/attribute-utils.js.map +0 -1
- package/dist/adapter/helpers/get-shader-layout.js.map +0 -1
- package/dist/adapter/helpers/parse-shader-compiler-log.js.map +0 -1
- package/dist/adapter/helpers/set-uniform.js.map +0 -1
- package/dist/adapter/helpers/uniforms.js.map +0 -1
- package/dist/adapter/objects/constants-to-keys.js.map +0 -1
- package/dist/adapter/objects/webgl-renderbuffer.js.map +0 -1
- package/dist/adapter/objects/webgl-resource.js.map +0 -1
- package/dist/adapter/objects/webgl-vertex-array-object.js.map +0 -1
- package/dist/adapter/resources/webgl-buffer.js.map +0 -1
- package/dist/adapter/resources/webgl-command-buffer.js.map +0 -1
- package/dist/adapter/resources/webgl-command-encoder.js.map +0 -1
- package/dist/adapter/resources/webgl-external-texture.js.map +0 -1
- package/dist/adapter/resources/webgl-framebuffer.js.map +0 -1
- package/dist/adapter/resources/webgl-render-pass.js.map +0 -1
- package/dist/adapter/resources/webgl-render-pipeline.js.map +0 -1
- package/dist/adapter/resources/webgl-sampler.js.map +0 -1
- package/dist/adapter/resources/webgl-shader.js.map +0 -1
- package/dist/adapter/resources/webgl-texture.js.map +0 -1
- package/dist/adapter/webgl-canvas-context.js.map +0 -1
- package/dist/adapter/webgl-device.js.map +0 -1
- package/dist/bundle.js.map +0 -1
- package/dist/classic/accessor.js.map +0 -1
- package/dist/classic/buffer.js.map +0 -1
- package/dist/classic/typed-array-utils.js.map +0 -1
- package/dist/context/context/create-browser-context.js.map +0 -1
- package/dist/context/context/create-headless-context.js.map +0 -1
- package/dist/context/context/webgl-checks.js.map +0 -1
- package/dist/context/debug/spector.js.map +0 -1
- package/dist/context/debug/webgl-developer-tools.js.map +0 -1
- package/dist/context/parameters/unified-parameter-api.js.map +0 -1
- package/dist/context/parameters/webgl-parameter-tables.js.map +0 -1
- package/dist/context/polyfill/context-data.js.map +0 -1
- package/dist/context/polyfill/get-parameter-polyfill.js.map +0 -1
- package/dist/context/polyfill/polyfill-context.js.map +0 -1
- package/dist/context/polyfill/polyfill-table.js.map +0 -1
- package/dist/context/polyfill/polyfill-vertex-array-object.js.map +0 -1
- package/dist/context/state-tracker/deep-array-equal.js.map +0 -1
- package/dist/context/state-tracker/track-context-state.js.map +0 -1
- package/dist/context/state-tracker/with-parameters.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/init.js.map +0 -1
- package/dist/types/webgl.js.map +0 -1
- package/dist/types.js.map +0 -1
|
@@ -1,72 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
-
|
|
14
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
-
|
|
16
11
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
17
|
-
|
|
18
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
19
|
-
|
|
20
13
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
21
|
-
|
|
22
14
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
23
|
-
|
|
24
15
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
25
|
-
|
|
26
16
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
27
|
-
|
|
28
17
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
29
|
-
|
|
30
18
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
31
|
-
|
|
32
19
|
var _api = require("@luma.gl/api");
|
|
33
|
-
|
|
34
20
|
var _constants = _interopRequireDefault(require("@luma.gl/constants"));
|
|
35
|
-
|
|
36
21
|
var _withParameters = require("../../context/state-tracker/with-parameters");
|
|
37
|
-
|
|
38
22
|
var _textureFormats = require("../converters/texture-formats");
|
|
39
|
-
|
|
40
23
|
var _samplerParameters = require("../converters/sampler-parameters");
|
|
41
|
-
|
|
42
24
|
var _webglBuffer = _interopRequireDefault(require("./webgl-buffer"));
|
|
43
|
-
|
|
44
25
|
var _webglSampler = _interopRequireDefault(require("./webgl-sampler"));
|
|
45
|
-
|
|
46
26
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
47
|
-
|
|
48
27
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
49
|
-
|
|
50
|
-
function
|
|
51
|
-
|
|
52
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
53
|
-
|
|
54
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
55
|
-
|
|
28
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
29
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
30
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
56
31
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
57
|
-
|
|
58
32
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
59
|
-
|
|
60
33
|
var WEBGLTexture = function (_Texture) {
|
|
61
34
|
(0, _inherits2.default)(WEBGLTexture, _Texture);
|
|
62
|
-
|
|
63
35
|
var _super = _createSuper(WEBGLTexture);
|
|
64
|
-
|
|
65
36
|
function WEBGLTexture(device, props) {
|
|
66
37
|
var _this$props;
|
|
67
|
-
|
|
68
38
|
var _this;
|
|
69
|
-
|
|
70
39
|
(0, _classCallCheck2.default)(this, WEBGLTexture);
|
|
71
40
|
_this = _super.call(this, device, _objectSpread({
|
|
72
41
|
format: _constants.default.RGBA
|
|
@@ -98,19 +67,15 @@ var WEBGLTexture = function (_Texture) {
|
|
|
98
67
|
});
|
|
99
68
|
_this.target = getWebGLTextureTarget(_this.props);
|
|
100
69
|
_this.loaded = false;
|
|
101
|
-
|
|
102
70
|
if (typeof ((_this$props = _this.props) === null || _this$props === void 0 ? void 0 : _this$props.data) === 'string') {
|
|
103
71
|
Object.assign(_this.props, {
|
|
104
72
|
data: (0, _api.loadImage)(_this.props.data)
|
|
105
73
|
});
|
|
106
74
|
}
|
|
107
|
-
|
|
108
75
|
_this.initialize(_this.props);
|
|
109
|
-
|
|
110
76
|
Object.seal((0, _assertThisInitialized2.default)(_this));
|
|
111
77
|
return _this;
|
|
112
78
|
}
|
|
113
|
-
|
|
114
79
|
(0, _createClass2.default)(WEBGLTexture, [{
|
|
115
80
|
key: "destroy",
|
|
116
81
|
value: function destroy() {
|
|
@@ -130,15 +95,11 @@ var WEBGLTexture = function (_Texture) {
|
|
|
130
95
|
key: "initialize",
|
|
131
96
|
value: function initialize() {
|
|
132
97
|
var _this2 = this;
|
|
133
|
-
|
|
134
98
|
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
135
|
-
|
|
136
99
|
if (this.props.dimension === 'cube') {
|
|
137
100
|
return this.initializeCube(props);
|
|
138
101
|
}
|
|
139
|
-
|
|
140
102
|
var data = props.data;
|
|
141
|
-
|
|
142
103
|
if (data instanceof Promise) {
|
|
143
104
|
data.then(function (resolvedImageData) {
|
|
144
105
|
return _this2.initialize(Object.assign({}, props, {
|
|
@@ -148,9 +109,7 @@ var WEBGLTexture = function (_Texture) {
|
|
|
148
109
|
});
|
|
149
110
|
return this;
|
|
150
111
|
}
|
|
151
|
-
|
|
152
112
|
var isVideo = typeof HTMLVideoElement !== 'undefined' && data instanceof HTMLVideoElement;
|
|
153
|
-
|
|
154
113
|
if (isVideo && data.readyState < HTMLVideoElement.HAVE_METADATA) {
|
|
155
114
|
this._video = null;
|
|
156
115
|
data.addEventListener('loadeddata', function () {
|
|
@@ -158,33 +117,29 @@ var WEBGLTexture = function (_Texture) {
|
|
|
158
117
|
});
|
|
159
118
|
return this;
|
|
160
119
|
}
|
|
161
|
-
|
|
162
120
|
var _props$parameters = props.parameters,
|
|
163
|
-
|
|
121
|
+
parameters = _props$parameters === void 0 ? {} : _props$parameters;
|
|
164
122
|
var _props$pixels = props.pixels,
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
123
|
+
pixels = _props$pixels === void 0 ? null : _props$pixels,
|
|
124
|
+
_props$recreate = props.recreate,
|
|
125
|
+
recreate = _props$recreate === void 0 ? false : _props$recreate,
|
|
126
|
+
_props$pixelStore = props.pixelStore,
|
|
127
|
+
pixelStore = _props$pixelStore === void 0 ? {} : _props$pixelStore,
|
|
128
|
+
_props$textureUnit = props.textureUnit,
|
|
129
|
+
textureUnit = _props$textureUnit === void 0 ? undefined : _props$textureUnit;
|
|
173
130
|
if (!data) {
|
|
174
131
|
data = pixels;
|
|
175
132
|
}
|
|
176
|
-
|
|
177
133
|
var width = props.width,
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
134
|
+
height = props.height,
|
|
135
|
+
dataFormat = props.dataFormat,
|
|
136
|
+
type = props.type,
|
|
137
|
+
_props$compressed = props.compressed,
|
|
138
|
+
compressed = _props$compressed === void 0 ? false : _props$compressed,
|
|
139
|
+
_props$mipmaps = props.mipmaps,
|
|
140
|
+
mipmaps = _props$mipmaps === void 0 ? true : _props$mipmaps;
|
|
185
141
|
var _props$depth = props.depth,
|
|
186
|
-
|
|
187
|
-
|
|
142
|
+
depth = _props$depth === void 0 ? 0 : _props$depth;
|
|
188
143
|
var _this$_deduceParamete = this._deduceParameters({
|
|
189
144
|
format: props.format,
|
|
190
145
|
type: type,
|
|
@@ -194,7 +149,6 @@ var WEBGLTexture = function (_Texture) {
|
|
|
194
149
|
width: width,
|
|
195
150
|
height: height
|
|
196
151
|
});
|
|
197
|
-
|
|
198
152
|
width = _this$_deduceParamete.width;
|
|
199
153
|
height = _this$_deduceParamete.height;
|
|
200
154
|
compressed = _this$_deduceParamete.compressed;
|
|
@@ -208,18 +162,14 @@ var WEBGLTexture = function (_Texture) {
|
|
|
208
162
|
this.type = type;
|
|
209
163
|
this.dataFormat = dataFormat;
|
|
210
164
|
this.textureUnit = textureUnit;
|
|
211
|
-
|
|
212
165
|
if (Number.isFinite(this.textureUnit)) {
|
|
213
166
|
this.gl.activeTexture(_constants.default.TEXTURE0 + this.textureUnit);
|
|
214
167
|
this.gl.bindTexture(this.target, this.handle);
|
|
215
168
|
}
|
|
216
|
-
|
|
217
169
|
if (mipmaps && this.device.isWebGL1 && isNPOT(this.width, this.height)) {
|
|
218
170
|
_api.log.warn("texture: ".concat(this, " is Non-Power-Of-Two, disabling mipmaps"))();
|
|
219
|
-
|
|
220
171
|
mipmaps = false;
|
|
221
172
|
}
|
|
222
|
-
|
|
223
173
|
this.mipmaps = mipmaps;
|
|
224
174
|
this.setImageData({
|
|
225
175
|
data: data,
|
|
@@ -233,17 +183,13 @@ var WEBGLTexture = function (_Texture) {
|
|
|
233
183
|
compressed: compressed
|
|
234
184
|
});
|
|
235
185
|
this.setSampler(props.sampler);
|
|
236
|
-
|
|
237
186
|
this._setSamplerParameters(parameters);
|
|
238
|
-
|
|
239
187
|
if (mipmaps) {
|
|
240
188
|
this.generateMipmap();
|
|
241
189
|
}
|
|
242
|
-
|
|
243
190
|
if (recreate) {
|
|
244
191
|
this.data = data;
|
|
245
192
|
}
|
|
246
|
-
|
|
247
193
|
if (isVideo) {
|
|
248
194
|
this._video = {
|
|
249
195
|
video: data,
|
|
@@ -251,27 +197,22 @@ var WEBGLTexture = function (_Texture) {
|
|
|
251
197
|
lastTime: data.readyState >= HTMLVideoElement.HAVE_CURRENT_DATA ? data.currentTime : -1
|
|
252
198
|
};
|
|
253
199
|
}
|
|
254
|
-
|
|
255
200
|
return this;
|
|
256
201
|
}
|
|
257
202
|
}, {
|
|
258
203
|
key: "initializeCube",
|
|
259
204
|
value: function initializeCube(props) {
|
|
260
205
|
var _this3 = this;
|
|
261
|
-
|
|
262
206
|
var _props$mipmaps2 = props.mipmaps,
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
207
|
+
mipmaps = _props$mipmaps2 === void 0 ? true : _props$mipmaps2,
|
|
208
|
+
_props$parameters2 = props.parameters,
|
|
209
|
+
parameters = _props$parameters2 === void 0 ? {} : _props$parameters2;
|
|
266
210
|
this.setCubeMapImageData(props).then(function () {
|
|
267
211
|
_this3.loaded = true;
|
|
268
|
-
|
|
269
212
|
if (mipmaps) {
|
|
270
213
|
_this3.generateMipmap(props);
|
|
271
214
|
}
|
|
272
|
-
|
|
273
215
|
_this3.setSampler(props.sampler);
|
|
274
|
-
|
|
275
216
|
_this3._setSamplerParameters(parameters);
|
|
276
217
|
});
|
|
277
218
|
return this;
|
|
@@ -281,7 +222,6 @@ var WEBGLTexture = function (_Texture) {
|
|
|
281
222
|
value: function setSampler() {
|
|
282
223
|
var sampler = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
283
224
|
var samplerProps;
|
|
284
|
-
|
|
285
225
|
if (sampler instanceof _webglSampler.default) {
|
|
286
226
|
this.sampler = sampler;
|
|
287
227
|
samplerProps = sampler.props;
|
|
@@ -289,21 +229,17 @@ var WEBGLTexture = function (_Texture) {
|
|
|
289
229
|
this.sampler = new _webglSampler.default(this.device, sampler);
|
|
290
230
|
samplerProps = sampler;
|
|
291
231
|
}
|
|
292
|
-
|
|
293
232
|
var parameters = (0, _samplerParameters.convertSamplerParametersToWebGL)(samplerProps);
|
|
294
|
-
|
|
295
233
|
this._setSamplerParameters(parameters);
|
|
296
|
-
|
|
297
234
|
return this;
|
|
298
235
|
}
|
|
299
236
|
}, {
|
|
300
237
|
key: "resize",
|
|
301
238
|
value: function resize(options) {
|
|
302
239
|
var height = options.height,
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
240
|
+
width = options.width,
|
|
241
|
+
_options$mipmaps = options.mipmaps,
|
|
242
|
+
mipmaps = _options$mipmaps === void 0 ? false : _options$mipmaps;
|
|
307
243
|
if (width !== this.width || height !== this.height) {
|
|
308
244
|
return this.initialize({
|
|
309
245
|
width: width,
|
|
@@ -314,7 +250,6 @@ var WEBGLTexture = function (_Texture) {
|
|
|
314
250
|
mipmaps: mipmaps
|
|
315
251
|
});
|
|
316
252
|
}
|
|
317
|
-
|
|
318
253
|
return this;
|
|
319
254
|
}
|
|
320
255
|
}, {
|
|
@@ -322,23 +257,19 @@ var WEBGLTexture = function (_Texture) {
|
|
|
322
257
|
value: function update() {
|
|
323
258
|
if (this._video) {
|
|
324
259
|
var _this$_video = this._video,
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
260
|
+
video = _this$_video.video,
|
|
261
|
+
parameters = _this$_video.parameters,
|
|
262
|
+
lastTime = _this$_video.lastTime;
|
|
329
263
|
if (lastTime === video.currentTime || video.readyState < HTMLVideoElement.HAVE_CURRENT_DATA) {
|
|
330
264
|
return;
|
|
331
265
|
}
|
|
332
|
-
|
|
333
266
|
this.setSubImageData({
|
|
334
267
|
data: video,
|
|
335
268
|
parameters: parameters
|
|
336
269
|
});
|
|
337
|
-
|
|
338
270
|
if (this.mipmaps) {
|
|
339
271
|
this.generateMipmap();
|
|
340
272
|
}
|
|
341
|
-
|
|
342
273
|
this._video.lastTime = video.currentTime;
|
|
343
274
|
}
|
|
344
275
|
}
|
|
@@ -346,15 +277,11 @@ var WEBGLTexture = function (_Texture) {
|
|
|
346
277
|
key: "generateMipmap",
|
|
347
278
|
value: function generateMipmap() {
|
|
348
279
|
var _this4 = this;
|
|
349
|
-
|
|
350
280
|
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
351
|
-
|
|
352
281
|
if (this.device.isWebGL1 && isNPOT(this.width, this.height)) {
|
|
353
282
|
_api.log.warn("texture: ".concat(this, " is Non-Power-Of-Two, disabling mipmaping"))();
|
|
354
|
-
|
|
355
283
|
return this;
|
|
356
284
|
}
|
|
357
|
-
|
|
358
285
|
this.mipmaps = true;
|
|
359
286
|
this.gl.bindTexture(this.target, this.handle);
|
|
360
287
|
(0, _withParameters.withParameters)(this.gl, params, function () {
|
|
@@ -367,41 +294,37 @@ var WEBGLTexture = function (_Texture) {
|
|
|
367
294
|
key: "setImageData",
|
|
368
295
|
value: function setImageData(options) {
|
|
369
296
|
var _this5 = this;
|
|
370
|
-
|
|
371
297
|
if (this.props.dimension === '3d') {
|
|
372
298
|
return this.setImageData3D(options);
|
|
373
299
|
}
|
|
374
|
-
|
|
375
300
|
this.trackDeallocatedMemory('Texture');
|
|
376
301
|
var _options$target = options.target,
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
302
|
+
target = _options$target === void 0 ? this.target : _options$target,
|
|
303
|
+
_options$pixels = options.pixels,
|
|
304
|
+
pixels = _options$pixels === void 0 ? null : _options$pixels,
|
|
305
|
+
_options$level = options.level,
|
|
306
|
+
level = _options$level === void 0 ? 0 : _options$level,
|
|
307
|
+
_options$format = options.format,
|
|
308
|
+
format = _options$format === void 0 ? this.format : _options$format,
|
|
309
|
+
_options$offset = options.offset,
|
|
310
|
+
offset = _options$offset === void 0 ? 0 : _options$offset,
|
|
311
|
+
_options$parameters = options.parameters,
|
|
312
|
+
parameters = _options$parameters === void 0 ? {} : _options$parameters;
|
|
388
313
|
var _options$data = options.data,
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
314
|
+
data = _options$data === void 0 ? null : _options$data,
|
|
315
|
+
_options$type = options.type,
|
|
316
|
+
type = _options$type === void 0 ? this.type : _options$type,
|
|
317
|
+
_options$width = options.width,
|
|
318
|
+
width = _options$width === void 0 ? this.width : _options$width,
|
|
319
|
+
_options$height = options.height,
|
|
320
|
+
height = _options$height === void 0 ? this.height : _options$height,
|
|
321
|
+
_options$dataFormat = options.dataFormat,
|
|
322
|
+
dataFormat = _options$dataFormat === void 0 ? this.dataFormat : _options$dataFormat,
|
|
323
|
+
_options$compressed = options.compressed,
|
|
324
|
+
compressed = _options$compressed === void 0 ? false : _options$compressed;
|
|
401
325
|
if (!data) {
|
|
402
326
|
data = pixels;
|
|
403
327
|
}
|
|
404
|
-
|
|
405
328
|
var _this$_deduceParamete2 = this._deduceParameters({
|
|
406
329
|
format: this.props.format,
|
|
407
330
|
type: type,
|
|
@@ -411,7 +334,6 @@ var WEBGLTexture = function (_Texture) {
|
|
|
411
334
|
width: width,
|
|
412
335
|
height: height
|
|
413
336
|
});
|
|
414
|
-
|
|
415
337
|
type = _this$_deduceParamete2.type;
|
|
416
338
|
dataFormat = _this$_deduceParamete2.dataFormat;
|
|
417
339
|
compressed = _this$_deduceParamete2.compressed;
|
|
@@ -420,12 +342,10 @@ var WEBGLTexture = function (_Texture) {
|
|
|
420
342
|
var gl = this.gl;
|
|
421
343
|
gl.bindTexture(this.target, this.handle);
|
|
422
344
|
var dataType = null;
|
|
423
|
-
|
|
424
345
|
var _this$_getDataType = this._getDataType({
|
|
425
346
|
data: data,
|
|
426
347
|
compressed: compressed
|
|
427
348
|
});
|
|
428
|
-
|
|
429
349
|
data = _this$_getDataType.data;
|
|
430
350
|
dataType = _this$_getDataType.dataType;
|
|
431
351
|
var gl2;
|
|
@@ -434,37 +354,30 @@ var WEBGLTexture = function (_Texture) {
|
|
|
434
354
|
case 'null':
|
|
435
355
|
gl.texImage2D(target, level, format, width, height, 0, dataFormat, type, data);
|
|
436
356
|
break;
|
|
437
|
-
|
|
438
357
|
case 'typed-array':
|
|
439
358
|
gl.texImage2D(target, level, format, width, height, 0, dataFormat, type, data, offset);
|
|
440
359
|
break;
|
|
441
|
-
|
|
442
360
|
case 'buffer':
|
|
443
361
|
gl2 = _this5.device.assertWebGL2();
|
|
444
362
|
gl2.bindBuffer(_constants.default.PIXEL_UNPACK_BUFFER, data.handle || data);
|
|
445
363
|
gl2.texImage2D(target, level, format, width, height, 0, dataFormat, type, offset);
|
|
446
364
|
gl2.bindBuffer(_constants.default.PIXEL_UNPACK_BUFFER, null);
|
|
447
365
|
break;
|
|
448
|
-
|
|
449
366
|
case 'browser-object':
|
|
450
367
|
if (_this5.device.isWebGL2) {
|
|
451
368
|
gl.texImage2D(target, level, format, width, height, 0, dataFormat, type, data);
|
|
452
369
|
} else {
|
|
453
370
|
gl.texImage2D(target, level, format, dataFormat, type, data);
|
|
454
371
|
}
|
|
455
|
-
|
|
456
372
|
break;
|
|
457
|
-
|
|
458
373
|
case 'compressed':
|
|
459
374
|
var _iterator = _createForOfIteratorHelper(data.entries()),
|
|
460
|
-
|
|
461
|
-
|
|
375
|
+
_step;
|
|
462
376
|
try {
|
|
463
377
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
464
378
|
var _step$value = (0, _slicedToArray2.default)(_step.value, 2),
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
379
|
+
levelIndex = _step$value[0],
|
|
380
|
+
levelData = _step$value[1];
|
|
468
381
|
gl.compressedTexImage2D(target, levelIndex, levelData.format, levelData.width, levelData.height, 0, levelData.data);
|
|
469
382
|
}
|
|
470
383
|
} catch (err) {
|
|
@@ -472,21 +385,17 @@ var WEBGLTexture = function (_Texture) {
|
|
|
472
385
|
} finally {
|
|
473
386
|
_iterator.f();
|
|
474
387
|
}
|
|
475
|
-
|
|
476
388
|
break;
|
|
477
|
-
|
|
478
389
|
default:
|
|
479
390
|
(0, _api.assert)(false, 'Unknown image data type');
|
|
480
391
|
}
|
|
481
392
|
});
|
|
482
|
-
|
|
483
393
|
if (data && data.byteLength) {
|
|
484
394
|
this.trackAllocatedMemory(data.byteLength, 'Texture');
|
|
485
395
|
} else {
|
|
486
396
|
var bytesPerPixel = (0, _textureFormats.getTextureFormatBytesPerPixel)(this.gl, this.props.format);
|
|
487
397
|
this.trackAllocatedMemory(this.width * this.height * bytesPerPixel, 'Texture');
|
|
488
398
|
}
|
|
489
|
-
|
|
490
399
|
this.loaded = true;
|
|
491
400
|
return this;
|
|
492
401
|
}
|
|
@@ -494,36 +403,34 @@ var WEBGLTexture = function (_Texture) {
|
|
|
494
403
|
key: "setSubImageData",
|
|
495
404
|
value: function setSubImageData(_ref) {
|
|
496
405
|
var _this6 = this;
|
|
497
|
-
|
|
498
406
|
var _ref$target = _ref.target,
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
407
|
+
target = _ref$target === void 0 ? this.target : _ref$target,
|
|
408
|
+
_ref$pixels = _ref.pixels,
|
|
409
|
+
pixels = _ref$pixels === void 0 ? null : _ref$pixels,
|
|
410
|
+
_ref$data = _ref.data,
|
|
411
|
+
data = _ref$data === void 0 ? null : _ref$data,
|
|
412
|
+
_ref$x = _ref.x,
|
|
413
|
+
x = _ref$x === void 0 ? 0 : _ref$x,
|
|
414
|
+
_ref$y = _ref.y,
|
|
415
|
+
y = _ref$y === void 0 ? 0 : _ref$y,
|
|
416
|
+
_ref$width = _ref.width,
|
|
417
|
+
width = _ref$width === void 0 ? this.width : _ref$width,
|
|
418
|
+
_ref$height = _ref.height,
|
|
419
|
+
height = _ref$height === void 0 ? this.height : _ref$height,
|
|
420
|
+
_ref$level = _ref.level,
|
|
421
|
+
level = _ref$level === void 0 ? 0 : _ref$level,
|
|
422
|
+
_ref$format = _ref.format,
|
|
423
|
+
format = _ref$format === void 0 ? this.format : _ref$format,
|
|
424
|
+
_ref$type = _ref.type,
|
|
425
|
+
type = _ref$type === void 0 ? this.type : _ref$type,
|
|
426
|
+
_ref$dataFormat = _ref.dataFormat,
|
|
427
|
+
dataFormat = _ref$dataFormat === void 0 ? this.dataFormat : _ref$dataFormat,
|
|
428
|
+
_ref$compressed = _ref.compressed,
|
|
429
|
+
compressed = _ref$compressed === void 0 ? false : _ref$compressed,
|
|
430
|
+
_ref$offset = _ref.offset,
|
|
431
|
+
offset = _ref$offset === void 0 ? 0 : _ref$offset,
|
|
432
|
+
_ref$parameters = _ref.parameters,
|
|
433
|
+
parameters = _ref$parameters === void 0 ? {} : _ref$parameters;
|
|
527
434
|
var _this$_deduceParamete3 = this._deduceParameters({
|
|
528
435
|
format: this.props.format,
|
|
529
436
|
type: type,
|
|
@@ -533,29 +440,24 @@ var WEBGLTexture = function (_Texture) {
|
|
|
533
440
|
width: width,
|
|
534
441
|
height: height
|
|
535
442
|
});
|
|
536
|
-
|
|
537
443
|
type = _this$_deduceParamete3.type;
|
|
538
444
|
dataFormat = _this$_deduceParamete3.dataFormat;
|
|
539
445
|
compressed = _this$_deduceParamete3.compressed;
|
|
540
446
|
width = _this$_deduceParamete3.width;
|
|
541
447
|
height = _this$_deduceParamete3.height;
|
|
542
448
|
(0, _api.assert)(this.depth === 1, 'texSubImage not supported for 3D textures');
|
|
543
|
-
|
|
544
449
|
if (!data) {
|
|
545
450
|
data = pixels;
|
|
546
451
|
}
|
|
547
|
-
|
|
548
452
|
if (data && data.data) {
|
|
549
453
|
var ndarray = data;
|
|
550
454
|
data = ndarray.data;
|
|
551
455
|
width = ndarray.shape[0];
|
|
552
456
|
height = ndarray.shape[1];
|
|
553
457
|
}
|
|
554
|
-
|
|
555
458
|
if (data instanceof _webglBuffer.default) {
|
|
556
459
|
data = data.handle;
|
|
557
460
|
}
|
|
558
|
-
|
|
559
461
|
this.gl.bindTexture(this.target, this.handle);
|
|
560
462
|
(0, _withParameters.withParameters)(this.gl, parameters, function () {
|
|
561
463
|
if (compressed) {
|
|
@@ -566,13 +468,11 @@ var WEBGLTexture = function (_Texture) {
|
|
|
566
468
|
_this6.gl.texSubImage2D(target, level, x, y, width, height, dataFormat, type, data, offset);
|
|
567
469
|
} else if (typeof WebGLBuffer !== 'undefined' && data instanceof WebGLBuffer) {
|
|
568
470
|
var gl2 = _this6.device.assertWebGL2();
|
|
569
|
-
|
|
570
471
|
gl2.bindBuffer(_constants.default.PIXEL_UNPACK_BUFFER, data);
|
|
571
472
|
gl2.texSubImage2D(target, level, x, y, width, height, dataFormat, type, offset);
|
|
572
473
|
gl2.bindBuffer(_constants.default.PIXEL_UNPACK_BUFFER, null);
|
|
573
474
|
} else if (_this6.device.isWebGL2) {
|
|
574
475
|
var _gl = _this6.device.assertWebGL2();
|
|
575
|
-
|
|
576
476
|
_gl.texSubImage2D(target, level, x, y, width, height, dataFormat, type, data);
|
|
577
477
|
} else {
|
|
578
478
|
_this6.gl.texSubImage2D(target, level, x, y, dataFormat, type, data);
|
|
@@ -584,9 +484,7 @@ var WEBGLTexture = function (_Texture) {
|
|
|
584
484
|
key: "copyFramebuffer",
|
|
585
485
|
value: function copyFramebuffer() {
|
|
586
486
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
587
|
-
|
|
588
487
|
_api.log.error('Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})')();
|
|
589
|
-
|
|
590
488
|
return null;
|
|
591
489
|
}
|
|
592
490
|
}, {
|
|
@@ -599,12 +497,10 @@ var WEBGLTexture = function (_Texture) {
|
|
|
599
497
|
value: function bind() {
|
|
600
498
|
var textureUnit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.textureUnit;
|
|
601
499
|
var gl = this.gl;
|
|
602
|
-
|
|
603
500
|
if (textureUnit !== undefined) {
|
|
604
501
|
this.textureUnit = textureUnit;
|
|
605
502
|
gl.activeTexture(gl.TEXTURE0 + textureUnit);
|
|
606
503
|
}
|
|
607
|
-
|
|
608
504
|
gl.bindTexture(this.target, this.handle);
|
|
609
505
|
return textureUnit;
|
|
610
506
|
}
|
|
@@ -613,12 +509,10 @@ var WEBGLTexture = function (_Texture) {
|
|
|
613
509
|
value: function unbind() {
|
|
614
510
|
var textureUnit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.textureUnit;
|
|
615
511
|
var gl = this.gl;
|
|
616
|
-
|
|
617
512
|
if (textureUnit !== undefined) {
|
|
618
513
|
this.textureUnit = textureUnit;
|
|
619
514
|
gl.activeTexture(gl.TEXTURE0 + textureUnit);
|
|
620
515
|
}
|
|
621
|
-
|
|
622
516
|
gl.bindTexture(this.target, null);
|
|
623
517
|
return textureUnit;
|
|
624
518
|
}
|
|
@@ -626,44 +520,38 @@ var WEBGLTexture = function (_Texture) {
|
|
|
626
520
|
key: "_getDataType",
|
|
627
521
|
value: function _getDataType(_ref2) {
|
|
628
522
|
var data = _ref2.data,
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
523
|
+
_ref2$compressed = _ref2.compressed,
|
|
524
|
+
compressed = _ref2$compressed === void 0 ? false : _ref2$compressed;
|
|
632
525
|
if (compressed) {
|
|
633
526
|
return {
|
|
634
527
|
data: data,
|
|
635
528
|
dataType: 'compressed'
|
|
636
529
|
};
|
|
637
530
|
}
|
|
638
|
-
|
|
639
531
|
if (data === null) {
|
|
640
532
|
return {
|
|
641
533
|
data: data,
|
|
642
534
|
dataType: 'null'
|
|
643
535
|
};
|
|
644
536
|
}
|
|
645
|
-
|
|
646
537
|
if (ArrayBuffer.isView(data)) {
|
|
647
538
|
return {
|
|
648
539
|
data: data,
|
|
649
540
|
dataType: 'typed-array'
|
|
650
541
|
};
|
|
651
542
|
}
|
|
652
|
-
|
|
653
543
|
if (data instanceof _webglBuffer.default) {
|
|
654
544
|
return {
|
|
655
545
|
data: data.handle,
|
|
656
546
|
dataType: 'buffer'
|
|
657
547
|
};
|
|
658
548
|
}
|
|
659
|
-
|
|
660
549
|
if (typeof WebGLBuffer !== 'undefined' && data instanceof WebGLBuffer) {
|
|
661
550
|
return {
|
|
662
551
|
data: data,
|
|
663
552
|
dataType: 'buffer'
|
|
664
553
|
};
|
|
665
554
|
}
|
|
666
|
-
|
|
667
555
|
return {
|
|
668
556
|
data: data,
|
|
669
557
|
dataType: 'browser-object'
|
|
@@ -673,19 +561,17 @@ var WEBGLTexture = function (_Texture) {
|
|
|
673
561
|
key: "_deduceParameters",
|
|
674
562
|
value: function _deduceParameters(opts) {
|
|
675
563
|
var format = opts.format,
|
|
676
|
-
|
|
564
|
+
data = opts.data;
|
|
677
565
|
var width = opts.width,
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
566
|
+
height = opts.height,
|
|
567
|
+
dataFormat = opts.dataFormat,
|
|
568
|
+
type = opts.type,
|
|
569
|
+
compressed = opts.compressed;
|
|
682
570
|
var parameters = (0, _textureFormats.getWebGLTextureParameters)(this.gl, format);
|
|
683
571
|
dataFormat = dataFormat || parameters.dataFormat;
|
|
684
572
|
type = type || parameters.type;
|
|
685
573
|
compressed = compressed || parameters.compressed;
|
|
686
|
-
|
|
687
574
|
var _this$_deduceImageSiz = this._deduceImageSize(data, width, height);
|
|
688
|
-
|
|
689
575
|
width = _this$_deduceImageSiz.width;
|
|
690
576
|
height = _this$_deduceImageSiz.height;
|
|
691
577
|
return {
|
|
@@ -702,7 +588,6 @@ var WEBGLTexture = function (_Texture) {
|
|
|
702
588
|
key: "_deduceImageSize",
|
|
703
589
|
value: function _deduceImageSize(data, width, height) {
|
|
704
590
|
var size;
|
|
705
|
-
|
|
706
591
|
if (typeof ImageData !== 'undefined' && data instanceof ImageData) {
|
|
707
592
|
size = {
|
|
708
593
|
width: data.width,
|
|
@@ -739,7 +624,6 @@ var WEBGLTexture = function (_Texture) {
|
|
|
739
624
|
height: height
|
|
740
625
|
};
|
|
741
626
|
}
|
|
742
|
-
|
|
743
627
|
(0, _api.assert)(size, 'Could not deduced texture size');
|
|
744
628
|
(0, _api.assert)(width === undefined || size.width === width, 'Deduced texture width does not match supplied width');
|
|
745
629
|
(0, _api.assert)(height === undefined || size.height === height, 'Deduced texture height does not match supplied height');
|
|
@@ -750,72 +634,61 @@ var WEBGLTexture = function (_Texture) {
|
|
|
750
634
|
value: function () {
|
|
751
635
|
var _setCubeMapImageData = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
|
|
752
636
|
var _this7 = this;
|
|
753
|
-
|
|
754
637
|
var gl, width, height, pixels, data, _options$format2, format, _options$type2, type, imageDataMap, resolvedFaces;
|
|
755
|
-
|
|
756
638
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
757
|
-
while (1) {
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
639
|
+
while (1) switch (_context.prev = _context.next) {
|
|
640
|
+
case 0:
|
|
641
|
+
gl = this.gl;
|
|
642
|
+
width = options.width, height = options.height, pixels = options.pixels, data = options.data, _options$format2 = options.format, format = _options$format2 === void 0 ? _constants.default.RGBA : _options$format2, _options$type2 = options.type, type = _options$type2 === void 0 ? _constants.default.UNSIGNED_BYTE : _options$type2;
|
|
643
|
+
imageDataMap = pixels || data;
|
|
644
|
+
_context.next = 5;
|
|
645
|
+
return Promise.all(WEBGLTexture.FACES.map(function (face) {
|
|
646
|
+
var facePixels = imageDataMap[face];
|
|
647
|
+
return Promise.all(Array.isArray(facePixels) ? facePixels : [facePixels]);
|
|
648
|
+
}));
|
|
649
|
+
case 5:
|
|
650
|
+
resolvedFaces = _context.sent;
|
|
651
|
+
this.bind();
|
|
652
|
+
WEBGLTexture.FACES.forEach(function (face, index) {
|
|
653
|
+
if (resolvedFaces[index].length > 1 && _this7.props.mipmaps !== false) {
|
|
654
|
+
_api.log.warn("".concat(_this7.id, " has mipmap and multiple LODs."))();
|
|
655
|
+
}
|
|
656
|
+
resolvedFaces[index].forEach(function (image, lodLevel) {
|
|
657
|
+
if (width && height) {
|
|
658
|
+
gl.texImage2D(face, lodLevel, format, width, height, 0, format, type, image);
|
|
659
|
+
} else {
|
|
660
|
+
gl.texImage2D(face, lodLevel, format, format, type, image);
|
|
775
661
|
}
|
|
776
|
-
|
|
777
|
-
resolvedFaces[index].forEach(function (image, lodLevel) {
|
|
778
|
-
if (width && height) {
|
|
779
|
-
gl.texImage2D(face, lodLevel, format, width, height, 0, format, type, image);
|
|
780
|
-
} else {
|
|
781
|
-
gl.texImage2D(face, lodLevel, format, format, type, image);
|
|
782
|
-
}
|
|
783
|
-
});
|
|
784
662
|
});
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
}
|
|
663
|
+
});
|
|
664
|
+
this.unbind();
|
|
665
|
+
case 9:
|
|
666
|
+
case "end":
|
|
667
|
+
return _context.stop();
|
|
791
668
|
}
|
|
792
669
|
}, _callee, this);
|
|
793
670
|
}));
|
|
794
|
-
|
|
795
671
|
function setCubeMapImageData(_x) {
|
|
796
672
|
return _setCubeMapImageData.apply(this, arguments);
|
|
797
673
|
}
|
|
798
|
-
|
|
799
674
|
return setCubeMapImageData;
|
|
800
675
|
}()
|
|
801
676
|
}, {
|
|
802
677
|
key: "setImageDataForFace",
|
|
803
678
|
value: function setImageDataForFace(options) {
|
|
804
679
|
var _this8 = this;
|
|
805
|
-
|
|
806
680
|
var face = options.face,
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
681
|
+
width = options.width,
|
|
682
|
+
height = options.height,
|
|
683
|
+
pixels = options.pixels,
|
|
684
|
+
data = options.data,
|
|
685
|
+
_options$format3 = options.format,
|
|
686
|
+
format = _options$format3 === void 0 ? _constants.default.RGBA : _options$format3,
|
|
687
|
+
_options$type3 = options.type,
|
|
688
|
+
type = _options$type3 === void 0 ? _constants.default.UNSIGNED_BYTE : _options$type3;
|
|
815
689
|
var gl = this.gl;
|
|
816
690
|
var imageData = pixels || data;
|
|
817
691
|
this.bind();
|
|
818
|
-
|
|
819
692
|
if (imageData instanceof Promise) {
|
|
820
693
|
imageData.then(function (resolvedImageData) {
|
|
821
694
|
return _this8.setImageDataForFace(Object.assign({}, options, {
|
|
@@ -829,28 +702,26 @@ var WEBGLTexture = function (_Texture) {
|
|
|
829
702
|
} else {
|
|
830
703
|
gl.texImage2D(face, 0, format, format, type, imageData);
|
|
831
704
|
}
|
|
832
|
-
|
|
833
705
|
return this;
|
|
834
706
|
}
|
|
835
707
|
}, {
|
|
836
708
|
key: "setImageData3D",
|
|
837
709
|
value: function setImageData3D(options) {
|
|
838
710
|
var _this9 = this;
|
|
839
|
-
|
|
840
711
|
var _options$level2 = options.level,
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
712
|
+
level = _options$level2 === void 0 ? 0 : _options$level2,
|
|
713
|
+
dataFormat = options.dataFormat,
|
|
714
|
+
format = options.format,
|
|
715
|
+
type = options.type,
|
|
716
|
+
width = options.width,
|
|
717
|
+
height = options.height,
|
|
718
|
+
_options$depth = options.depth,
|
|
719
|
+
depth = _options$depth === void 0 ? 1 : _options$depth,
|
|
720
|
+
_options$offset2 = options.offset,
|
|
721
|
+
offset = _options$offset2 === void 0 ? 0 : _options$offset2,
|
|
722
|
+
data = options.data,
|
|
723
|
+
_options$parameters2 = options.parameters,
|
|
724
|
+
parameters = _options$parameters2 === void 0 ? {} : _options$parameters2;
|
|
854
725
|
this.trackDeallocatedMemory('Texture');
|
|
855
726
|
this.gl.bindTexture(this.target, this.handle);
|
|
856
727
|
var webglTextureFormat = (0, _textureFormats.getWebGLTextureParameters)(this.gl, format);
|
|
@@ -858,21 +729,17 @@ var WEBGLTexture = function (_Texture) {
|
|
|
858
729
|
if (ArrayBuffer.isView(data)) {
|
|
859
730
|
_this9.gl.texImage3D(_this9.target, level, webglTextureFormat.format, width, height, depth, 0, webglTextureFormat.dataFormat, webglTextureFormat.type, data);
|
|
860
731
|
}
|
|
861
|
-
|
|
862
732
|
if (data instanceof _webglBuffer.default) {
|
|
863
733
|
_this9.gl.bindBuffer(_constants.default.PIXEL_UNPACK_BUFFER, data.handle);
|
|
864
|
-
|
|
865
734
|
_this9.gl.texImage3D(_this9.target, level, dataFormat, width, height, depth, 0, format, type, offset);
|
|
866
735
|
}
|
|
867
736
|
});
|
|
868
|
-
|
|
869
737
|
if (data && data.byteLength) {
|
|
870
738
|
this.trackAllocatedMemory(data.byteLength, 'Texture');
|
|
871
739
|
} else {
|
|
872
740
|
var bytesPerPixel = (0, _textureFormats.getTextureFormatBytesPerPixel)(this.gl, this.props.format);
|
|
873
741
|
this.trackAllocatedMemory(this.width * this.height * this.depth * bytesPerPixel, 'Texture');
|
|
874
742
|
}
|
|
875
|
-
|
|
876
743
|
this.loaded = true;
|
|
877
744
|
return this;
|
|
878
745
|
}
|
|
@@ -882,34 +749,27 @@ var WEBGLTexture = function (_Texture) {
|
|
|
882
749
|
if (this.device.isWebGL1 && isNPOT(this.width, this.height)) {
|
|
883
750
|
parameters = (0, _samplerParameters.updateSamplerParametersForNPOT)(parameters);
|
|
884
751
|
}
|
|
885
|
-
|
|
886
752
|
if ((0, _api.isObjectEmpty)(parameters)) {
|
|
887
753
|
return;
|
|
888
754
|
}
|
|
889
|
-
|
|
890
755
|
logParameters(parameters);
|
|
891
756
|
this.gl.bindTexture(this.target, this.handle);
|
|
892
|
-
|
|
893
757
|
for (var _i = 0, _Object$entries = Object.entries(parameters); _i < _Object$entries.length; _i++) {
|
|
894
758
|
var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
759
|
+
pname = _Object$entries$_i[0],
|
|
760
|
+
pvalue = _Object$entries$_i[1];
|
|
898
761
|
var param = Number(pname);
|
|
899
762
|
var value = pvalue;
|
|
900
|
-
|
|
901
763
|
switch (param) {
|
|
902
764
|
case _constants.default.TEXTURE_MIN_LOD:
|
|
903
765
|
case _constants.default.TEXTURE_MAX_LOD:
|
|
904
766
|
this.gl.texParameterf(this.target, param, value);
|
|
905
767
|
break;
|
|
906
|
-
|
|
907
768
|
default:
|
|
908
769
|
this.gl.texParameteri(this.target, param, value);
|
|
909
770
|
break;
|
|
910
771
|
}
|
|
911
772
|
}
|
|
912
|
-
|
|
913
773
|
this.gl.bindTexture(this.target, null);
|
|
914
774
|
return;
|
|
915
775
|
}
|
|
@@ -917,63 +777,49 @@ var WEBGLTexture = function (_Texture) {
|
|
|
917
777
|
key: "_getWebGL1NPOTParameterOverride",
|
|
918
778
|
value: function _getWebGL1NPOTParameterOverride(pname, value) {
|
|
919
779
|
var npot = this.device.isWebGL1 && isNPOT(this.width, this.height);
|
|
920
|
-
|
|
921
780
|
if (npot) {
|
|
922
781
|
switch (pname) {
|
|
923
782
|
case _constants.default.TEXTURE_MIN_FILTER:
|
|
924
783
|
if (value !== _constants.default.LINEAR && value !== _constants.default.NEAREST) {
|
|
925
784
|
return _constants.default.LINEAR;
|
|
926
785
|
}
|
|
927
|
-
|
|
928
786
|
break;
|
|
929
|
-
|
|
930
787
|
case _constants.default.TEXTURE_WRAP_S:
|
|
931
788
|
case _constants.default.TEXTURE_WRAP_T:
|
|
932
789
|
return _constants.default.CLAMP_TO_EDGE;
|
|
933
|
-
|
|
934
790
|
default:
|
|
935
791
|
break;
|
|
936
792
|
}
|
|
937
793
|
}
|
|
938
|
-
|
|
939
794
|
return value;
|
|
940
795
|
}
|
|
941
796
|
}]);
|
|
942
797
|
return WEBGLTexture;
|
|
943
798
|
}(_api.Texture);
|
|
944
|
-
|
|
945
799
|
exports.default = WEBGLTexture;
|
|
946
800
|
(0, _defineProperty2.default)(WEBGLTexture, "FACES", [_constants.default.TEXTURE_CUBE_MAP_POSITIVE_X, _constants.default.TEXTURE_CUBE_MAP_NEGATIVE_X, _constants.default.TEXTURE_CUBE_MAP_POSITIVE_Y, _constants.default.TEXTURE_CUBE_MAP_NEGATIVE_Y, _constants.default.TEXTURE_CUBE_MAP_POSITIVE_Z, _constants.default.TEXTURE_CUBE_MAP_NEGATIVE_Z]);
|
|
947
|
-
|
|
948
801
|
function getWebGLTextureTarget(props) {
|
|
949
802
|
switch (props.dimension) {
|
|
950
803
|
case '2d':
|
|
951
804
|
return _constants.default.TEXTURE_2D;
|
|
952
|
-
|
|
953
805
|
case 'cube':
|
|
954
806
|
return _constants.default.TEXTURE_CUBE_MAP;
|
|
955
|
-
|
|
956
807
|
case '2d-array':
|
|
957
808
|
return _constants.default.TEXTURE_2D_ARRAY;
|
|
958
|
-
|
|
959
809
|
case '3d':
|
|
960
810
|
return _constants.default.TEXTURE_3D;
|
|
961
|
-
|
|
962
811
|
case '1d':
|
|
963
812
|
case 'cube-array':
|
|
964
813
|
default:
|
|
965
814
|
throw new Error(props.dimension);
|
|
966
815
|
}
|
|
967
816
|
}
|
|
968
|
-
|
|
969
817
|
function isNPOT(width, height) {
|
|
970
818
|
if (!width || !height) {
|
|
971
819
|
return false;
|
|
972
820
|
}
|
|
973
|
-
|
|
974
821
|
return !(0, _api.isPowerOfTwo)(width) || !(0, _api.isPowerOfTwo)(height);
|
|
975
822
|
}
|
|
976
|
-
|
|
977
823
|
function logParameters(parameters) {
|
|
978
824
|
_api.log.log(1, 'texture sampler parameters', parameters)();
|
|
979
825
|
}
|