@luma.gl/webgl 8.5.7 → 8.6.0-alpha.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/dist/bundle.d.ts +2 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +5 -0
- package/dist/bundle.js.map +1 -0
- package/dist/classes/accessor.d.ts +28 -0
- package/dist/classes/accessor.d.ts.map +1 -0
- package/dist/classes/accessor.js +112 -0
- package/dist/classes/accessor.js.map +1 -0
- package/dist/classes/accessor.ts.disabled +159 -0
- package/dist/classes/clear.d.ts +16 -0
- package/dist/classes/clear.d.ts.map +1 -0
- package/dist/classes/clear.js +102 -0
- package/dist/classes/clear.js.map +1 -0
- package/dist/classes/copy-and-blit.d.ts +69 -0
- package/dist/classes/copy-and-blit.d.ts.map +1 -0
- package/dist/classes/copy-and-blit.js +333 -0
- package/dist/classes/copy-and-blit.js.map +1 -0
- package/dist/classes/framebuffer.d.ts +130 -0
- package/dist/classes/framebuffer.d.ts.map +1 -0
- package/dist/classes/framebuffer.js +656 -0
- package/dist/classes/framebuffer.js.map +1 -0
- package/dist/classes/program-configuration.d.ts +27 -0
- package/dist/classes/program-configuration.d.ts.map +1 -0
- package/dist/classes/program-configuration.js +160 -0
- package/dist/classes/program-configuration.js.map +1 -0
- package/dist/classes/program.d.ts +61 -0
- package/dist/classes/program.d.ts.map +1 -0
- package/dist/classes/program.js +368 -0
- package/dist/classes/program.js.map +1 -0
- package/dist/classes/query.d.ts +27 -0
- package/dist/classes/query.d.ts.map +1 -0
- package/dist/classes/query.js +144 -0
- package/dist/classes/query.js.map +1 -0
- package/dist/classes/renderbuffer-formats.d.ts +16 -0
- package/dist/classes/renderbuffer-formats.d.ts.map +1 -0
- package/dist/classes/renderbuffer-formats.js +185 -0
- package/dist/classes/renderbuffer-formats.js.map +1 -0
- package/dist/classes/renderbuffer.d.ts +60 -0
- package/dist/classes/renderbuffer.d.ts.map +1 -0
- package/dist/classes/renderbuffer.js +127 -0
- package/dist/classes/renderbuffer.js.map +1 -0
- package/dist/classes/texture-2d.d.ts +8 -0
- package/dist/classes/texture-2d.d.ts.map +1 -0
- package/dist/classes/texture-2d.js +39 -0
- package/dist/classes/texture-2d.js.map +1 -0
- package/dist/classes/texture-3d.d.ts +28 -0
- package/dist/classes/texture-3d.d.ts.map +1 -0
- package/dist/classes/texture-3d.js +67 -0
- package/dist/classes/texture-3d.js.map +1 -0
- package/dist/classes/texture-cube.d.ts +27 -0
- package/dist/classes/texture-cube.d.ts.map +1 -0
- package/dist/classes/texture-cube.js +131 -0
- package/dist/classes/texture-cube.js.map +1 -0
- package/dist/classes/texture-formats.d.ts +37 -0
- package/dist/classes/texture-formats.d.ts.map +1 -0
- package/dist/classes/texture-formats.js +98 -0
- package/dist/classes/texture-formats.js.map +1 -0
- package/dist/classes/texture.d.ts +118 -0
- package/dist/classes/texture.d.ts.map +1 -0
- package/dist/classes/texture.js +785 -0
- package/dist/classes/texture.js.map +1 -0
- package/dist/classes/transform-feedback.d.ts +33 -0
- package/dist/classes/transform-feedback.d.ts.map +1 -0
- package/dist/classes/transform-feedback.js +197 -0
- package/dist/classes/transform-feedback.js.map +1 -0
- package/dist/classes/uniform-buffer-layout.d.ts +17 -0
- package/dist/classes/uniform-buffer-layout.d.ts.map +1 -0
- package/dist/classes/uniform-buffer-layout.js +104 -0
- package/dist/classes/uniform-buffer-layout.js.map +1 -0
- package/dist/classes/uniforms.d.ts +38 -0
- package/dist/classes/uniforms.d.ts.map +1 -0
- package/dist/classes/uniforms.js +251 -0
- package/dist/classes/uniforms.js.map +1 -0
- package/dist/classes/vertex-array-object.d.ts +75 -0
- package/dist/classes/vertex-array-object.d.ts.map +1 -0
- package/dist/classes/vertex-array-object.js +262 -0
- package/dist/classes/vertex-array-object.js.map +1 -0
- package/dist/classes/vertex-array.d.ts +75 -0
- package/dist/classes/vertex-array.d.ts.map +1 -0
- package/dist/classes/vertex-array.js +409 -0
- package/dist/classes/vertex-array.js.map +1 -0
- package/dist/classes/webgl-buffer.d.ts +98 -0
- package/dist/classes/webgl-buffer.d.ts.map +1 -0
- package/dist/{esm/classes/buffer.js → classes/webgl-buffer.js} +97 -73
- package/dist/classes/webgl-buffer.js.map +1 -0
- package/dist/classes/webgl-resource.d.ts +54 -0
- package/dist/classes/webgl-resource.d.ts.map +1 -0
- package/dist/{esm/classes/resource.js → classes/webgl-resource.js} +31 -52
- package/dist/classes/webgl-resource.js.map +1 -0
- package/dist/classes/webgl-shader.d.ts +51 -0
- package/dist/classes/webgl-shader.d.ts.map +1 -0
- package/dist/classes/webgl-shader.js +190 -0
- package/dist/classes/webgl-shader.js.map +1 -0
- package/dist/context/gl-context.d.ts +15 -0
- package/dist/context/gl-context.d.ts.map +1 -0
- package/dist/context/gl-context.js +32 -0
- package/dist/context/gl-context.js.map +1 -0
- package/dist/context/luma-context-data.d.ts +31 -0
- package/dist/context/luma-context-data.d.ts.map +1 -0
- package/dist/context/luma-context-data.js +5 -0
- package/dist/context/luma-context-data.js.map +1 -0
- package/dist/debug/debug-program-configuration.d.ts +2 -0
- package/dist/debug/debug-program-configuration.d.ts.map +1 -0
- package/dist/debug/debug-program-configuration.js +40 -0
- package/dist/debug/debug-program-configuration.js.map +1 -0
- package/dist/debug/debug-uniforms.d.ts +12 -0
- package/dist/debug/debug-uniforms.d.ts.map +1 -0
- package/dist/debug/debug-uniforms.js +108 -0
- package/dist/debug/debug-uniforms.js.map +1 -0
- package/dist/debug/debug-vertex-array.d.ts +5 -0
- package/dist/debug/debug-vertex-array.d.ts.map +1 -0
- package/dist/debug/debug-vertex-array.js +118 -0
- package/dist/debug/debug-vertex-array.js.map +1 -0
- package/dist/es5/bundle.js +3 -5
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/classes/accessor.js +76 -108
- package/dist/es5/classes/accessor.js.map +1 -1
- package/dist/es5/classes/accessor.ts.disabled +159 -0
- package/dist/es5/classes/clear.js +33 -48
- package/dist/es5/classes/clear.js.map +1 -1
- package/dist/es5/classes/copy-and-blit.js +177 -192
- package/dist/es5/classes/copy-and-blit.js.map +1 -1
- package/dist/es5/classes/framebuffer.js +538 -655
- package/dist/es5/classes/framebuffer.js.map +1 -1
- package/dist/es5/classes/program-configuration.js +127 -141
- package/dist/es5/classes/program-configuration.js.map +1 -1
- package/dist/es5/classes/program.js +294 -358
- package/dist/es5/classes/program.js.map +1 -1
- package/dist/es5/classes/query.js +115 -181
- package/dist/es5/classes/query.js.map +1 -1
- package/dist/es5/classes/renderbuffer-formats.js +186 -121
- package/dist/es5/classes/renderbuffer-formats.js.map +1 -1
- package/dist/es5/classes/renderbuffer.js +104 -128
- package/dist/es5/classes/renderbuffer.js.map +1 -1
- package/dist/es5/classes/texture-2d.js +16 -39
- package/dist/es5/classes/texture-2d.js.map +1 -1
- package/dist/es5/classes/texture-3d.js +50 -89
- package/dist/es5/classes/texture-3d.js.map +1 -1
- package/dist/es5/classes/texture-cube.js +112 -162
- package/dist/es5/classes/texture-cube.js.map +1 -1
- package/dist/es5/classes/texture-formats.js +73 -42
- package/dist/es5/classes/texture-formats.js.map +1 -1
- package/dist/es5/classes/texture.js +670 -673
- package/dist/es5/classes/texture.js.map +1 -1
- package/dist/es5/classes/transform-feedback.js +150 -203
- package/dist/es5/classes/transform-feedback.js.map +1 -1
- package/dist/es5/classes/uniform-buffer-layout.js +89 -103
- package/dist/es5/classes/uniform-buffer-layout.js.map +1 -1
- package/dist/es5/classes/uniforms.js +134 -93
- package/dist/es5/classes/uniforms.js.map +1 -1
- package/dist/es5/classes/vertex-array-object.js +204 -306
- package/dist/es5/classes/vertex-array-object.js.map +1 -1
- package/dist/es5/classes/vertex-array.js +317 -353
- package/dist/es5/classes/vertex-array.js.map +1 -1
- package/dist/es5/classes/webgl-buffer.js +391 -0
- package/dist/es5/classes/webgl-buffer.js.map +1 -0
- package/dist/es5/classes/webgl-resource.js +217 -0
- package/dist/es5/classes/webgl-resource.js.map +1 -0
- package/dist/es5/classes/webgl-shader.js +213 -0
- package/dist/es5/classes/webgl-shader.js.map +1 -0
- package/dist/es5/context/gl-context.js +46 -0
- package/dist/es5/context/gl-context.js.map +1 -0
- package/dist/es5/context/luma-context-data.js +12 -0
- package/dist/es5/context/luma-context-data.js.map +1 -0
- package/dist/es5/debug/debug-program-configuration.js +20 -48
- package/dist/es5/debug/debug-program-configuration.js.map +1 -1
- package/dist/es5/debug/debug-uniforms.js +72 -114
- package/dist/es5/debug/debug-uniforms.js.map +1 -1
- package/dist/es5/debug/debug-vertex-array.js +56 -51
- package/dist/es5/debug/debug-vertex-array.js.map +1 -1
- package/dist/es5/features/check-glsl-extension.js +9 -10
- package/dist/es5/features/check-glsl-extension.js.map +1 -1
- package/dist/es5/features/check-old-ie.js +5 -6
- package/dist/es5/features/check-old-ie.js.map +1 -1
- package/dist/es5/features/features.js +23 -37
- package/dist/es5/features/features.js.map +1 -1
- package/dist/es5/features/index.js +8 -8
- package/dist/es5/features/index.js.map +1 -1
- package/dist/es5/features/limits.js +36 -28
- package/dist/es5/features/limits.js.map +1 -1
- package/dist/es5/features/webgl-features-table.js +35 -15
- package/dist/es5/features/webgl-features-table.js.map +1 -1
- package/dist/es5/features/webgl-limits-table.js +160 -120
- package/dist/es5/features/webgl-limits-table.js.map +1 -1
- package/dist/es5/index.js +144 -90
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/init.js +12 -36
- package/dist/es5/init.js.map +1 -1
- package/dist/es5/types.js +2 -0
- package/dist/es5/types.js.map +1 -0
- package/dist/es5/utils/array-utils-flat.js +13 -14
- package/dist/es5/utils/array-utils-flat.js.map +1 -1
- package/dist/es5/utils/assert.js +1 -1
- package/dist/es5/utils/assert.js.map +1 -1
- package/dist/es5/utils/check-props.js +20 -21
- package/dist/es5/utils/check-props.js.map +1 -1
- package/dist/es5/utils/format-value.js +14 -14
- package/dist/es5/utils/format-value.js.map +1 -1
- package/dist/es5/utils/index.js +68 -0
- package/dist/es5/utils/index.js.map +1 -0
- package/dist/es5/utils/is-old-ie.js +2 -3
- package/dist/es5/utils/is-old-ie.js.map +1 -1
- package/dist/es5/utils/load-file.js +11 -18
- package/dist/es5/utils/load-file.js.map +1 -1
- package/dist/es5/utils/stub-methods.js +4 -4
- package/dist/es5/utils/stub-methods.js.map +1 -1
- package/dist/es5/utils/utils.js +5 -10
- package/dist/es5/utils/utils.js.map +1 -1
- package/dist/es5/webgl-utils/attribute-utils.js +87 -74
- package/dist/es5/webgl-utils/attribute-utils.js.map +1 -1
- package/dist/es5/webgl-utils/constants-to-keys.js +7 -7
- package/dist/es5/webgl-utils/constants-to-keys.js.map +1 -1
- package/dist/es5/webgl-utils/format-utils.js +21 -17
- package/dist/es5/webgl-utils/format-utils.js.map +1 -1
- package/dist/es5/webgl-utils/get-error.js +18 -18
- package/dist/es5/webgl-utils/get-error.js.map +1 -1
- package/dist/es5/webgl-utils/index.js +74 -0
- package/dist/es5/webgl-utils/index.js.map +1 -0
- package/dist/es5/webgl-utils/parse-shader-compiler-log.js +44 -0
- package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +1 -0
- package/dist/es5/webgl-utils/request-animation-frame.js.map +1 -1
- package/dist/es5/webgl-utils/texture-utils.js +35 -29
- package/dist/es5/webgl-utils/texture-utils.js.map +1 -1
- package/dist/es5/webgl-utils/typed-array-utils.js +51 -47
- package/dist/es5/webgl-utils/typed-array-utils.js.map +1 -1
- package/dist/esm/bundle.js +2 -4
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/classes/accessor.js +7 -7
- package/dist/esm/classes/accessor.js.map +1 -1
- package/dist/esm/classes/accessor.ts.disabled +159 -0
- package/dist/esm/classes/clear.js +15 -13
- package/dist/esm/classes/clear.js.map +1 -1
- package/dist/esm/classes/copy-and-blit.js +41 -43
- package/dist/esm/classes/copy-and-blit.js.map +1 -1
- package/dist/esm/classes/framebuffer.js +336 -308
- package/dist/esm/classes/framebuffer.js.map +1 -1
- package/dist/esm/classes/program-configuration.js +17 -9
- package/dist/esm/classes/program-configuration.js.map +1 -1
- package/dist/esm/classes/program.js +69 -44
- package/dist/esm/classes/program.js.map +1 -1
- package/dist/esm/classes/query.js +17 -14
- package/dist/esm/classes/query.js.map +1 -1
- package/dist/esm/classes/renderbuffer-formats.js +72 -49
- package/dist/esm/classes/renderbuffer-formats.js.map +1 -1
- package/dist/esm/classes/renderbuffer.js +84 -72
- package/dist/esm/classes/renderbuffer.js.map +1 -1
- package/dist/esm/classes/texture-2d.js +10 -3
- package/dist/esm/classes/texture-2d.js.map +1 -1
- package/dist/esm/classes/texture-3d.js +14 -11
- package/dist/esm/classes/texture-3d.js.map +1 -1
- package/dist/esm/classes/texture-cube.js +43 -28
- package/dist/esm/classes/texture-cube.js.map +1 -1
- package/dist/esm/classes/texture-formats.js +51 -50
- package/dist/esm/classes/texture-formats.js.map +1 -1
- package/dist/esm/classes/texture.js +164 -49
- package/dist/esm/classes/texture.js.map +1 -1
- package/dist/esm/classes/transform-feedback.js +24 -13
- package/dist/esm/classes/transform-feedback.js.map +1 -1
- package/dist/esm/classes/uniform-buffer-layout.js +1 -1
- package/dist/esm/classes/uniform-buffer-layout.js.map +1 -1
- package/dist/esm/classes/uniforms.js +111 -112
- package/dist/esm/classes/uniforms.js.map +1 -1
- package/dist/esm/classes/vertex-array-object.js +52 -88
- package/dist/esm/classes/vertex-array-object.js.map +1 -1
- package/dist/esm/classes/vertex-array.js +50 -28
- package/dist/esm/classes/vertex-array.js.map +1 -1
- package/dist/esm/classes/webgl-buffer.js +379 -0
- package/dist/esm/classes/webgl-buffer.js.map +1 -0
- package/dist/esm/classes/webgl-resource.js +208 -0
- package/dist/esm/classes/webgl-resource.js.map +1 -0
- package/dist/esm/classes/webgl-shader.js +190 -0
- package/dist/esm/classes/webgl-shader.js.map +1 -0
- package/dist/esm/context/gl-context.js +32 -0
- package/dist/esm/context/gl-context.js.map +1 -0
- package/dist/esm/context/luma-context-data.js +5 -0
- package/dist/esm/context/luma-context-data.js.map +1 -0
- package/dist/esm/debug/debug-program-configuration.js +4 -4
- package/dist/esm/debug/debug-program-configuration.js.map +1 -1
- package/dist/esm/debug/debug-uniforms.js +9 -9
- package/dist/esm/debug/debug-uniforms.js.map +1 -1
- package/dist/esm/debug/debug-vertex-array.js +19 -17
- package/dist/esm/debug/debug-vertex-array.js.map +1 -1
- package/dist/esm/features/check-glsl-extension.js +4 -4
- package/dist/esm/features/check-glsl-extension.js.map +1 -1
- package/dist/esm/features/check-old-ie.js.map +1 -1
- package/dist/esm/features/features.js +14 -13
- package/dist/esm/features/features.js.map +1 -1
- package/dist/esm/features/index.js.map +1 -1
- package/dist/esm/features/limits.js +25 -22
- package/dist/esm/features/limits.js.map +1 -1
- package/dist/esm/features/webgl-features-table.js +6 -6
- package/dist/esm/features/webgl-features-table.js.map +1 -1
- package/dist/esm/features/webgl-limits-table.js +43 -42
- package/dist/esm/features/webgl-limits-table.js.map +1 -1
- package/dist/esm/index.js +13 -15
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/init.js +4 -23
- package/dist/esm/init.js.map +1 -1
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils/array-utils-flat.js.map +1 -1
- package/dist/esm/utils/assert.js +1 -1
- package/dist/esm/utils/assert.js.map +1 -1
- package/dist/esm/utils/check-props.js +4 -4
- package/dist/esm/utils/check-props.js.map +1 -1
- package/dist/esm/utils/format-value.js +4 -4
- package/dist/esm/utils/format-value.js.map +1 -1
- package/dist/esm/utils/index.js +7 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/is-old-ie.js +1 -1
- package/dist/esm/utils/is-old-ie.js.map +1 -1
- package/dist/esm/utils/load-file.js +2 -2
- package/dist/esm/utils/load-file.js.map +1 -1
- package/dist/esm/utils/stub-methods.js +2 -3
- package/dist/esm/utils/stub-methods.js.map +1 -1
- package/dist/esm/utils/utils.js +1 -3
- package/dist/esm/utils/utils.js.map +1 -1
- package/dist/esm/webgl-utils/attribute-utils.js +1 -1
- package/dist/esm/webgl-utils/attribute-utils.js.map +1 -1
- package/dist/esm/webgl-utils/constants-to-keys.js +4 -4
- package/dist/esm/webgl-utils/constants-to-keys.js.map +1 -1
- package/dist/esm/webgl-utils/format-utils.js +16 -15
- package/dist/esm/webgl-utils/format-utils.js.map +1 -1
- package/dist/esm/webgl-utils/get-error.js +1 -1
- package/dist/esm/webgl-utils/get-error.js.map +1 -1
- package/dist/esm/webgl-utils/index.js +5 -0
- package/dist/esm/webgl-utils/index.js.map +1 -0
- package/dist/esm/webgl-utils/parse-shader-compiler-log.js +37 -0
- package/dist/esm/webgl-utils/parse-shader-compiler-log.js.map +1 -0
- package/dist/esm/webgl-utils/request-animation-frame.js.map +1 -1
- package/dist/esm/webgl-utils/texture-utils.js +4 -3
- package/dist/esm/webgl-utils/texture-utils.js.map +1 -1
- package/dist/esm/webgl-utils/typed-array-utils.js +19 -18
- package/dist/esm/webgl-utils/typed-array-utils.js.map +1 -1
- package/dist/features/check-glsl-extension.d.ts +2 -0
- package/dist/features/check-glsl-extension.d.ts.map +1 -0
- package/dist/features/check-glsl-extension.js +27 -0
- package/dist/features/check-glsl-extension.js.map +1 -0
- package/dist/features/check-old-ie.d.ts +2 -0
- package/dist/features/check-old-ie.d.ts.map +1 -0
- package/dist/features/check-old-ie.js +8 -0
- package/dist/features/check-old-ie.js.map +1 -0
- package/dist/features/features.d.ts +6 -0
- package/dist/features/features.d.ts.map +1 -0
- package/dist/features/features.js +67 -0
- package/dist/features/features.js.map +1 -0
- package/dist/features/index.d.ts +5 -0
- package/dist/features/index.d.ts.map +1 -0
- package/dist/features/index.js +5 -0
- package/dist/features/index.js.map +1 -0
- package/dist/features/limits.d.ts +28 -0
- package/dist/features/limits.d.ts.map +1 -0
- package/dist/features/limits.js +55 -0
- package/dist/features/limits.js.map +1 -0
- package/dist/features/webgl-features-table.d.ts +30 -0
- package/dist/features/webgl-features-table.d.ts.map +1 -0
- package/dist/features/webgl-features-table.js +71 -0
- package/dist/features/webgl-features-table.js.map +1 -0
- package/dist/features/webgl-limits-table.d.ts +161 -0
- package/dist/features/webgl-limits-table.d.ts.map +1 -0
- package/dist/features/webgl-limits-table.js +161 -0
- package/dist/features/webgl-limits-table.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -0
- package/dist/init.d.ts +5 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.js +30 -0
- package/dist/init.js.map +1 -0
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/array-utils-flat.d.ts +9 -0
- package/dist/utils/array-utils-flat.d.ts.map +1 -0
- package/dist/utils/array-utils-flat.js +39 -0
- package/dist/utils/array-utils-flat.js.map +1 -0
- package/dist/utils/assert.d.ts +2 -0
- package/dist/utils/assert.d.ts.map +1 -0
- package/dist/utils/assert.js +6 -0
- package/dist/utils/assert.js.map +1 -0
- package/dist/utils/check-props.d.ts +2 -0
- package/dist/utils/check-props.d.ts.map +1 -0
- package/dist/utils/check-props.js +38 -0
- package/dist/utils/check-props.js.map +1 -0
- package/dist/utils/format-value.d.ts +5 -0
- package/dist/utils/format-value.d.ts.map +1 -0
- package/dist/utils/format-value.js +50 -0
- package/dist/utils/format-value.js.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +7 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/is-old-ie.d.ts +4 -0
- package/dist/utils/is-old-ie.d.ts.map +1 -0
- package/dist/utils/is-old-ie.js +5 -0
- package/dist/utils/is-old-ie.js.map +1 -0
- package/dist/utils/load-file.d.ts +4 -0
- package/dist/utils/load-file.d.ts.map +1 -0
- package/dist/utils/load-file.js +30 -0
- package/dist/utils/load-file.js.map +1 -0
- package/dist/utils/stub-methods.d.ts +2 -0
- package/dist/utils/stub-methods.d.ts.map +1 -0
- package/dist/utils/stub-methods.js +16 -0
- package/dist/utils/stub-methods.js.map +1 -0
- package/dist/utils/utils.d.ts +15 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +20 -0
- package/dist/utils/utils.js.map +1 -0
- package/dist/webgl-utils/attribute-utils.d.ts +18 -0
- package/dist/webgl-utils/attribute-utils.d.ts.map +1 -0
- package/dist/webgl-utils/attribute-utils.js +182 -0
- package/dist/webgl-utils/attribute-utils.js.map +1 -0
- package/dist/webgl-utils/constants-to-keys.d.ts +4 -0
- package/dist/webgl-utils/constants-to-keys.d.ts.map +1 -0
- package/dist/webgl-utils/constants-to-keys.js +41 -0
- package/dist/webgl-utils/constants-to-keys.js.map +1 -0
- package/dist/webgl-utils/format-utils.d.ts +3 -0
- package/dist/webgl-utils/format-utils.d.ts.map +1 -0
- package/dist/webgl-utils/format-utils.js +45 -0
- package/dist/webgl-utils/format-utils.js.map +1 -0
- package/dist/webgl-utils/get-error.d.ts +3 -0
- package/dist/webgl-utils/get-error.d.ts.map +1 -0
- package/dist/webgl-utils/get-error.js +41 -0
- package/dist/webgl-utils/get-error.js.map +1 -0
- package/dist/webgl-utils/index.d.ts +5 -0
- package/dist/webgl-utils/index.d.ts.map +1 -0
- package/dist/webgl-utils/index.js +5 -0
- package/dist/webgl-utils/index.js.map +1 -0
- package/dist/webgl-utils/parse-shader-compiler-log.d.ts +8 -0
- package/dist/webgl-utils/parse-shader-compiler-log.d.ts.map +1 -0
- package/dist/webgl-utils/parse-shader-compiler-log.js +37 -0
- package/dist/webgl-utils/parse-shader-compiler-log.js.map +1 -0
- package/dist/webgl-utils/request-animation-frame.d.ts +4 -0
- package/dist/webgl-utils/request-animation-frame.d.ts.map +1 -0
- package/dist/webgl-utils/request-animation-frame.js +7 -0
- package/dist/webgl-utils/request-animation-frame.js.map +1 -0
- package/dist/webgl-utils/texture-utils.d.ts +11 -0
- package/dist/webgl-utils/texture-utils.d.ts.map +1 -0
- package/dist/webgl-utils/texture-utils.js +48 -0
- package/dist/webgl-utils/texture-utils.js.map +1 -0
- package/dist/webgl-utils/typed-array-utils.d.ts +36 -0
- package/dist/webgl-utils/typed-array-utils.d.ts.map +1 -0
- package/dist/webgl-utils/typed-array-utils.js +108 -0
- package/dist/webgl-utils/typed-array-utils.js.map +1 -0
- package/package.json +9 -8
- package/src/bundle.ts +4 -0
- package/src/classes/accessor.js +3 -4
- package/src/classes/accessor.ts.disabled +159 -0
- package/src/classes/{clear.js → clear.ts} +13 -9
- package/src/classes/{copy-and-blit.js → copy-and-blit.ts} +113 -22
- package/src/classes/{framebuffer.js → framebuffer.ts} +355 -298
- package/src/classes/{program-configuration.js → program-configuration.ts} +18 -11
- package/src/classes/{program.js → program.ts} +56 -36
- package/src/classes/{query.js → query.ts} +28 -22
- package/src/classes/{renderbuffer-formats.js → renderbuffer-formats.ts} +42 -14
- package/src/classes/renderbuffer.ts +153 -0
- package/src/classes/{texture-2d.js → texture-2d.ts} +15 -5
- package/src/classes/{texture-3d.js → texture-3d.ts} +35 -10
- package/src/classes/{texture-cube.js → texture-cube.ts} +46 -28
- package/src/classes/{texture-formats.js → texture-formats.ts} +9 -1
- package/src/classes/{texture.js → texture.ts} +204 -37
- package/src/classes/{transform-feedback.js → transform-feedback.ts} +22 -14
- package/src/classes/{uniform-buffer-layout.js → uniform-buffer-layout.ts} +10 -6
- package/src/classes/{uniforms.js → uniforms.ts} +122 -70
- package/src/classes/{vertex-array-object.js → vertex-array-object.ts} +132 -107
- package/src/classes/{vertex-array.js → vertex-array.ts} +74 -54
- package/src/classes/{buffer.js → webgl-buffer.ts} +125 -51
- package/src/classes/{resource.js → webgl-resource.ts} +43 -36
- package/src/classes/webgl-shader.ts +200 -0
- package/src/context/gl-context.ts +31 -0
- package/src/context/luma-context-data.ts +27 -0
- package/src/debug/{debug-program-configuration.js → debug-program-configuration.ts} +0 -0
- package/src/debug/{debug-uniforms.js → debug-uniforms.ts} +18 -8
- package/src/debug/{debug-vertex-array.js → debug-vertex-array.ts} +7 -4
- package/src/features/{check-glsl-extension.js → check-glsl-extension.ts} +1 -1
- package/src/features/{check-old-ie.js → check-old-ie.ts} +0 -0
- package/src/features/{features.js → features.ts} +14 -13
- package/src/features/{index.js → index.ts} +0 -0
- package/src/features/{limits.js → limits.ts} +18 -17
- package/src/features/{webgl-features-table.js → webgl-features-table.ts} +0 -0
- package/src/features/{webgl-limits-table.js → webgl-limits-table.ts} +0 -0
- package/{dist/es5/index.d.ts → src/index.ts} +18 -16
- package/src/{init.js → init.ts} +1 -18
- package/{dist/es5/types.d.ts → src/types.ts} +0 -0
- package/src/utils/{array-utils-flat.js → array-utils-flat.ts} +0 -0
- package/src/utils/{assert.js → assert.ts} +1 -1
- package/src/utils/{check-props.js → check-props.ts} +0 -0
- package/src/utils/{format-value.js → format-value.ts} +2 -2
- package/src/utils/index.ts +6 -0
- package/src/utils/{is-old-ie.js → is-old-ie.ts} +1 -1
- package/src/utils/{load-file.js → load-file.ts} +3 -2
- package/src/utils/{stub-methods.js → stub-methods.ts} +1 -1
- package/src/utils/utils.ts +35 -0
- package/src/webgl-utils/{attribute-utils.js → attribute-utils.ts} +1 -2
- package/src/webgl-utils/{constants-to-keys.js → constants-to-keys.ts} +1 -1
- package/src/webgl-utils/{format-utils.js → format-utils.ts} +1 -1
- package/src/webgl-utils/{get-error.js → get-error.ts} +0 -0
- package/src/webgl-utils/index.ts +12 -0
- package/src/webgl-utils/parse-shader-compiler-log.ts +48 -0
- package/src/webgl-utils/{request-animation-frame.js → request-animation-frame.ts} +3 -2
- package/src/webgl-utils/texture-utils.js +2 -1
- package/dist/dist.js +0 -13555
- package/dist/dist.min.js +0 -1
- package/dist/es5/classes/buffer.d.ts +0 -84
- package/dist/es5/classes/buffer.js +0 -453
- package/dist/es5/classes/buffer.js.map +0 -1
- package/dist/es5/classes/clear.d.ts +0 -11
- package/dist/es5/classes/copy-and-blit.d.ts +0 -101
- package/dist/es5/classes/framebuffer.d.ts +0 -96
- package/dist/es5/classes/program-configuration.d.ts +0 -15
- package/dist/es5/classes/program.d.ts +0 -44
- package/dist/es5/classes/query.d.ts +0 -21
- package/dist/es5/classes/renderbuffer.d.ts +0 -34
- package/dist/es5/classes/resource.d.ts +0 -47
- package/dist/es5/classes/resource.js +0 -308
- package/dist/es5/classes/resource.js.map +0 -1
- package/dist/es5/classes/shader.d.ts +0 -29
- package/dist/es5/classes/shader.js +0 -221
- package/dist/es5/classes/shader.js.map +0 -1
- package/dist/es5/classes/texture-2d.d.ts +0 -11
- package/dist/es5/classes/texture-3d.d.ts +0 -29
- package/dist/es5/classes/texture-cube.d.ts +0 -23
- package/dist/es5/classes/texture.d.ts +0 -80
- package/dist/es5/classes/transform-feedback.d.ts +0 -16
- package/dist/es5/classes/uniform-buffer-layout.d.ts +0 -18
- package/dist/es5/classes/uniforms.d.ts +0 -63
- package/dist/es5/classes/vertex-array-object.d.ts +0 -25
- package/dist/es5/classes/vertex-array.d.ts +0 -37
- package/dist/es5/debug/debug-program-configuration.d.ts +0 -1
- package/dist/es5/debug/debug-uniforms.d.ts +0 -11
- package/dist/es5/debug/debug-vertex-array.d.ts +0 -1
- package/dist/es5/glsl-utils/format-glsl-error.d.ts +0 -16
- package/dist/es5/glsl-utils/format-glsl-error.js +0 -108
- package/dist/es5/glsl-utils/format-glsl-error.js.map +0 -1
- package/dist/es5/glsl-utils/get-shader-name.js +0 -14
- package/dist/es5/glsl-utils/get-shader-name.js.map +0 -1
- package/dist/es5/glsl-utils/get-shader-type-name.js +0 -22
- package/dist/es5/glsl-utils/get-shader-type-name.js.map +0 -1
- package/dist/es5/glsl-utils/get-shader-version.js +0 -22
- package/dist/es5/glsl-utils/get-shader-version.js.map +0 -1
- package/dist/es5/glsl-utils/index.js +0 -48
- package/dist/es5/glsl-utils/index.js.map +0 -1
- package/dist/es5/init.d.ts +0 -12
- package/dist/es5/utils/assert.d.ts +0 -1
- package/dist/es5/utils/is-old-ie.d.ts +0 -1
- package/dist/es5/utils/utils.d.ts +0 -13
- package/dist/es5/webgl-utils/request-animation-frame.d.ts +0 -3
- package/dist/esm/classes/buffer.d.ts +0 -84
- package/dist/esm/classes/buffer.js.map +0 -1
- package/dist/esm/classes/clear.d.ts +0 -11
- package/dist/esm/classes/copy-and-blit.d.ts +0 -101
- package/dist/esm/classes/framebuffer.d.ts +0 -96
- package/dist/esm/classes/program-configuration.d.ts +0 -15
- package/dist/esm/classes/program.d.ts +0 -44
- package/dist/esm/classes/query.d.ts +0 -21
- package/dist/esm/classes/renderbuffer.d.ts +0 -34
- package/dist/esm/classes/resource.d.ts +0 -47
- package/dist/esm/classes/resource.js.map +0 -1
- package/dist/esm/classes/shader.d.ts +0 -29
- package/dist/esm/classes/shader.js +0 -138
- package/dist/esm/classes/shader.js.map +0 -1
- package/dist/esm/classes/texture-2d.d.ts +0 -11
- package/dist/esm/classes/texture-3d.d.ts +0 -29
- package/dist/esm/classes/texture-cube.d.ts +0 -23
- package/dist/esm/classes/texture.d.ts +0 -80
- package/dist/esm/classes/transform-feedback.d.ts +0 -16
- package/dist/esm/classes/uniform-buffer-layout.d.ts +0 -18
- package/dist/esm/classes/uniforms.d.ts +0 -63
- package/dist/esm/classes/vertex-array-object.d.ts +0 -25
- package/dist/esm/classes/vertex-array.d.ts +0 -37
- package/dist/esm/debug/debug-program-configuration.d.ts +0 -1
- package/dist/esm/debug/debug-uniforms.d.ts +0 -11
- package/dist/esm/debug/debug-vertex-array.d.ts +0 -1
- package/dist/esm/glsl-utils/format-glsl-error.d.ts +0 -16
- package/dist/esm/glsl-utils/format-glsl-error.js +0 -93
- package/dist/esm/glsl-utils/format-glsl-error.js.map +0 -1
- package/dist/esm/glsl-utils/get-shader-name.js +0 -6
- package/dist/esm/glsl-utils/get-shader-name.js.map +0 -1
- package/dist/esm/glsl-utils/get-shader-type-name.js +0 -15
- package/dist/esm/glsl-utils/get-shader-type-name.js.map +0 -1
- package/dist/esm/glsl-utils/get-shader-version.js +0 -15
- package/dist/esm/glsl-utils/get-shader-version.js.map +0 -1
- package/dist/esm/glsl-utils/index.js +0 -5
- package/dist/esm/glsl-utils/index.js.map +0 -1
- package/dist/esm/index.d.ts +0 -71
- package/dist/esm/init.d.ts +0 -12
- package/dist/esm/types.d.ts +0 -8
- package/dist/esm/utils/assert.d.ts +0 -1
- package/dist/esm/utils/is-old-ie.d.ts +0 -1
- package/dist/esm/utils/utils.d.ts +0 -13
- package/dist/esm/webgl-utils/request-animation-frame.d.ts +0 -3
- package/src/bundle.js +0 -8
- package/src/classes/buffer.d.ts +0 -84
- package/src/classes/clear.d.ts +0 -11
- package/src/classes/copy-and-blit.d.ts +0 -101
- package/src/classes/framebuffer.d.ts +0 -96
- package/src/classes/program-configuration.d.ts +0 -15
- package/src/classes/program.d.ts +0 -44
- package/src/classes/query.d.ts +0 -21
- package/src/classes/renderbuffer.d.ts +0 -34
- package/src/classes/renderbuffer.js +0 -105
- package/src/classes/resource.d.ts +0 -47
- package/src/classes/shader.d.ts +0 -29
- package/src/classes/shader.js +0 -147
- package/src/classes/texture-2d.d.ts +0 -11
- package/src/classes/texture-3d.d.ts +0 -29
- package/src/classes/texture-cube.d.ts +0 -23
- package/src/classes/texture.d.ts +0 -80
- package/src/classes/transform-feedback.d.ts +0 -16
- package/src/classes/uniform-buffer-layout.d.ts +0 -18
- package/src/classes/uniforms.d.ts +0 -63
- package/src/classes/vertex-array-object.d.ts +0 -25
- package/src/classes/vertex-array.d.ts +0 -37
- package/src/debug/debug-program-configuration.d.ts +0 -1
- package/src/debug/debug-uniforms.d.ts +0 -11
- package/src/debug/debug-vertex-array.d.ts +0 -1
- package/src/glsl-utils/format-glsl-error.d.ts +0 -16
- package/src/glsl-utils/format-glsl-error.js +0 -107
- package/src/glsl-utils/get-shader-name.js +0 -7
- package/src/glsl-utils/get-shader-type-name.js +0 -13
- package/src/glsl-utils/get-shader-version.js +0 -12
- package/src/glsl-utils/index.js +0 -8
- package/src/index.d.ts +0 -71
- package/src/index.js +0 -70
- package/src/init.d.ts +0 -12
- package/src/types.d.ts +0 -8
- package/src/utils/assert.d.ts +0 -1
- package/src/utils/is-old-ie.d.ts +0 -1
- package/src/utils/utils.d.ts +0 -13
- package/src/utils/utils.js +0 -36
- package/src/webgl-utils/request-animation-frame.d.ts +0 -3
|
@@ -7,258 +7,205 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _constants = _interopRequireDefault(require("@luma.gl/constants"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _gltools = require("@luma.gl/gltools");
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _webglResource = _interopRequireDefault(require("./webgl-resource"));
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _webglBuffer = _interopRequireDefault(require("./webgl-buffer"));
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _utils = require("../utils");
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
class TransformFeedback extends _webglResource.default {
|
|
23
|
+
static isSupported(gl) {
|
|
24
|
+
return (0, _gltools.isWebGL2)(gl);
|
|
25
|
+
}
|
|
23
26
|
|
|
24
|
-
|
|
27
|
+
constructor(gl, props = {}) {
|
|
28
|
+
super(gl, props, {});
|
|
29
|
+
(0, _defineProperty2.default)(this, "buffers", {});
|
|
30
|
+
(0, _defineProperty2.default)(this, "unused", {});
|
|
31
|
+
(0, _defineProperty2.default)(this, "configuration", null);
|
|
32
|
+
(0, _defineProperty2.default)(this, "bindOnUse", true);
|
|
33
|
+
(0, _gltools.assertWebGL2Context)(gl);
|
|
34
|
+
this.initialize(props);
|
|
35
|
+
this.stubRemovedMethods('TransformFeedback', 'v6.0', ['pause', 'resume']);
|
|
36
|
+
Object.seal(this);
|
|
37
|
+
}
|
|
25
38
|
|
|
26
|
-
|
|
39
|
+
initialize(props) {
|
|
40
|
+
this.buffers = {};
|
|
41
|
+
this.unused = {};
|
|
42
|
+
this.configuration = null;
|
|
43
|
+
this.bindOnUse = true;
|
|
27
44
|
|
|
28
|
-
|
|
45
|
+
if (!(0, _utils.isObjectEmpty)(this.buffers)) {
|
|
46
|
+
this.bind(() => this._unbindBuffers());
|
|
47
|
+
}
|
|
29
48
|
|
|
30
|
-
|
|
49
|
+
this.setProps(props);
|
|
50
|
+
return this;
|
|
51
|
+
}
|
|
31
52
|
|
|
32
|
-
|
|
53
|
+
setProps(props) {
|
|
54
|
+
if ('program' in props) {
|
|
55
|
+
this.configuration = props.program && props.program.configuration;
|
|
56
|
+
}
|
|
33
57
|
|
|
34
|
-
|
|
35
|
-
|
|
58
|
+
if ('configuration' in props) {
|
|
59
|
+
this.configuration = props.configuration;
|
|
60
|
+
}
|
|
36
61
|
|
|
37
|
-
|
|
62
|
+
if ('bindOnUse' in props) {
|
|
63
|
+
props = props.bindOnUse;
|
|
64
|
+
}
|
|
38
65
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
value: function isSupported(gl) {
|
|
42
|
-
return (0, _gltools.isWebGL2)(gl);
|
|
66
|
+
if ('buffers' in props) {
|
|
67
|
+
this.setBuffers(props.buffers);
|
|
43
68
|
}
|
|
44
|
-
}
|
|
69
|
+
}
|
|
45
70
|
|
|
46
|
-
|
|
47
|
-
|
|
71
|
+
setBuffers(buffers = {}) {
|
|
72
|
+
this.bind(() => {
|
|
73
|
+
for (const bufferName in buffers) {
|
|
74
|
+
this.setBuffer(bufferName, buffers[bufferName]);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
return this;
|
|
78
|
+
}
|
|
48
79
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
(0, _gltools.assertWebGL2Context)(gl);
|
|
52
|
-
_this = _super.call(this, gl, props);
|
|
80
|
+
setBuffer(locationOrName, bufferOrParams) {
|
|
81
|
+
const location = this._getVaryingIndex(locationOrName);
|
|
53
82
|
|
|
54
|
-
|
|
83
|
+
const {
|
|
84
|
+
buffer,
|
|
85
|
+
byteSize,
|
|
86
|
+
byteOffset
|
|
87
|
+
} = this._getBufferParams(bufferOrParams);
|
|
55
88
|
|
|
56
|
-
|
|
89
|
+
if (location < 0) {
|
|
90
|
+
this.unused[locationOrName] = buffer;
|
|
57
91
|
|
|
58
|
-
|
|
59
|
-
return _this;
|
|
60
|
-
}
|
|
92
|
+
_gltools.log.warn(() => "".concat(this.id, " unused varying buffer ").concat(locationOrName))();
|
|
61
93
|
|
|
62
|
-
(0, _createClass2.default)(TransformFeedback, [{
|
|
63
|
-
key: "initialize",
|
|
64
|
-
value: function initialize() {
|
|
65
|
-
var _this2 = this;
|
|
66
|
-
|
|
67
|
-
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
68
|
-
this.buffers = {};
|
|
69
|
-
this.unused = {};
|
|
70
|
-
this.configuration = null;
|
|
71
|
-
this.bindOnUse = true;
|
|
72
|
-
|
|
73
|
-
if (!(0, _utils.isObjectEmpty)(this.buffers)) {
|
|
74
|
-
this.bind(function () {
|
|
75
|
-
return _this2._unbindBuffers();
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
this.setProps(props);
|
|
80
94
|
return this;
|
|
81
95
|
}
|
|
82
|
-
}, {
|
|
83
|
-
key: "setProps",
|
|
84
|
-
value: function setProps(props) {
|
|
85
|
-
if ('program' in props) {
|
|
86
|
-
this.configuration = props.program && props.program.configuration;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
if ('configuration' in props) {
|
|
90
|
-
this.configuration = props.configuration;
|
|
91
|
-
}
|
|
92
96
|
|
|
93
|
-
|
|
94
|
-
props = props.bindOnUse;
|
|
95
|
-
}
|
|
97
|
+
this.buffers[location] = bufferOrParams;
|
|
96
98
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}, {
|
|
102
|
-
key: "setBuffers",
|
|
103
|
-
value: function setBuffers() {
|
|
104
|
-
var _this3 = this;
|
|
105
|
-
|
|
106
|
-
var buffers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
107
|
-
this.bind(function () {
|
|
108
|
-
for (var bufferName in buffers) {
|
|
109
|
-
_this3.setBuffer(bufferName, buffers[bufferName]);
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
return this;
|
|
99
|
+
if (!this.bindOnUse) {
|
|
100
|
+
this._bindBuffer(location, buffer, byteOffset, byteSize);
|
|
113
101
|
}
|
|
114
|
-
}, {
|
|
115
|
-
key: "setBuffer",
|
|
116
|
-
value: function setBuffer(locationOrName, bufferOrParams) {
|
|
117
|
-
var _this4 = this;
|
|
118
102
|
|
|
119
|
-
|
|
103
|
+
return this;
|
|
104
|
+
}
|
|
120
105
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
byteSize = _this$_getBufferParam.byteSize,
|
|
124
|
-
byteOffset = _this$_getBufferParam.byteOffset;
|
|
106
|
+
begin(primitiveMode = _constants.default.POINTS) {
|
|
107
|
+
this.gl.bindTransformFeedback(_constants.default.TRANSFORM_FEEDBACK, this.handle);
|
|
125
108
|
|
|
126
|
-
|
|
127
|
-
this.unused[locationOrName] = buffer;
|
|
109
|
+
this._bindBuffers();
|
|
128
110
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
111
|
+
this.gl.beginTransformFeedback(primitiveMode);
|
|
112
|
+
return this;
|
|
113
|
+
}
|
|
132
114
|
|
|
133
|
-
|
|
134
|
-
|
|
115
|
+
end() {
|
|
116
|
+
this.gl.endTransformFeedback();
|
|
135
117
|
|
|
136
|
-
|
|
118
|
+
this._unbindBuffers();
|
|
137
119
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
120
|
+
this.gl.bindTransformFeedback(_constants.default.TRANSFORM_FEEDBACK, null);
|
|
121
|
+
return this;
|
|
122
|
+
}
|
|
141
123
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
value: function begin() {
|
|
147
|
-
var primitiveMode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
148
|
-
this.gl.bindTransformFeedback(36386, this.handle);
|
|
124
|
+
_getBufferParams(bufferOrParams) {
|
|
125
|
+
let byteOffset;
|
|
126
|
+
let byteSize;
|
|
127
|
+
let buffer;
|
|
149
128
|
|
|
150
|
-
|
|
129
|
+
if (bufferOrParams instanceof _webglBuffer.default === false) {
|
|
130
|
+
buffer = bufferOrParams.buffer;
|
|
131
|
+
byteSize = bufferOrParams.byteSize;
|
|
132
|
+
byteOffset = bufferOrParams.byteOffset;
|
|
133
|
+
} else {
|
|
134
|
+
buffer = bufferOrParams;
|
|
135
|
+
}
|
|
151
136
|
|
|
152
|
-
|
|
153
|
-
|
|
137
|
+
if (byteOffset !== undefined || byteSize !== undefined) {
|
|
138
|
+
byteOffset = byteOffset || 0;
|
|
139
|
+
byteSize = byteSize || buffer.byteLength - byteOffset;
|
|
154
140
|
}
|
|
155
|
-
}, {
|
|
156
|
-
key: "end",
|
|
157
|
-
value: function end() {
|
|
158
|
-
this.gl.endTransformFeedback();
|
|
159
141
|
|
|
160
|
-
|
|
142
|
+
return {
|
|
143
|
+
buffer,
|
|
144
|
+
byteOffset,
|
|
145
|
+
byteSize
|
|
146
|
+
};
|
|
147
|
+
}
|
|
161
148
|
|
|
162
|
-
|
|
163
|
-
|
|
149
|
+
_getVaryingInfo(locationOrName) {
|
|
150
|
+
return this.configuration && this.configuration.getVaryingInfo(locationOrName);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
_getVaryingIndex(locationOrName) {
|
|
154
|
+
if (this.configuration) {
|
|
155
|
+
return this.configuration.getVaryingInfo(locationOrName).location;
|
|
164
156
|
}
|
|
165
|
-
}, {
|
|
166
|
-
key: "_getBufferParams",
|
|
167
|
-
value: function _getBufferParams(bufferOrParams) {
|
|
168
|
-
var byteOffset;
|
|
169
|
-
var byteSize;
|
|
170
|
-
var buffer;
|
|
171
|
-
|
|
172
|
-
if (bufferOrParams instanceof _buffer.default === false) {
|
|
173
|
-
buffer = bufferOrParams.buffer;
|
|
174
|
-
byteSize = bufferOrParams.byteSize;
|
|
175
|
-
byteOffset = bufferOrParams.byteOffset;
|
|
176
|
-
} else {
|
|
177
|
-
buffer = bufferOrParams;
|
|
178
|
-
}
|
|
179
157
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
}
|
|
158
|
+
const location = Number(locationOrName);
|
|
159
|
+
return Number.isFinite(location) ? location : -1;
|
|
160
|
+
}
|
|
184
161
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
value: function _getVaryingInfo(locationOrName) {
|
|
194
|
-
return this.configuration && this.configuration.getVaryingInfo(locationOrName);
|
|
195
|
-
}
|
|
196
|
-
}, {
|
|
197
|
-
key: "_getVaryingIndex",
|
|
198
|
-
value: function _getVaryingIndex(locationOrName) {
|
|
199
|
-
if (this.configuration) {
|
|
200
|
-
return this.configuration.getVaryingInfo(locationOrName).location;
|
|
201
|
-
}
|
|
162
|
+
_bindBuffers() {
|
|
163
|
+
if (this.bindOnUse) {
|
|
164
|
+
for (const bufferIndex in this.buffers) {
|
|
165
|
+
const {
|
|
166
|
+
buffer,
|
|
167
|
+
byteSize,
|
|
168
|
+
byteOffset
|
|
169
|
+
} = this._getBufferParams(this.buffers[bufferIndex]);
|
|
202
170
|
|
|
203
|
-
|
|
204
|
-
return Number.isFinite(location) ? location : -1;
|
|
205
|
-
}
|
|
206
|
-
}, {
|
|
207
|
-
key: "_bindBuffers",
|
|
208
|
-
value: function _bindBuffers() {
|
|
209
|
-
if (this.bindOnUse) {
|
|
210
|
-
for (var bufferIndex in this.buffers) {
|
|
211
|
-
var _this$_getBufferParam2 = this._getBufferParams(this.buffers[bufferIndex]),
|
|
212
|
-
buffer = _this$_getBufferParam2.buffer,
|
|
213
|
-
byteSize = _this$_getBufferParam2.byteSize,
|
|
214
|
-
byteOffset = _this$_getBufferParam2.byteOffset;
|
|
215
|
-
|
|
216
|
-
this._bindBuffer(bufferIndex, buffer, byteOffset, byteSize);
|
|
217
|
-
}
|
|
171
|
+
this._bindBuffer(bufferIndex, buffer, byteOffset, byteSize);
|
|
218
172
|
}
|
|
219
173
|
}
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
_unbindBuffers() {
|
|
177
|
+
if (this.bindOnUse) {
|
|
178
|
+
for (const bufferIndex in this.buffers) {
|
|
179
|
+
this._bindBuffer(bufferIndex, null);
|
|
227
180
|
}
|
|
228
181
|
}
|
|
229
|
-
}
|
|
230
|
-
key: "_bindBuffer",
|
|
231
|
-
value: function _bindBuffer(index, buffer) {
|
|
232
|
-
var byteOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
233
|
-
var byteSize = arguments.length > 3 ? arguments[3] : undefined;
|
|
234
|
-
var handle = buffer && buffer.handle;
|
|
235
|
-
|
|
236
|
-
if (!handle || byteSize === undefined) {
|
|
237
|
-
this.gl.bindBufferBase(35982, index, handle);
|
|
238
|
-
} else {
|
|
239
|
-
this.gl.bindBufferRange(35982, index, handle, byteOffset, byteSize);
|
|
240
|
-
}
|
|
182
|
+
}
|
|
241
183
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
}, {
|
|
250
|
-
key: "_deleteHandle",
|
|
251
|
-
value: function _deleteHandle() {
|
|
252
|
-
this.gl.deleteTransformFeedback(this.handle);
|
|
253
|
-
}
|
|
254
|
-
}, {
|
|
255
|
-
key: "_bindHandle",
|
|
256
|
-
value: function _bindHandle(handle) {
|
|
257
|
-
this.gl.bindTransformFeedback(36386, this.handle);
|
|
184
|
+
_bindBuffer(index, buffer, byteOffset = 0, byteSize) {
|
|
185
|
+
const handle = buffer && buffer.handle;
|
|
186
|
+
|
|
187
|
+
if (!handle || byteSize === undefined) {
|
|
188
|
+
this.gl.bindBufferBase(_constants.default.TRANSFORM_FEEDBACK_BUFFER, index, handle);
|
|
189
|
+
} else {
|
|
190
|
+
this.gl.bindBufferRange(_constants.default.TRANSFORM_FEEDBACK_BUFFER, index, handle, byteOffset, byteSize);
|
|
258
191
|
}
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
}
|
|
192
|
+
|
|
193
|
+
return this;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
_createHandle() {
|
|
197
|
+
return this.gl.createTransformFeedback();
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
_deleteHandle() {
|
|
201
|
+
this.gl.deleteTransformFeedback(this.handle);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
_bindHandle(handle) {
|
|
205
|
+
this.gl.bindTransformFeedback(_constants.default.TRANSFORM_FEEDBACK, this.handle);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
}
|
|
262
209
|
|
|
263
210
|
exports.default = TransformFeedback;
|
|
264
211
|
//# sourceMappingURL=transform-feedback.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/classes/transform-feedback.js"],"names":["TransformFeedback","gl","props","initialize","stubRemovedMethods","Object","seal","buffers","unused","configuration","bindOnUse","bind","_unbindBuffers","setProps","program","setBuffers","bufferName","setBuffer","locationOrName","bufferOrParams","location","_getVaryingIndex","_getBufferParams","buffer","byteSize","byteOffset","log","warn","id","_bindBuffer","primitiveMode","bindTransformFeedback","handle","_bindBuffers","beginTransformFeedback","endTransformFeedback","Buffer","undefined","byteLength","getVaryingInfo","Number","isFinite","bufferIndex","index","bindBufferBase","bindBufferRange","createTransformFeedback","deleteTransformFeedback","Resource"],"mappings":"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","sourcesContent":["import GL from '@luma.gl/constants';\nimport {isWebGL2, assertWebGL2Context, log} from '@luma.gl/gltools';\nimport Resource from './resource';\nimport Buffer from './buffer';\nimport {isObjectEmpty} from '../utils/utils';\n\n// NOTE: The `bindOnUse` flag is a major workaround:\n// See https://github.com/KhronosGroup/WebGL/issues/2346\n\nexport default class TransformFeedback extends Resource {\n static isSupported(gl) {\n return isWebGL2(gl);\n }\n\n constructor(gl, props = {}) {\n assertWebGL2Context(gl);\n super(gl, props);\n\n this.initialize(props);\n this.stubRemovedMethods('TransformFeedback', 'v6.0', ['pause', 'resume']);\n Object.seal(this);\n }\n\n initialize(props = {}) {\n this.buffers = {};\n this.unused = {};\n this.configuration = null;\n this.bindOnUse = true;\n\n // Unbind any currently bound buffers\n if (!isObjectEmpty(this.buffers)) {\n this.bind(() => this._unbindBuffers());\n }\n\n this.setProps(props);\n return this;\n }\n\n setProps(props) {\n if ('program' in props) {\n this.configuration = props.program && props.program.configuration;\n }\n if ('configuration' in props) {\n this.configuration = props.configuration;\n }\n if ('bindOnUse' in props) {\n props = props.bindOnUse;\n }\n if ('buffers' in props) {\n this.setBuffers(props.buffers);\n }\n }\n\n setBuffers(buffers = {}) {\n this.bind(() => {\n for (const bufferName in buffers) {\n this.setBuffer(bufferName, buffers[bufferName]);\n }\n });\n return this;\n }\n\n setBuffer(locationOrName, bufferOrParams) {\n const location = this._getVaryingIndex(locationOrName);\n const {buffer, byteSize, byteOffset} = this._getBufferParams(bufferOrParams);\n\n if (location < 0) {\n this.unused[locationOrName] = buffer;\n log.warn(() => `${this.id} unused varying buffer ${locationOrName}`)();\n return this;\n }\n\n this.buffers[location] = bufferOrParams;\n\n // Need to avoid chrome bug where buffer that is already bound to a different target\n // cannot be bound to 'TRANSFORM_FEEDBACK_BUFFER' target.\n if (!this.bindOnUse) {\n this._bindBuffer(location, buffer, byteOffset, byteSize);\n }\n\n return this;\n }\n\n begin(primitiveMode = GL.POINTS) {\n // @ts-ignore\n this.gl.bindTransformFeedback(GL.TRANSFORM_FEEDBACK, this.handle);\n this._bindBuffers();\n // @ts-ignore\n this.gl.beginTransformFeedback(primitiveMode);\n return this;\n }\n\n end() {\n // @ts-ignore\n this.gl.endTransformFeedback();\n this._unbindBuffers();\n // @ts-ignore\n this.gl.bindTransformFeedback(GL.TRANSFORM_FEEDBACK, null);\n return this;\n }\n\n // PRIVATE METHODS\n\n _getBufferParams(bufferOrParams) {\n let byteOffset;\n let byteSize;\n let buffer;\n if (bufferOrParams instanceof Buffer === false) {\n buffer = bufferOrParams.buffer;\n byteSize = bufferOrParams.byteSize;\n byteOffset = bufferOrParams.byteOffset;\n } else {\n buffer = bufferOrParams;\n }\n // to use bindBufferRange, either offset or size must be specified, use default value for the other.\n if (byteOffset !== undefined || byteSize !== undefined) {\n byteOffset = byteOffset || 0;\n byteSize = byteSize || buffer.byteLength - byteOffset;\n }\n return {buffer, byteOffset, byteSize};\n }\n\n _getVaryingInfo(locationOrName) {\n return this.configuration && this.configuration.getVaryingInfo(locationOrName);\n }\n\n _getVaryingIndex(locationOrName) {\n if (this.configuration) {\n return this.configuration.getVaryingInfo(locationOrName).location;\n }\n const location = Number(locationOrName);\n return Number.isFinite(location) ? location : -1;\n }\n\n // Need to avoid chrome bug where buffer that is already bound to a different target\n // cannot be bound to 'TRANSFORM_FEEDBACK_BUFFER' target.\n _bindBuffers() {\n if (this.bindOnUse) {\n for (const bufferIndex in this.buffers) {\n const {buffer, byteSize, byteOffset} = this._getBufferParams(this.buffers[bufferIndex]);\n this._bindBuffer(bufferIndex, buffer, byteOffset, byteSize);\n }\n }\n }\n\n _unbindBuffers() {\n if (this.bindOnUse) {\n for (const bufferIndex in this.buffers) {\n this._bindBuffer(bufferIndex, null);\n }\n }\n }\n\n _bindBuffer(index, buffer, byteOffset = 0, byteSize) {\n const handle = buffer && buffer.handle;\n if (!handle || byteSize === undefined) {\n // @ts-ignore\n this.gl.bindBufferBase(GL.TRANSFORM_FEEDBACK_BUFFER, index, handle);\n } else {\n // @ts-ignore\n this.gl.bindBufferRange(GL.TRANSFORM_FEEDBACK_BUFFER, index, handle, byteOffset, byteSize);\n }\n return this;\n }\n\n // RESOURCE METHODS\n\n _createHandle() {\n // @ts-ignore\n return this.gl.createTransformFeedback();\n }\n\n _deleteHandle() {\n // @ts-ignore\n this.gl.deleteTransformFeedback(this.handle);\n }\n\n _bindHandle(handle) {\n // @ts-ignore\n this.gl.bindTransformFeedback(GL.TRANSFORM_FEEDBACK, this.handle);\n }\n}\n"],"file":"transform-feedback.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/classes/transform-feedback.ts"],"names":["TransformFeedback","WebGLResource","isSupported","gl","constructor","props","initialize","stubRemovedMethods","Object","seal","buffers","unused","configuration","bindOnUse","bind","_unbindBuffers","setProps","program","setBuffers","bufferName","setBuffer","locationOrName","bufferOrParams","location","_getVaryingIndex","buffer","byteSize","byteOffset","_getBufferParams","log","warn","id","_bindBuffer","begin","primitiveMode","GL","POINTS","bindTransformFeedback","TRANSFORM_FEEDBACK","handle","_bindBuffers","beginTransformFeedback","end","endTransformFeedback","Buffer","undefined","byteLength","_getVaryingInfo","getVaryingInfo","Number","isFinite","bufferIndex","index","bindBufferBase","TRANSFORM_FEEDBACK_BUFFER","bindBufferRange","_createHandle","createTransformFeedback","_deleteHandle","deleteTransformFeedback","_bindHandle"],"mappings":"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","sourcesContent":["import GL from '@luma.gl/constants';\nimport {isWebGL2, assertWebGL2Context, log} from '@luma.gl/gltools';\nimport WebGLResource, {ResourceProps} from './webgl-resource';\nimport Buffer from './webgl-buffer';\nimport {isObjectEmpty} from '../utils';\n\nexport type TransformFeedbackProps = ResourceProps & {\n [key: string]: any;\n};\n\nexport default class TransformFeedback extends WebGLResource<TransformFeedbackProps> {\n buffers = {};\n unused = {};\n configuration = null;\n // NOTE: The `bindOnUse` flag is a major workaround:\n // See https://github.com/KhronosGroup/WebGL/issues/2346\n bindOnUse = true;\n\n static isSupported(gl: WebGLRenderingContext): boolean {\n return isWebGL2(gl);\n }\n\n constructor(gl: WebGLRenderingContext, props: TransformFeedbackProps = {}) {\n super(gl, props, {} as any);\n assertWebGL2Context(gl);\n\n this.initialize(props);\n this.stubRemovedMethods('TransformFeedback', 'v6.0', ['pause', 'resume']);\n Object.seal(this);\n }\n\n initialize(props?: TransformFeedbackProps): this {\n this.buffers = {};\n this.unused = {};\n this.configuration = null;\n this.bindOnUse = true;\n\n // Unbind any currently bound buffers\n if (!isObjectEmpty(this.buffers)) {\n this.bind(() => this._unbindBuffers());\n }\n\n this.setProps(props);\n return this;\n }\n\n setProps(props: TransformFeedbackProps) {\n if ('program' in props) {\n this.configuration = props.program && props.program.configuration;\n }\n if ('configuration' in props) {\n this.configuration = props.configuration;\n }\n if ('bindOnUse' in props) {\n props = props.bindOnUse;\n }\n if ('buffers' in props) {\n this.setBuffers(props.buffers);\n }\n }\n\n setBuffers(buffers = {}) {\n this.bind(() => {\n for (const bufferName in buffers) {\n this.setBuffer(bufferName, buffers[bufferName]);\n }\n });\n return this;\n }\n\n setBuffer(locationOrName, bufferOrParams) {\n const location = this._getVaryingIndex(locationOrName);\n const {buffer, byteSize, byteOffset} = this._getBufferParams(bufferOrParams);\n\n if (location < 0) {\n this.unused[locationOrName] = buffer;\n log.warn(() => `${this.id} unused varying buffer ${locationOrName}`)();\n return this;\n }\n\n this.buffers[location] = bufferOrParams;\n\n // Need to avoid chrome bug where buffer that is already bound to a different target\n // cannot be bound to 'TRANSFORM_FEEDBACK_BUFFER' target.\n if (!this.bindOnUse) {\n this._bindBuffer(location, buffer, byteOffset, byteSize);\n }\n\n return this;\n }\n\n begin(primitiveMode = GL.POINTS) {\n // @ts-ignore\n this.gl.bindTransformFeedback(GL.TRANSFORM_FEEDBACK, this.handle);\n this._bindBuffers();\n // @ts-ignore\n this.gl.beginTransformFeedback(primitiveMode);\n return this;\n }\n\n end() {\n // @ts-ignore\n this.gl.endTransformFeedback();\n this._unbindBuffers();\n // @ts-ignore\n this.gl.bindTransformFeedback(GL.TRANSFORM_FEEDBACK, null);\n return this;\n }\n\n // PRIVATE METHODS\n\n _getBufferParams(bufferOrParams) {\n let byteOffset;\n let byteSize;\n let buffer;\n if (bufferOrParams instanceof Buffer === false) {\n buffer = bufferOrParams.buffer;\n byteSize = bufferOrParams.byteSize;\n byteOffset = bufferOrParams.byteOffset;\n } else {\n buffer = bufferOrParams;\n }\n // to use bindBufferRange, either offset or size must be specified, use default value for the other.\n if (byteOffset !== undefined || byteSize !== undefined) {\n byteOffset = byteOffset || 0;\n byteSize = byteSize || buffer.byteLength - byteOffset;\n }\n return {buffer, byteOffset, byteSize};\n }\n\n _getVaryingInfo(locationOrName) {\n return this.configuration && this.configuration.getVaryingInfo(locationOrName);\n }\n\n _getVaryingIndex(locationOrName) {\n if (this.configuration) {\n return this.configuration.getVaryingInfo(locationOrName).location;\n }\n const location = Number(locationOrName);\n return Number.isFinite(location) ? location : -1;\n }\n\n // Need to avoid chrome bug where buffer that is already bound to a different target\n // cannot be bound to 'TRANSFORM_FEEDBACK_BUFFER' target.\n _bindBuffers() {\n if (this.bindOnUse) {\n for (const bufferIndex in this.buffers) {\n const {buffer, byteSize, byteOffset} = this._getBufferParams(this.buffers[bufferIndex]);\n this._bindBuffer(bufferIndex, buffer, byteOffset, byteSize);\n }\n }\n }\n\n _unbindBuffers() {\n if (this.bindOnUse) {\n for (const bufferIndex in this.buffers) {\n this._bindBuffer(bufferIndex, null);\n }\n }\n }\n\n _bindBuffer(index, buffer, byteOffset = 0, byteSize?) {\n const handle = buffer && buffer.handle;\n if (!handle || byteSize === undefined) {\n // @ts-ignore\n this.gl.bindBufferBase(GL.TRANSFORM_FEEDBACK_BUFFER, index, handle);\n } else {\n // @ts-ignore\n this.gl.bindBufferRange(GL.TRANSFORM_FEEDBACK_BUFFER, index, handle, byteOffset, byteSize);\n }\n return this;\n }\n\n // RESOURCE METHODS\n\n _createHandle() {\n // @ts-ignore\n return this.gl.createTransformFeedback();\n }\n\n _deleteHandle() {\n // @ts-ignore\n this.gl.deleteTransformFeedback(this.handle);\n }\n\n _bindHandle(handle) {\n // @ts-ignore\n this.gl.bindTransformFeedback(GL.TRANSFORM_FEEDBACK, this.handle);\n }\n}\n"],"file":"transform-feedback.js"}
|