@luma.gl/webgl 8.5.10 → 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
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import Resource, {ResourceProps} from './resource';
|
|
2
|
-
|
|
3
|
-
export type FramebufferProps = ResourceProps & {
|
|
4
|
-
width?: number;
|
|
5
|
-
height?: number;
|
|
6
|
-
attachments?: any;
|
|
7
|
-
color?: boolean;
|
|
8
|
-
depth?: boolean;
|
|
9
|
-
stencil?: boolean;
|
|
10
|
-
check?: boolean;
|
|
11
|
-
readBuffer?: any;
|
|
12
|
-
drawBuffers?: any;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Framebuffers hold a collection of Texture and Renderbuffer attachments.
|
|
17
|
-
* Framebuffers allow rendering to non-Default Framebuffer locations
|
|
18
|
-
* without disturbing the main screen.
|
|
19
|
-
*/
|
|
20
|
-
export default class Framebuffer extends Resource {
|
|
21
|
-
static readonly STATUS: number[];
|
|
22
|
-
|
|
23
|
-
readonly handle: WebGLFramebuffer;
|
|
24
|
-
readonly width: number;
|
|
25
|
-
readonly height: number;
|
|
26
|
-
readonly attachments: any[];
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Support
|
|
30
|
-
* @param gl
|
|
31
|
-
* @param options.colorBufferFloat Whether floating point textures can be rendered and read
|
|
32
|
-
* @param options.colorBufferHalfFloat Whether half float textures can be rendered and read
|
|
33
|
-
*/
|
|
34
|
-
static isSupported(
|
|
35
|
-
gl: WebGLRenderingContext,
|
|
36
|
-
options?: {
|
|
37
|
-
colorBufferFloat: any;
|
|
38
|
-
colorBufferHalfFloat: any;
|
|
39
|
-
}
|
|
40
|
-
): boolean;
|
|
41
|
-
|
|
42
|
-
/** returns the default Framebuffer */
|
|
43
|
-
static getDefaultFramebuffer(gl: WebGLRenderingContext): Framebuffer;
|
|
44
|
-
|
|
45
|
-
get MAX_COLOR_ATTACHMENTS(): any;
|
|
46
|
-
get MAX_DRAW_BUFFERS(): any;
|
|
47
|
-
get color(): any;
|
|
48
|
-
get texture(): any;
|
|
49
|
-
get depth(): any;
|
|
50
|
-
get stencil(): any;
|
|
51
|
-
|
|
52
|
-
constructor(gl: WebGLRenderingContext, props?: FramebufferProps);
|
|
53
|
-
|
|
54
|
-
initialize(options?: FramebufferProps): this;
|
|
55
|
-
|
|
56
|
-
// @ts-ignore
|
|
57
|
-
delete(): void;
|
|
58
|
-
|
|
59
|
-
resize(size?: {width: any; height: any}): this;
|
|
60
|
-
|
|
61
|
-
update(options?: {
|
|
62
|
-
attachments?: {};
|
|
63
|
-
readBuffer: any;
|
|
64
|
-
drawBuffers: any;
|
|
65
|
-
clearAttachments?: boolean;
|
|
66
|
-
resizeAttachments?: boolean;
|
|
67
|
-
}): this;
|
|
68
|
-
|
|
69
|
-
attach(
|
|
70
|
-
attachments: any,
|
|
71
|
-
options?: {
|
|
72
|
-
clearAttachments?: boolean;
|
|
73
|
-
resizeAttachments?: boolean;
|
|
74
|
-
}
|
|
75
|
-
): this;
|
|
76
|
-
|
|
77
|
-
checkStatus(): this;
|
|
78
|
-
getStatus(): any;
|
|
79
|
-
clear(options?: {color?: any; depth?: any; stencil?: any; drawBuffers?: any[]}): this;
|
|
80
|
-
readPixels(opts?: {}): any;
|
|
81
|
-
readPixelsToBuffer(opts?: {}): any;
|
|
82
|
-
copyToDataUrl(opts?: {}): any;
|
|
83
|
-
copyToImage(opts?: {}): any;
|
|
84
|
-
copyToTexture(opts?: {}): any;
|
|
85
|
-
blit(opts?: {}): any;
|
|
86
|
-
invalidate(options: {attachments?: any[]; x?: number; y?: number; width: any; height: any}): this;
|
|
87
|
-
getAttachmentParameter(attachment: any, pname: any, keys: any): any;
|
|
88
|
-
getAttachmentParameters(attachment: any, keys: any, parameters?: any): {};
|
|
89
|
-
getParameters(keys?: boolean): {};
|
|
90
|
-
show(): this;
|
|
91
|
-
log(logLevel?: number, message?: string): this;
|
|
92
|
-
bind({target}?: {target?: any}): this;
|
|
93
|
-
unbind({target}?: {target?: any}): this;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
export const FRAMEBUFFER_ATTACHMENT_PARAMETERS: any[];
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* is a mechanism for taking a program object and querying information
|
|
3
|
-
* about it, so as to be able to interface and interact with it.
|
|
4
|
-
* For example, if there is a uniform, you may need to query its
|
|
5
|
-
* location so that you can set its value.
|
|
6
|
-
*/
|
|
7
|
-
export default class ProgramConfiguration {
|
|
8
|
-
constructor(program: any);
|
|
9
|
-
getAttributeInfo(locationOrName: any): any;
|
|
10
|
-
getAttributeLocation(locationOrName: any): any;
|
|
11
|
-
getAttributeAccessor(locationOrName: any): any;
|
|
12
|
-
getVaryingInfo(locationOrName: any): any;
|
|
13
|
-
getVaryingIndex(locationOrName: any): any;
|
|
14
|
-
getVaryingAccessor(locationOrName: any): any;
|
|
15
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import Resource, {ResourceProps} from './resource';
|
|
2
|
-
import ProgramConfiguration from './program-configuration';
|
|
3
|
-
|
|
4
|
-
export type ProgramProps = ResourceProps & {
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* A Program holds fully processed executable code,
|
|
10
|
-
* for one or more Shader stages.
|
|
11
|
-
*/
|
|
12
|
-
export default class Program extends Resource {
|
|
13
|
-
|
|
14
|
-
readonly handle: WebGLProgram;
|
|
15
|
-
readonly configuration: ProgramConfiguration;
|
|
16
|
-
|
|
17
|
-
constructor(gl: WebGLRenderingContext, props?: {});
|
|
18
|
-
initialize(props?: {}): this;
|
|
19
|
-
delete(options?: {}): this;
|
|
20
|
-
setProps(props: any): this;
|
|
21
|
-
draw(options: {
|
|
22
|
-
logPriority?: any;
|
|
23
|
-
drawMode?: any;
|
|
24
|
-
vertexCount: any;
|
|
25
|
-
offset?: number;
|
|
26
|
-
start?: any;
|
|
27
|
-
end?: any;
|
|
28
|
-
isIndexed?: boolean;
|
|
29
|
-
indexType?: any;
|
|
30
|
-
instanceCount?: number;
|
|
31
|
-
isInstanced?: boolean;
|
|
32
|
-
vertexArray?: any;
|
|
33
|
-
transformFeedback?: any;
|
|
34
|
-
framebuffer?: any;
|
|
35
|
-
parameters?: {};
|
|
36
|
-
uniforms?: any;
|
|
37
|
-
samplers?: any;
|
|
38
|
-
}): boolean;
|
|
39
|
-
setUniforms(uniforms?: {}): this;
|
|
40
|
-
getActiveUniforms(uniformIndices: any, pname: any): any;
|
|
41
|
-
getUniformBlockIndex(blockName: any): any;
|
|
42
|
-
getActiveUniformBlockParameter(blockIndex: any, pname: any): any;
|
|
43
|
-
uniformBlockBinding(blockIndex: any, blockBinding: any): void;
|
|
44
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import Resource from './resource';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Asynchronous queries for different kinds of information
|
|
5
|
-
*/
|
|
6
|
-
export default class Query extends Resource {
|
|
7
|
-
readonly handle: WebGLQuery;
|
|
8
|
-
|
|
9
|
-
static isSupported(gl: WebGLRenderingContext, opts?: any[]): boolean;
|
|
10
|
-
constructor(gl: WebGLRenderingContext, opts?: {});
|
|
11
|
-
beginTimeElapsedQuery(): this;
|
|
12
|
-
beginOcclusionQuery({conservative}?: {conservative?: boolean}): this;
|
|
13
|
-
beginTransformFeedbackQuery(): this;
|
|
14
|
-
begin(target: any): this;
|
|
15
|
-
end(): this;
|
|
16
|
-
isResultAvailable(): any;
|
|
17
|
-
isTimerDisjoint(): any;
|
|
18
|
-
getResult(): any;
|
|
19
|
-
getTimerMilliseconds(): number;
|
|
20
|
-
createPoll(limit?: number): any;
|
|
21
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import Resource, {ResourceProps} from './resource';
|
|
2
|
-
|
|
3
|
-
export type RenderbufferProps = ResourceProps & {
|
|
4
|
-
format: number;
|
|
5
|
-
width?: number;
|
|
6
|
-
height?: number;
|
|
7
|
-
samples?: number;
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Renderbuffers are GPU objects that contain images.
|
|
12
|
-
* In contrast to Textures they are optimized for use as render targets, with Framebuffers.
|
|
13
|
-
* while Textures may not be, and are the logical choice when
|
|
14
|
-
* you do not need to sample (i.e. in a post-pass shader)
|
|
15
|
-
* from the produced image. If you need to resample
|
|
16
|
-
* (such as when reading depth back in a second shader pass),
|
|
17
|
-
* use Textures instead.
|
|
18
|
-
* Renderbuffer objects also natively accommodate Multisampling (MSAA).
|
|
19
|
-
*/
|
|
20
|
-
export default class Renderbuffer extends Resource {
|
|
21
|
-
static isSupported(gl: WebGLRenderingContext, options?: {format?: number}): boolean;
|
|
22
|
-
static getSamplesForFormat(gl: WebGLRenderingContext, options: {format: number}): number;
|
|
23
|
-
|
|
24
|
-
readonly width: number;
|
|
25
|
-
readonly height: number;
|
|
26
|
-
readonly format: number;
|
|
27
|
-
|
|
28
|
-
constructor(gl: WebGLRenderingContext, props: RenderbufferProps);
|
|
29
|
-
|
|
30
|
-
/** Creates and initializes a renderbuffer object's data store */
|
|
31
|
-
initialize(props: Renderbuffer): this;
|
|
32
|
-
|
|
33
|
-
resize(size: {width: number, height: number}): this;
|
|
34
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
export type ResourceProps = {
|
|
2
|
-
id?: string;
|
|
3
|
-
handle?: any
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Base class for WebGL object wrappers
|
|
8
|
-
*/
|
|
9
|
-
export default class Resource {
|
|
10
|
-
readonly id: string;
|
|
11
|
-
readonly gl: WebGLRenderingContext;
|
|
12
|
-
readonly gl2: WebGL2RenderingContext;
|
|
13
|
-
readonly _handle: any;
|
|
14
|
-
|
|
15
|
-
readonly handle: any;
|
|
16
|
-
|
|
17
|
-
constructor(gl: WebGLRenderingContext, props?: ResourceProps);
|
|
18
|
-
toString(): string;
|
|
19
|
-
delete({ deleteChildren }?: { deleteChildren?: boolean }): this;
|
|
20
|
-
bind(funcOrHandle?: any): any;
|
|
21
|
-
unbind(): void;
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Query a Resource parameter
|
|
25
|
-
*
|
|
26
|
-
* @param {GLenum} pname
|
|
27
|
-
* @return {GLint|GLfloat|GLenum} param
|
|
28
|
-
*/
|
|
29
|
-
getParameter(pname: any, opts?: {}): any;
|
|
30
|
-
getParameters(opts?: {}): {};
|
|
31
|
-
/**
|
|
32
|
-
* Update a Resource setting
|
|
33
|
-
*
|
|
34
|
-
* @todo - cache parameter to avoid issuing WebGL calls?
|
|
35
|
-
*
|
|
36
|
-
* @param {GLenum} pname - parameter (GL constant, value or key)
|
|
37
|
-
* @param {GLint|GLfloat|GLenum} value
|
|
38
|
-
* @return {Resource} returns self to enable chaining
|
|
39
|
-
*/
|
|
40
|
-
setParameter(pname: any, value: any): this;
|
|
41
|
-
setParameters(parameters: any): this;
|
|
42
|
-
stubRemovedMethods(className: any, version: any, methodNames: any): void;
|
|
43
|
-
initialize(opts: any): void;
|
|
44
|
-
|
|
45
|
-
_trackAllocatedMemory(bytes: number, name?: string): void;
|
|
46
|
-
_trackDeallocatedMemory(name?: string): void;
|
|
47
|
-
}
|
|
@@ -1,308 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _gltools = require("@luma.gl/gltools");
|
|
15
|
-
|
|
16
|
-
var _init = require("../init");
|
|
17
|
-
|
|
18
|
-
var _constantsToKeys = require("../webgl-utils/constants-to-keys");
|
|
19
|
-
|
|
20
|
-
var _assert = require("../utils/assert");
|
|
21
|
-
|
|
22
|
-
var _utils = require("../utils/utils");
|
|
23
|
-
|
|
24
|
-
var _stubMethods = require("../utils/stub-methods");
|
|
25
|
-
|
|
26
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { 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 = o[Symbol.iterator](); }, 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; } } }; }
|
|
27
|
-
|
|
28
|
-
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); }
|
|
29
|
-
|
|
30
|
-
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; }
|
|
31
|
-
|
|
32
|
-
var ERR_RESOURCE_METHOD_UNDEFINED = 'Resource subclass must define virtual methods';
|
|
33
|
-
|
|
34
|
-
var Resource = function () {
|
|
35
|
-
function Resource(gl) {
|
|
36
|
-
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
37
|
-
(0, _classCallCheck2.default)(this, Resource);
|
|
38
|
-
(0, _gltools.assertWebGLContext)(gl);
|
|
39
|
-
var id = opts.id,
|
|
40
|
-
_opts$userData = opts.userData,
|
|
41
|
-
userData = _opts$userData === void 0 ? {} : _opts$userData;
|
|
42
|
-
this.gl = gl;
|
|
43
|
-
this.gl2 = gl;
|
|
44
|
-
this.id = id || (0, _utils.uid)(this.constructor.name);
|
|
45
|
-
this.userData = userData;
|
|
46
|
-
this._bound = false;
|
|
47
|
-
this._handle = opts.handle;
|
|
48
|
-
|
|
49
|
-
if (this._handle === undefined) {
|
|
50
|
-
this._handle = this._createHandle();
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
this.byteLength = 0;
|
|
54
|
-
|
|
55
|
-
this._addStats();
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
(0, _createClass2.default)(Resource, [{
|
|
59
|
-
key: "toString",
|
|
60
|
-
value: function toString() {
|
|
61
|
-
return "".concat(this.constructor.name, "(").concat(this.id, ")");
|
|
62
|
-
}
|
|
63
|
-
}, {
|
|
64
|
-
key: "delete",
|
|
65
|
-
value: function _delete() {
|
|
66
|
-
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
67
|
-
_ref$deleteChildren = _ref.deleteChildren,
|
|
68
|
-
deleteChildren = _ref$deleteChildren === void 0 ? false : _ref$deleteChildren;
|
|
69
|
-
|
|
70
|
-
var children = this._handle && this._deleteHandle(this._handle);
|
|
71
|
-
|
|
72
|
-
if (this._handle) {
|
|
73
|
-
this._removeStats();
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
this._handle = null;
|
|
77
|
-
|
|
78
|
-
if (children && deleteChildren) {
|
|
79
|
-
children.filter(Boolean).forEach(function (child) {
|
|
80
|
-
return child.delete();
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
return this;
|
|
85
|
-
}
|
|
86
|
-
}, {
|
|
87
|
-
key: "bind",
|
|
88
|
-
value: function bind() {
|
|
89
|
-
var funcOrHandle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.handle;
|
|
90
|
-
|
|
91
|
-
if (typeof funcOrHandle !== 'function') {
|
|
92
|
-
this._bindHandle(funcOrHandle);
|
|
93
|
-
|
|
94
|
-
return this;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
var value;
|
|
98
|
-
|
|
99
|
-
if (!this._bound) {
|
|
100
|
-
this._bindHandle(this.handle);
|
|
101
|
-
|
|
102
|
-
this._bound = true;
|
|
103
|
-
value = funcOrHandle();
|
|
104
|
-
this._bound = false;
|
|
105
|
-
|
|
106
|
-
this._bindHandle(null);
|
|
107
|
-
} else {
|
|
108
|
-
value = funcOrHandle();
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
return value;
|
|
112
|
-
}
|
|
113
|
-
}, {
|
|
114
|
-
key: "unbind",
|
|
115
|
-
value: function unbind() {
|
|
116
|
-
this.bind(null);
|
|
117
|
-
}
|
|
118
|
-
}, {
|
|
119
|
-
key: "getParameter",
|
|
120
|
-
value: function getParameter(pname) {
|
|
121
|
-
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
122
|
-
pname = (0, _constantsToKeys.getKeyValue)(this.gl, pname);
|
|
123
|
-
(0, _assert.assert)(pname);
|
|
124
|
-
var parameters = this.constructor.PARAMETERS || {};
|
|
125
|
-
var parameter = parameters[pname];
|
|
126
|
-
|
|
127
|
-
if (parameter) {
|
|
128
|
-
var isWebgl2 = (0, _gltools.isWebGL2)(this.gl);
|
|
129
|
-
var parameterAvailable = (!('webgl2' in parameter) || isWebgl2) && (!('extension' in parameter) || this.gl.getExtension(parameter.extension));
|
|
130
|
-
|
|
131
|
-
if (!parameterAvailable) {
|
|
132
|
-
var webgl1Default = parameter.webgl1;
|
|
133
|
-
var webgl2Default = 'webgl2' in parameter ? parameter.webgl2 : parameter.webgl1;
|
|
134
|
-
var defaultValue = isWebgl2 ? webgl2Default : webgl1Default;
|
|
135
|
-
return defaultValue;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
return this._getParameter(pname, opts);
|
|
140
|
-
}
|
|
141
|
-
}, {
|
|
142
|
-
key: "getParameters",
|
|
143
|
-
value: function getParameters() {
|
|
144
|
-
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
145
|
-
var parameters = options.parameters,
|
|
146
|
-
keys = options.keys;
|
|
147
|
-
var PARAMETERS = this.constructor.PARAMETERS || {};
|
|
148
|
-
var isWebgl2 = (0, _gltools.isWebGL2)(this.gl);
|
|
149
|
-
var values = {};
|
|
150
|
-
var parameterKeys = parameters || Object.keys(PARAMETERS);
|
|
151
|
-
|
|
152
|
-
var _iterator = _createForOfIteratorHelper(parameterKeys),
|
|
153
|
-
_step;
|
|
154
|
-
|
|
155
|
-
try {
|
|
156
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
157
|
-
var pname = _step.value;
|
|
158
|
-
var parameter = PARAMETERS[pname];
|
|
159
|
-
var parameterAvailable = parameter && (!('webgl2' in parameter) || isWebgl2) && (!('extension' in parameter) || this.gl.getExtension(parameter.extension));
|
|
160
|
-
|
|
161
|
-
if (parameterAvailable) {
|
|
162
|
-
var key = keys ? (0, _constantsToKeys.getKey)(this.gl, pname) : pname;
|
|
163
|
-
values[key] = this.getParameter(pname, options);
|
|
164
|
-
|
|
165
|
-
if (keys && parameter.type === 'GLenum') {
|
|
166
|
-
values[key] = (0, _constantsToKeys.getKey)(this.gl, values[key]);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
} catch (err) {
|
|
171
|
-
_iterator.e(err);
|
|
172
|
-
} finally {
|
|
173
|
-
_iterator.f();
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
return values;
|
|
177
|
-
}
|
|
178
|
-
}, {
|
|
179
|
-
key: "setParameter",
|
|
180
|
-
value: function setParameter(pname, value) {
|
|
181
|
-
pname = (0, _constantsToKeys.getKeyValue)(this.gl, pname);
|
|
182
|
-
(0, _assert.assert)(pname);
|
|
183
|
-
var parameters = this.constructor.PARAMETERS || {};
|
|
184
|
-
var parameter = parameters[pname];
|
|
185
|
-
|
|
186
|
-
if (parameter) {
|
|
187
|
-
var isWebgl2 = (0, _gltools.isWebGL2)(this.gl);
|
|
188
|
-
var parameterAvailable = (!('webgl2' in parameter) || isWebgl2) && (!('extension' in parameter) || this.gl.getExtension(parameter.extension));
|
|
189
|
-
|
|
190
|
-
if (!parameterAvailable) {
|
|
191
|
-
throw new Error('Parameter not available on this platform');
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
if (parameter.type === 'GLenum') {
|
|
195
|
-
value = (0, _constantsToKeys.getKeyValue)(value);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
this._setParameter(pname, value);
|
|
200
|
-
|
|
201
|
-
return this;
|
|
202
|
-
}
|
|
203
|
-
}, {
|
|
204
|
-
key: "setParameters",
|
|
205
|
-
value: function setParameters(parameters) {
|
|
206
|
-
for (var pname in parameters) {
|
|
207
|
-
this.setParameter(pname, parameters[pname]);
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
return this;
|
|
211
|
-
}
|
|
212
|
-
}, {
|
|
213
|
-
key: "stubRemovedMethods",
|
|
214
|
-
value: function stubRemovedMethods(className, version, methodNames) {
|
|
215
|
-
return (0, _stubMethods.stubRemovedMethods)(this, className, version, methodNames);
|
|
216
|
-
}
|
|
217
|
-
}, {
|
|
218
|
-
key: "initialize",
|
|
219
|
-
value: function initialize(opts) {}
|
|
220
|
-
}, {
|
|
221
|
-
key: "_createHandle",
|
|
222
|
-
value: function _createHandle() {
|
|
223
|
-
throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);
|
|
224
|
-
}
|
|
225
|
-
}, {
|
|
226
|
-
key: "_deleteHandle",
|
|
227
|
-
value: function _deleteHandle() {
|
|
228
|
-
throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);
|
|
229
|
-
}
|
|
230
|
-
}, {
|
|
231
|
-
key: "_bindHandle",
|
|
232
|
-
value: function _bindHandle(handle) {
|
|
233
|
-
throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);
|
|
234
|
-
}
|
|
235
|
-
}, {
|
|
236
|
-
key: "_getOptsFromHandle",
|
|
237
|
-
value: function _getOptsFromHandle() {
|
|
238
|
-
throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);
|
|
239
|
-
}
|
|
240
|
-
}, {
|
|
241
|
-
key: "_getParameter",
|
|
242
|
-
value: function _getParameter(pname, opts) {
|
|
243
|
-
throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);
|
|
244
|
-
}
|
|
245
|
-
}, {
|
|
246
|
-
key: "_setParameter",
|
|
247
|
-
value: function _setParameter(pname, value) {
|
|
248
|
-
throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);
|
|
249
|
-
}
|
|
250
|
-
}, {
|
|
251
|
-
key: "_context",
|
|
252
|
-
value: function _context() {
|
|
253
|
-
this.gl.luma = this.gl.luma || {};
|
|
254
|
-
return this.gl.luma;
|
|
255
|
-
}
|
|
256
|
-
}, {
|
|
257
|
-
key: "_addStats",
|
|
258
|
-
value: function _addStats() {
|
|
259
|
-
var name = this.constructor.name;
|
|
260
|
-
|
|
261
|
-
var stats = _init.lumaStats.get('Resource Counts');
|
|
262
|
-
|
|
263
|
-
stats.get('Resources Created').incrementCount();
|
|
264
|
-
stats.get("".concat(name, "s Created")).incrementCount();
|
|
265
|
-
stats.get("".concat(name, "s Active")).incrementCount();
|
|
266
|
-
}
|
|
267
|
-
}, {
|
|
268
|
-
key: "_removeStats",
|
|
269
|
-
value: function _removeStats() {
|
|
270
|
-
var name = this.constructor.name;
|
|
271
|
-
|
|
272
|
-
var stats = _init.lumaStats.get('Resource Counts');
|
|
273
|
-
|
|
274
|
-
stats.get("".concat(name, "s Active")).decrementCount();
|
|
275
|
-
}
|
|
276
|
-
}, {
|
|
277
|
-
key: "_trackAllocatedMemory",
|
|
278
|
-
value: function _trackAllocatedMemory(bytes) {
|
|
279
|
-
var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.constructor.name;
|
|
280
|
-
|
|
281
|
-
var stats = _init.lumaStats.get('Memory Usage');
|
|
282
|
-
|
|
283
|
-
stats.get('GPU Memory').addCount(bytes);
|
|
284
|
-
stats.get("".concat(name, " Memory")).addCount(bytes);
|
|
285
|
-
this.byteLength = bytes;
|
|
286
|
-
}
|
|
287
|
-
}, {
|
|
288
|
-
key: "_trackDeallocatedMemory",
|
|
289
|
-
value: function _trackDeallocatedMemory() {
|
|
290
|
-
var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.constructor.name;
|
|
291
|
-
|
|
292
|
-
var stats = _init.lumaStats.get('Memory Usage');
|
|
293
|
-
|
|
294
|
-
stats.get('GPU Memory').subtractCount(this.byteLength);
|
|
295
|
-
stats.get("".concat(name, " Memory")).subtractCount(this.byteLength);
|
|
296
|
-
this.byteLength = 0;
|
|
297
|
-
}
|
|
298
|
-
}, {
|
|
299
|
-
key: "handle",
|
|
300
|
-
get: function get() {
|
|
301
|
-
return this._handle;
|
|
302
|
-
}
|
|
303
|
-
}]);
|
|
304
|
-
return Resource;
|
|
305
|
-
}();
|
|
306
|
-
|
|
307
|
-
exports.default = Resource;
|
|
308
|
-
//# sourceMappingURL=resource.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/classes/resource.js"],"names":["ERR_RESOURCE_METHOD_UNDEFINED","Resource","gl","opts","id","userData","gl2","constructor","name","_bound","_handle","handle","undefined","_createHandle","byteLength","_addStats","deleteChildren","children","_deleteHandle","_removeStats","filter","Boolean","forEach","child","delete","funcOrHandle","_bindHandle","value","bind","pname","parameters","PARAMETERS","parameter","isWebgl2","parameterAvailable","getExtension","extension","webgl1Default","webgl1","webgl2Default","webgl2","defaultValue","_getParameter","options","keys","values","parameterKeys","Object","key","getParameter","type","Error","_setParameter","setParameter","className","version","methodNames","luma","stats","lumaStats","get","incrementCount","decrementCount","bytes","addCount","subtractCount"],"mappings":"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","sourcesContent":["import {isWebGL2, assertWebGLContext} from '@luma.gl/gltools';\nimport {lumaStats} from '../init';\nimport {getKey, getKeyValue} from '../webgl-utils/constants-to-keys';\nimport {assert} from '../utils/assert';\nimport {uid} from '../utils/utils';\nimport {stubRemovedMethods} from '../utils/stub-methods';\n\nconst ERR_RESOURCE_METHOD_UNDEFINED = 'Resource subclass must define virtual methods';\n\n// TODO - Handle context loss\n// function glGetContextLossCount(gl) {\n// return (gl.luma && gl.luma.glCount) || 0;\n// }\n\nexport default class Resource {\n constructor(gl, opts = {}) {\n assertWebGLContext(gl);\n\n const {id, userData = {}} = opts;\n this.gl = gl;\n // @ts-ignore\n this.gl2 = gl;\n // this.ext = polyfillContext(gl);\n this.id = id || uid(this.constructor.name);\n this.userData = userData;\n this._bound = false;\n\n // Set the handle\n // If handle was provided, use it, otherwise create a new handle\n\n // TODO - Stores the handle with context loss information\n // this.glCount = glGetContextLossCount(this.gl);\n\n // Default VertexArray needs to be created with null handle, so compare against undefined\n this._handle = opts.handle;\n if (this._handle === undefined) {\n this._handle = this._createHandle();\n }\n\n // Only meaningful for resources that allocate GPU memory\n this.byteLength = 0;\n\n this._addStats();\n }\n\n toString() {\n return `${this.constructor.name}(${this.id})`;\n }\n\n get handle() {\n // TODO - Add context loss handling\n // Will regenerate and reinitialize the handle if necessary\n // const glCount = glGetContextLossCount(this.gl);\n // if (this.glCount !== glCount) {\n // this._handle = this._createHandle(this.opts);\n // this._glCount = glCount;\n // // Reinitialize object\n // this.initialize(this.opts);\n // }\n return this._handle;\n }\n\n delete({deleteChildren = false} = {}) {\n // Delete this object, and get refs to any children\n // @ts-ignore\n const children = this._handle && this._deleteHandle(this._handle);\n if (this._handle) {\n this._removeStats();\n }\n this._handle = null;\n\n // Optionally, recursively delete the children\n // @ts-ignore\n if (children && deleteChildren) {\n // @ts-ignore\n children.filter(Boolean).forEach(child => child.delete());\n }\n\n return this;\n }\n\n bind(funcOrHandle = this.handle) {\n if (typeof funcOrHandle !== 'function') {\n this._bindHandle(funcOrHandle);\n return this;\n }\n\n let value;\n\n if (!this._bound) {\n this._bindHandle(this.handle);\n this._bound = true;\n\n value = funcOrHandle();\n\n this._bound = false;\n this._bindHandle(null);\n } else {\n value = funcOrHandle();\n }\n\n return value;\n }\n\n unbind() {\n this.bind(null);\n }\n\n /**\n * Query a Resource parameter\n *\n * @param {GLenum} pname\n * @return {GLint|GLfloat|GLenum} param\n */\n getParameter(pname, opts = {}) {\n pname = getKeyValue(this.gl, pname);\n assert(pname);\n\n // @ts-ignore\n const parameters = this.constructor.PARAMETERS || {};\n\n // Use parameter definitions to handle unsupported parameters\n const parameter = parameters[pname];\n if (parameter) {\n const isWebgl2 = isWebGL2(this.gl);\n\n // Check if we can query for this parameter\n const parameterAvailable =\n (!('webgl2' in parameter) || isWebgl2) &&\n (!('extension' in parameter) || this.gl.getExtension(parameter.extension));\n\n if (!parameterAvailable) {\n const webgl1Default = parameter.webgl1;\n const webgl2Default = 'webgl2' in parameter ? parameter.webgl2 : parameter.webgl1;\n const defaultValue = isWebgl2 ? webgl2Default : webgl1Default;\n return defaultValue;\n }\n }\n\n // If unknown parameter - Could be a valid parameter not covered by PARAMS\n // Attempt to query for it and let WebGL report errors\n return this._getParameter(pname, opts);\n }\n\n // Many resources support a getParameter call -\n // getParameters will get all parameters - slow but useful for debugging\n // eslint-disable-next-line complexity\n getParameters(options = {}) {\n const {parameters, keys} = options;\n\n // Get parameter definitions for this Resource\n // @ts-ignore\n const PARAMETERS = this.constructor.PARAMETERS || {};\n\n const isWebgl2 = isWebGL2(this.gl);\n\n const values = {};\n\n // Query all parameters if no list provided\n const parameterKeys = parameters || Object.keys(PARAMETERS);\n\n // WEBGL limits\n for (const pname of parameterKeys) {\n const parameter = PARAMETERS[pname];\n\n // Check if this parameter is available on this platform\n const parameterAvailable =\n parameter &&\n (!('webgl2' in parameter) || isWebgl2) &&\n (!('extension' in parameter) || this.gl.getExtension(parameter.extension));\n\n if (parameterAvailable) {\n const key = keys ? getKey(this.gl, pname) : pname;\n values[key] = this.getParameter(pname, options);\n if (keys && parameter.type === 'GLenum') {\n values[key] = getKey(this.gl, values[key]);\n }\n }\n }\n\n return values;\n }\n\n /**\n * Update a Resource setting\n *\n * @todo - cache parameter to avoid issuing WebGL calls?\n *\n * @param {string} pname - parameter (GL constant, value or key)\n * @param {GLint|GLfloat|GLenum} value\n * @return {Resource} returns self to enable chaining\n */\n setParameter(pname, value) {\n pname = getKeyValue(this.gl, pname);\n assert(pname);\n\n // @ts-ignore\n const parameters = this.constructor.PARAMETERS || {};\n\n const parameter = parameters[pname];\n if (parameter) {\n const isWebgl2 = isWebGL2(this.gl);\n\n // Check if this parameter is available on this platform\n const parameterAvailable =\n (!('webgl2' in parameter) || isWebgl2) &&\n (!('extension' in parameter) || this.gl.getExtension(parameter.extension));\n\n if (!parameterAvailable) {\n throw new Error('Parameter not available on this platform');\n }\n\n // Handle string keys\n if (parameter.type === 'GLenum') {\n value = getKeyValue(value);\n }\n }\n\n // If unknown parameter - Could be a valid parameter not covered by PARAMS\n // attempt to set it and let WebGL report errors\n this._setParameter(pname, value);\n return this;\n }\n\n /*\n * Batch update resource parameters\n * Assumes the subclass supports a setParameter call\n */\n setParameters(parameters) {\n for (const pname in parameters) {\n this.setParameter(pname, parameters[pname]);\n }\n return this;\n }\n\n // Install stubs for removed methods\n stubRemovedMethods(className, version, methodNames) {\n return stubRemovedMethods(this, className, version, methodNames);\n }\n\n // PUBLIC VIRTUAL METHODS\n initialize(opts) {}\n\n // PROTECTED METHODS - These must be overridden by subclass\n _createHandle() {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n _deleteHandle() {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n _bindHandle(handle) {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n _getOptsFromHandle() {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n /** @returns {number} */\n _getParameter(pname, opts) {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n _setParameter(pname, value) {\n throw new Error(ERR_RESOURCE_METHOD_UNDEFINED);\n }\n\n // PRIVATE METHODS\n\n _context() {\n this.gl.luma = this.gl.luma || {};\n return this.gl.luma;\n }\n\n _addStats() {\n const name = this.constructor.name;\n const stats = lumaStats.get('Resource Counts');\n\n stats.get('Resources Created').incrementCount();\n stats.get(`${name}s Created`).incrementCount();\n stats.get(`${name}s Active`).incrementCount();\n }\n\n _removeStats() {\n const name = this.constructor.name;\n const stats = lumaStats.get('Resource Counts');\n\n stats.get(`${name}s Active`).decrementCount();\n }\n\n _trackAllocatedMemory(bytes, name = this.constructor.name) {\n const stats = lumaStats.get('Memory Usage');\n\n stats.get('GPU Memory').addCount(bytes);\n stats.get(`${name} Memory`).addCount(bytes);\n this.byteLength = bytes;\n }\n\n _trackDeallocatedMemory(name = this.constructor.name) {\n const stats = lumaStats.get('Memory Usage');\n\n stats.get('GPU Memory').subtractCount(this.byteLength);\n stats.get(`${name} Memory`).subtractCount(this.byteLength);\n this.byteLength = 0;\n }\n}\n"],"file":"resource.js"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import Resource, {ResourceProps} from './resource';
|
|
2
|
-
|
|
3
|
-
export type ShaderProps = ResourceProps & {
|
|
4
|
-
source: string;
|
|
5
|
-
shaderType?: string;
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Encapsulates the compiled or linked Shaders that execute portions of the WebGL Pipeline
|
|
10
|
-
*/
|
|
11
|
-
export class Shader extends Resource {
|
|
12
|
-
static getTypeName(shaderType: any): 'vertex-shader' | 'fragment-shader' | 'unknown';
|
|
13
|
-
|
|
14
|
-
constructor(gl: WebGLRenderingContext, props: ShaderProps);
|
|
15
|
-
initialize(options: ShaderProps): this;
|
|
16
|
-
getParameter(pname: any): any;
|
|
17
|
-
toString(): string;
|
|
18
|
-
getName(): string;
|
|
19
|
-
getSource(): string;
|
|
20
|
-
getTranslatedSource(): string;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export class VertexShader extends Shader {
|
|
24
|
-
constructor(gl: WebGLRenderingContext, props: any);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export class FragmentShader extends Shader {
|
|
28
|
-
constructor(gl: WebGLRenderingContext, props: any);
|
|
29
|
-
}
|