@lightningjs/renderer 2.16.0 → 3.0.0-beta10
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/COPYING +1 -0
- package/LICENSE +202 -202
- package/NOTICE +3 -3
- package/README.md +133 -147
- package/dist/exports/canvas.d.ts +8 -2
- package/dist/exports/canvas.js +8 -2
- package/dist/exports/canvas.js.map +1 -1
- package/dist/exports/index.d.ts +16 -13
- package/dist/exports/index.js +8 -9
- package/dist/exports/index.js.map +1 -1
- package/dist/exports/utils.d.ts +2 -1
- package/dist/exports/utils.js +2 -1
- package/dist/exports/utils.js.map +1 -1
- package/dist/exports/webgl.d.ts +11 -2
- package/dist/exports/webgl.js +11 -2
- package/dist/exports/webgl.js.map +1 -1
- package/dist/src/core/CoreNode.d.ts +47 -76
- package/dist/src/core/CoreNode.js +322 -309
- package/dist/src/core/CoreNode.js.map +1 -1
- package/dist/src/core/CoreShaderManager.d.ts +29 -73
- package/dist/src/core/CoreShaderManager.js +110 -97
- package/dist/src/core/CoreShaderManager.js.map +1 -1
- package/dist/src/core/CoreTextNode.d.ts +58 -87
- package/dist/src/core/CoreTextNode.js +243 -237
- package/dist/src/core/CoreTextNode.js.map +1 -1
- package/dist/src/core/CoreTextureManager.d.ts +2 -0
- package/dist/src/core/CoreTextureManager.js +12 -10
- package/dist/src/core/CoreTextureManager.js.map +1 -1
- package/dist/src/core/Stage.d.ts +58 -53
- package/dist/src/core/Stage.js +260 -196
- package/dist/src/core/Stage.js.map +1 -1
- package/dist/src/core/TextureMemoryManager.d.ts +3 -0
- package/dist/src/core/TextureMemoryManager.js +78 -74
- package/dist/src/core/TextureMemoryManager.js.map +1 -1
- package/dist/src/core/animations/CoreAnimation.d.ts +0 -1
- package/dist/src/core/animations/CoreAnimation.js +6 -52
- package/dist/src/core/animations/CoreAnimation.js.map +1 -1
- package/dist/src/core/lib/ImageWorker.js +1 -1
- package/dist/src/core/lib/ImageWorker.js.map +1 -1
- package/dist/src/core/lib/RenderCoords.d.ts +9 -10
- package/dist/src/core/lib/RenderCoords.js +43 -55
- package/dist/src/core/lib/RenderCoords.js.map +1 -1
- package/dist/src/core/lib/WebGlContextWrapper.d.ts +117 -55
- package/dist/src/core/lib/WebGlContextWrapper.js +196 -157
- package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
- package/dist/src/core/lib/colorCache.d.ts +1 -0
- package/dist/src/core/lib/colorCache.js +19 -0
- package/dist/src/core/lib/colorCache.js.map +1 -0
- package/dist/src/core/lib/colorParser.d.ts +21 -0
- package/dist/src/core/lib/colorParser.js +72 -0
- package/dist/src/core/lib/colorParser.js.map +1 -0
- package/dist/src/core/lib/textureCompression.js +0 -1
- package/dist/src/core/lib/textureCompression.js.map +1 -1
- package/dist/src/core/lib/utils.d.ts +3 -1
- package/dist/src/core/lib/utils.js +19 -0
- package/dist/src/core/lib/utils.js.map +1 -1
- package/dist/src/core/lib/validateImageBitmap.d.ts +2 -1
- package/dist/src/core/lib/validateImageBitmap.js +4 -4
- package/dist/src/core/lib/validateImageBitmap.js.map +1 -1
- package/dist/src/core/platforms/web/WebPlatform.js +29 -3
- package/dist/src/core/platforms/web/WebPlatform.js.map +1 -1
- package/dist/src/core/renderers/CoreRenderer.d.ts +15 -22
- package/dist/src/core/renderers/CoreRenderer.js +0 -6
- package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +0 -2
- package/dist/src/core/renderers/canvas/CanvasRenderer.js +7 -21
- package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasShaderNode.js +2 -1
- package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasTexture.d.ts +2 -2
- package/dist/src/core/renderers/canvas/CanvasTexture.js +8 -7
- package/dist/src/core/renderers/canvas/CanvasTexture.js.map +1 -1
- package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +0 -13
- package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +192 -113
- package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +1 -1
- package/dist/src/core/renderers/canvas/internal/ColorUtils.d.ts +2 -0
- package/dist/src/core/renderers/canvas/internal/ColorUtils.js +14 -0
- package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +3 -0
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.d.ts +5 -6
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +30 -18
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.d.ts +4 -2
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +31 -13
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +1 -1
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.d.ts +32 -5
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +50 -0
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.js.map +1 -1
- package/dist/src/core/shaders/canvas/Border.js +1 -1
- package/dist/src/core/shaders/canvas/Border.js.map +1 -1
- package/dist/src/core/shaders/webgl/Border.js +82 -82
- package/dist/src/core/shaders/webgl/Default.js +47 -47
- package/dist/src/core/shaders/webgl/DefaultBatched.js +61 -61
- package/dist/src/core/shaders/webgl/HolePunch.js +32 -32
- package/dist/src/core/shaders/webgl/LinearGradient.js +36 -36
- package/dist/src/core/shaders/webgl/RadialGradient.js +33 -33
- package/dist/src/core/shaders/webgl/Rounded.js +71 -71
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js +111 -111
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +130 -130
- package/dist/src/core/shaders/webgl/RoundedWithShadow.js +54 -54
- package/dist/src/core/shaders/webgl/SdfShader.js +62 -62
- package/dist/src/core/shaders/webgl/Shadow.js +83 -83
- package/dist/src/core/text-rendering/CanvasFontHandler.d.ts +4 -4
- package/dist/src/core/text-rendering/CanvasFontHandler.js +19 -6
- package/dist/src/core/text-rendering/CanvasFontHandler.js.map +1 -1
- package/dist/src/core/text-rendering/CanvasTextRenderer.d.ts +18 -2
- package/dist/src/core/text-rendering/CanvasTextRenderer.js +296 -69
- package/dist/src/core/text-rendering/CanvasTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/SdfFontHandler.d.ts +4 -4
- package/dist/src/core/text-rendering/SdfFontHandler.js +6 -6
- package/dist/src/core/text-rendering/SdfFontHandler.js.map +1 -1
- package/dist/src/core/text-rendering/SdfTextRenderer.d.ts +4 -8
- package/dist/src/core/text-rendering/SdfTextRenderer.js +68 -37
- package/dist/src/core/text-rendering/SdfTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/TextRenderer.d.ts +37 -113
- package/dist/src/core/text-rendering/TextRenderer.js +1 -51
- package/dist/src/core/text-rendering/TextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +1 -1
- package/dist/src/core/text-rendering/canvas/Settings.d.ts +14 -3
- package/dist/src/core/text-rendering/canvas/Utils.d.ts +3 -2
- package/dist/src/core/text-rendering/canvas/Utils.js +9 -4
- package/dist/src/core/text-rendering/canvas/Utils.js.map +1 -1
- package/dist/src/core/text-rendering/canvas/calculateRenderInfo.d.ts +32 -9
- package/dist/src/core/text-rendering/canvas/calculateRenderInfo.js +52 -57
- package/dist/src/core/text-rendering/canvas/calculateRenderInfo.js.map +1 -1
- package/dist/src/core/text-rendering/canvas/draw.d.ts +3 -10
- package/dist/src/core/text-rendering/canvas/draw.js +26 -27
- package/dist/src/core/text-rendering/canvas/draw.js.map +1 -1
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +2 -2
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +5 -0
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +7 -1
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +50 -2
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +2 -3
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +42 -83
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.d.ts +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +66 -8
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +14 -4
- package/dist/src/core/text-rendering/renderers/TextRenderer.js +3 -0
- package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/sdf/Utils.d.ts +26 -0
- package/dist/src/core/text-rendering/sdf/Utils.js +304 -0
- package/dist/src/core/text-rendering/sdf/Utils.js.map +1 -0
- package/dist/src/core/text-rendering/sdf/index.d.ts +1 -0
- package/{src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts → dist/src/core/text-rendering/sdf/index.js} +3 -21
- package/dist/src/core/text-rendering/sdf/index.js.map +1 -0
- package/dist/src/core/textures/ImageTexture.d.ts +1 -0
- package/dist/src/core/textures/ImageTexture.js +11 -4
- package/dist/src/core/textures/ImageTexture.js.map +1 -1
- package/dist/src/core/textures/Texture.d.ts +6 -1
- package/dist/src/core/textures/Texture.js.map +1 -1
- package/dist/src/main-api/INode.d.ts +9 -9
- package/dist/src/main-api/Inspector.d.ts +6 -1
- package/dist/src/main-api/Inspector.js +43 -7
- package/dist/src/main-api/Inspector.js.map +1 -1
- package/dist/src/main-api/Renderer.d.ts +83 -136
- package/dist/src/main-api/Renderer.js +139 -91
- package/dist/src/main-api/Renderer.js.map +1 -1
- package/dist/src/utils.d.ts +5 -4
- package/dist/src/utils.js +20 -9
- package/dist/src/utils.js.map +1 -1
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/exports/canvas-shaders.ts +28 -0
- package/exports/canvas.ts +45 -39
- package/exports/index.ts +82 -89
- package/exports/inspector.ts +24 -24
- package/exports/utils.ts +50 -44
- package/exports/webgl-shaders.ts +28 -0
- package/exports/webgl.ts +52 -38
- package/package.json +4 -4
- package/src/common/CommonTypes.ts +146 -146
- package/src/common/EventEmitter.ts +77 -77
- package/src/common/IAnimationController.ts +92 -92
- package/src/common/IEventEmitter.ts +28 -28
- package/src/core/CoreNode.test.ts +202 -202
- package/src/core/CoreNode.ts +2491 -2487
- package/src/core/CoreShaderManager.ts +188 -292
- package/src/core/CoreTextNode.ts +443 -455
- package/src/core/CoreTextureManager.ts +565 -561
- package/src/core/Stage.ts +906 -826
- package/src/core/TextureMemoryManager.ts +445 -431
- package/src/core/animations/AnimationManager.ts +38 -38
- package/src/core/animations/CoreAnimation.ts +291 -347
- package/src/core/animations/CoreAnimationController.ts +166 -166
- package/src/core/lib/ContextSpy.ts +41 -41
- package/src/core/lib/ImageWorker.ts +286 -280
- package/src/core/lib/Matrix3d.ts +244 -244
- package/src/core/lib/RenderCoords.ts +71 -86
- package/src/core/lib/WebGlContextWrapper.ts +1381 -1332
- package/src/core/lib/colorCache.ts +20 -0
- package/src/core/{renderers/canvas/internal/ColorUtils.ts → lib/colorParser.ts} +85 -69
- package/src/core/lib/textureCompression.ts +152 -152
- package/src/core/lib/textureSvg.ts +78 -78
- package/src/core/lib/utils.ts +412 -388
- package/src/core/lib/validateImageBitmap.ts +87 -76
- package/src/core/platforms/Platform.ts +77 -0
- package/src/core/platforms/web/WebPlatform.ts +121 -0
- package/src/core/renderers/CoreContextTexture.ts +43 -43
- package/src/core/renderers/CoreRenderOp.ts +22 -22
- package/src/core/renderers/CoreRenderer.ts +110 -115
- package/src/core/renderers/CoreShaderNode.ts +175 -0
- package/{dist/src/core/renderers/CoreShader.js → src/core/renderers/CoreShaderProgram.ts} +23 -28
- package/src/core/renderers/canvas/CanvasRenderer.ts +283 -0
- package/src/core/renderers/canvas/CanvasShaderNode.ts +96 -0
- package/src/core/renderers/canvas/{CanvasCoreTexture.ts → CanvasTexture.ts} +156 -153
- package/src/core/renderers/webgl/{WebGlCoreCtxRenderTexture.ts → WebGlCtxRenderTexture.ts} +91 -91
- package/src/core/renderers/webgl/{WebGlCoreCtxSubTexture.ts → WebGlCtxSubTexture.ts} +50 -50
- package/src/core/renderers/webgl/{WebGlCoreCtxTexture.ts → WebGlCtxTexture.ts} +310 -313
- package/src/core/renderers/webgl/WebGlRenderOp.ts +167 -0
- package/src/core/renderers/webgl/{WebGlCoreRenderer.ts → WebGlRenderer.ts} +747 -821
- package/src/core/renderers/webgl/WebGlShaderNode.ts +435 -0
- package/src/core/renderers/webgl/WebGlShaderProgram.ts +341 -0
- package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -54
- package/src/core/renderers/webgl/internal/RendererUtils.ts +155 -155
- package/src/core/renderers/webgl/internal/ShaderUtils.ts +281 -143
- package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -35
- package/src/core/shaders/canvas/Border.ts +75 -0
- package/src/core/shaders/canvas/HolePunch.ts +62 -0
- package/src/core/shaders/canvas/LinearGradient.ts +71 -0
- package/src/core/shaders/canvas/RadialGradient.ts +99 -0
- package/src/core/shaders/canvas/Rounded.ts +55 -0
- package/src/core/shaders/canvas/RoundedWithBorder.ts +74 -0
- package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +90 -0
- package/src/core/shaders/canvas/RoundedWithShadow.ts +70 -0
- package/src/core/shaders/canvas/Shadow.ts +52 -0
- package/src/core/shaders/canvas/utils/render.ts +151 -0
- package/src/core/shaders/templates/BorderTemplate.ts +115 -0
- package/src/core/shaders/templates/HolePunchTemplate.ts +82 -0
- package/src/core/shaders/templates/LinearGradientTemplate.ts +71 -0
- package/src/core/shaders/templates/RadialGradientTemplate.ts +81 -0
- package/src/core/shaders/templates/RoundedTemplate.ts +98 -0
- package/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.ts +38 -0
- package/{dist/src/core/shaders/templates/shaderUtils.js → src/core/shaders/templates/RoundedWithBorderTemplate.ts} +35 -41
- package/src/core/shaders/templates/RoundedWithShadowTemplate.ts +35 -0
- package/src/core/shaders/templates/ShadowTemplate.ts +106 -0
- package/src/core/shaders/utils.ts +46 -0
- package/src/core/shaders/webgl/Border.ts +116 -0
- package/src/core/shaders/webgl/Default.ts +89 -0
- package/src/core/shaders/webgl/DefaultBatched.ts +129 -0
- package/src/core/shaders/webgl/HolePunch.ts +75 -0
- package/src/core/shaders/webgl/LinearGradient.ts +82 -0
- package/src/core/shaders/webgl/RadialGradient.ts +85 -0
- package/src/core/shaders/webgl/Rounded.ts +117 -0
- package/src/core/shaders/webgl/RoundedWithBorder.ts +155 -0
- package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +175 -0
- package/src/core/shaders/webgl/RoundedWithShadow.ts +98 -0
- package/src/core/shaders/webgl/SdfShader.ts +134 -0
- package/src/core/shaders/webgl/Shadow.ts +115 -0
- package/src/core/text-rendering/CanvasFontHandler.ts +176 -0
- package/src/core/text-rendering/CanvasTextRenderer.ts +622 -0
- package/src/core/text-rendering/SdfFontHandler.ts +517 -0
- package/src/core/text-rendering/SdfTextRenderer.ts +466 -0
- package/src/core/text-rendering/TextRenderer.ts +404 -0
- package/src/core/text-rendering/{TextTextureRendererUtils.ts → Utils.ts} +257 -263
- package/src/core/text-rendering/canvas/Settings.ts +99 -0
- package/src/core/text-rendering/canvas/Utils.test.ts +206 -0
- package/src/core/text-rendering/canvas/Utils.ts +178 -0
- package/src/core/text-rendering/canvas/calculateRenderInfo.ts +299 -0
- package/src/core/text-rendering/canvas/draw.ts +165 -0
- package/src/core/text-rendering/sdf/Utils.test.ts +402 -0
- package/src/core/text-rendering/sdf/Utils.ts +436 -0
- package/src/core/text-rendering/{renderers/SdfTextRenderer/internal/constants.ts → sdf/index.ts} +20 -32
- package/src/core/textures/ColorTexture.ts +102 -102
- package/src/core/textures/ImageTexture.ts +418 -400
- package/src/core/textures/NoiseTexture.ts +104 -104
- package/src/core/textures/RenderTexture.ts +85 -85
- package/src/core/textures/SubTexture.ts +205 -205
- package/src/core/textures/Texture.ts +381 -376
- package/src/core/utils.ts +227 -227
- package/src/env.d.ts +7 -7
- package/src/main-api/INode.ts +100 -101
- package/src/main-api/Inspector.ts +567 -522
- package/src/main-api/Renderer.ts +873 -807
- package/src/main-api/utils.ts +45 -45
- package/src/utils.ts +267 -248
- package/dist/src/core/platform.d.ts +0 -10
- package/dist/src/core/platform.js +0 -81
- package/dist/src/core/platform.js.map +0 -1
- package/dist/src/core/renderers/CoreShader.d.ts +0 -9
- package/dist/src/core/renderers/CoreShader.js.map +0 -1
- package/dist/src/core/renderers/canvas/CanvasCoreRenderer.d.ts +0 -33
- package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +0 -250
- package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +0 -1
- package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +0 -16
- package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +0 -124
- package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +0 -1
- package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.d.ts +0 -10
- package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js +0 -43
- package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.d.ts +0 -12
- package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js +0 -58
- package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.d.ts +0 -9
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js +0 -38
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +0 -56
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +0 -239
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.d.ts +0 -34
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +0 -114
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +0 -133
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +0 -616
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +0 -83
- package/dist/src/core/renderers/webgl/WebGlCoreShader.js +0 -233
- package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.d.ts +0 -9
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +0 -87
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.d.ts +0 -10
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +0 -119
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +0 -29
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +0 -413
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.d.ts +0 -28
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +0 -131
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/SdfShader.d.ts +0 -47
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js +0 -160
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.d.ts +0 -31
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +0 -71
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.d.ts +0 -30
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +0 -58
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.d.ts +0 -31
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +0 -71
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.d.ts +0 -31
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +0 -71
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.d.ts +0 -31
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +0 -71
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.d.ts +0 -9
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js +0 -136
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.d.ts +0 -36
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +0 -85
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.d.ts +0 -45
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +0 -104
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.d.ts +0 -22
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +0 -45
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.d.ts +0 -58
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +0 -80
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.d.ts +0 -35
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +0 -129
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.d.ts +0 -39
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +0 -116
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.d.ts +0 -61
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +0 -127
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.d.ts +0 -40
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +0 -71
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.d.ts +0 -115
- package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js +0 -61
- package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js.map +0 -1
- package/dist/src/core/shaders/templates/shaderUtils.d.ts +0 -5
- package/dist/src/core/shaders/templates/shaderUtils.js.map +0 -1
- package/dist/src/core/shaders/webgl/Spinner.d.ts +0 -1
- package/dist/src/core/shaders/webgl/Spinner.js +0 -2
- package/dist/src/core/shaders/webgl/Spinner.js.map +0 -1
- package/dist/src/core/text-rendering/sdf/PeekableGenerator.d.ts +0 -12
- package/dist/src/core/text-rendering/sdf/PeekableGenerator.js +0 -61
- package/dist/src/core/text-rendering/sdf/PeekableGenerator.js.map +0 -1
- package/dist/src/core/text-rendering/sdf/SimpleFontShaper.d.ts +0 -45
- package/dist/src/core/text-rendering/sdf/SimpleFontShaper.js +0 -69
- package/dist/src/core/text-rendering/sdf/SimpleFontShaper.js.map +0 -1
- package/dist/src/main-api/DynamicShaderController.d.ts +0 -29
- package/dist/src/main-api/DynamicShaderController.js +0 -58
- package/dist/src/main-api/DynamicShaderController.js.map +0 -1
- package/dist/src/main-api/ShaderController.d.ts +0 -31
- package/dist/src/main-api/ShaderController.js +0 -37
- package/dist/src/main-api/ShaderController.js.map +0 -1
- package/scripts/please-use-pnpm.js +0 -13
- package/src/core/platform.ts +0 -100
- package/src/core/renderers/CoreShader.ts +0 -41
- package/src/core/renderers/canvas/CanvasCoreRenderer.ts +0 -375
- package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +0 -231
- package/src/core/renderers/canvas/shaders/UnsupportedShader.ts +0 -48
- package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +0 -125
- package/src/core/renderers/webgl/WebGlCoreShader.ts +0 -365
- package/src/core/renderers/webgl/shaders/DefaultShader.ts +0 -93
- package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +0 -132
- package/src/core/renderers/webgl/shaders/DynamicShader.ts +0 -580
- package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +0 -167
- package/src/core/renderers/webgl/shaders/SdfShader.ts +0 -204
- package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +0 -101
- package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +0 -87
- package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +0 -101
- package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +0 -101
- package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +0 -101
- package/src/core/renderers/webgl/shaders/effects/EffectUtils.ts +0 -159
- package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +0 -127
- package/src/core/renderers/webgl/shaders/effects/GlitchEffect.ts +0 -148
- package/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.ts +0 -67
- package/src/core/renderers/webgl/shaders/effects/HolePunchEffect.ts +0 -157
- package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +0 -171
- package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +0 -168
- package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +0 -187
- package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +0 -110
- package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +0 -196
- package/src/core/text-rendering/TextRenderingUtils.ts +0 -36
- package/src/core/text-rendering/TrFontManager.ts +0 -183
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +0 -176
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +0 -139
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +0 -173
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +0 -171
- package/src/core/text-rendering/font-face-types/TrFontFace.ts +0 -187
- package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +0 -94
- package/src/core/text-rendering/font-face-types/utils.ts +0 -39
- package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +0 -509
- package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +0 -808
- package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +0 -853
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +0 -48
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +0 -66
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +0 -52
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +0 -117
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +0 -133
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +0 -408
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +0 -49
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +0 -52
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +0 -205
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +0 -93
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +0 -40
- package/src/core/text-rendering/renderers/TextRenderer.ts +0 -557
- package/src/main-api/DynamicShaderController.ts +0 -104
- package/src/main-api/ShaderController.ts +0 -80
|
@@ -41,6 +41,7 @@ export class WebGlContextWrapper {
|
|
|
41
41
|
boundArrayBuffer;
|
|
42
42
|
boundElementArrayBuffer;
|
|
43
43
|
curProgram;
|
|
44
|
+
curUniformLocations = {};
|
|
44
45
|
//#endregion Cached WebGL State
|
|
45
46
|
//#region Canvas
|
|
46
47
|
canvas;
|
|
@@ -176,9 +177,8 @@ export class WebGlContextWrapper {
|
|
|
176
177
|
* @param textureUnit
|
|
177
178
|
*/
|
|
178
179
|
activeTexture(textureUnit) {
|
|
179
|
-
const { gl } = this;
|
|
180
180
|
if (this.activeTextureUnit !== textureUnit) {
|
|
181
|
-
gl.activeTexture(textureUnit + gl.TEXTURE0);
|
|
181
|
+
this.gl.activeTexture(textureUnit + this.gl.TEXTURE0);
|
|
182
182
|
this.activeTextureUnit = textureUnit;
|
|
183
183
|
}
|
|
184
184
|
}
|
|
@@ -192,16 +192,14 @@ export class WebGlContextWrapper {
|
|
|
192
192
|
* @param texture
|
|
193
193
|
*/
|
|
194
194
|
bindTexture(texture) {
|
|
195
|
-
|
|
196
|
-
if (texture2dUnits[activeTextureUnit] === texture) {
|
|
195
|
+
if (this.texture2dUnits[this.activeTextureUnit] === texture) {
|
|
197
196
|
return;
|
|
198
197
|
}
|
|
199
|
-
texture2dUnits[activeTextureUnit] = texture;
|
|
200
|
-
gl.bindTexture(this.gl.TEXTURE_2D, texture);
|
|
198
|
+
this.texture2dUnits[this.activeTextureUnit] = texture;
|
|
199
|
+
this.gl.bindTexture(this.gl.TEXTURE_2D, texture);
|
|
201
200
|
}
|
|
202
201
|
_getActiveTexture() {
|
|
203
|
-
|
|
204
|
-
return texture2dUnits[activeTextureUnit];
|
|
202
|
+
return this.texture2dUnits[this.activeTextureUnit];
|
|
205
203
|
}
|
|
206
204
|
/**
|
|
207
205
|
* ```
|
|
@@ -215,29 +213,27 @@ export class WebGlContextWrapper {
|
|
|
215
213
|
* @returns
|
|
216
214
|
*/
|
|
217
215
|
texParameteri(pname, param) {
|
|
218
|
-
const { gl, texture2dParams } = this;
|
|
219
216
|
const activeTexture = this._getActiveTexture();
|
|
220
217
|
if (!activeTexture) {
|
|
221
218
|
throw new Error('No active texture');
|
|
222
219
|
}
|
|
223
|
-
let textureParams = texture2dParams.get(activeTexture);
|
|
220
|
+
let textureParams = this.texture2dParams.get(activeTexture);
|
|
224
221
|
if (!textureParams) {
|
|
225
222
|
textureParams = {};
|
|
226
|
-
texture2dParams.set(activeTexture, textureParams);
|
|
223
|
+
this.texture2dParams.set(activeTexture, textureParams);
|
|
227
224
|
}
|
|
228
225
|
if (textureParams[pname] === param) {
|
|
229
226
|
return;
|
|
230
227
|
}
|
|
231
228
|
textureParams[pname] = param;
|
|
232
|
-
gl.texParameteri(gl.TEXTURE_2D, pname, param);
|
|
229
|
+
this.gl.texParameteri(this.gl.TEXTURE_2D, pname, param);
|
|
233
230
|
}
|
|
234
231
|
texImage2D(level, internalFormat, widthOrFormat, heightOrType, borderOrSource, format, type, pixels) {
|
|
235
|
-
const { gl } = this;
|
|
236
232
|
if (format) {
|
|
237
|
-
gl.texImage2D(gl.TEXTURE_2D, level, internalFormat, widthOrFormat, heightOrType, borderOrSource, format, type, pixels);
|
|
233
|
+
this.gl.texImage2D(this.gl.TEXTURE_2D, level, internalFormat, widthOrFormat, heightOrType, borderOrSource, format, type, pixels);
|
|
238
234
|
}
|
|
239
235
|
else {
|
|
240
|
-
gl.texImage2D(gl.TEXTURE_2D, level, internalFormat, widthOrFormat, heightOrType, borderOrSource);
|
|
236
|
+
this.gl.texImage2D(this.gl.TEXTURE_2D, level, internalFormat, widthOrFormat, heightOrType, borderOrSource);
|
|
241
237
|
}
|
|
242
238
|
}
|
|
243
239
|
/**
|
|
@@ -249,8 +245,7 @@ export class WebGlContextWrapper {
|
|
|
249
245
|
* **WebGL Difference**: Bind target is always `gl.TEXTURE_2D`
|
|
250
246
|
*/
|
|
251
247
|
compressedTexImage2D(level, internalformat, width, height, border, data) {
|
|
252
|
-
|
|
253
|
-
gl.compressedTexImage2D(gl.TEXTURE_2D, level, internalformat, width, height, border, data);
|
|
248
|
+
this.gl.compressedTexImage2D(this.gl.TEXTURE_2D, level, internalformat, width, height, border, data);
|
|
254
249
|
}
|
|
255
250
|
/**
|
|
256
251
|
* ```
|
|
@@ -261,8 +256,7 @@ export class WebGlContextWrapper {
|
|
|
261
256
|
* @param param
|
|
262
257
|
*/
|
|
263
258
|
pixelStorei(pname, param) {
|
|
264
|
-
|
|
265
|
-
gl.pixelStorei(pname, param);
|
|
259
|
+
this.gl.pixelStorei(pname, param);
|
|
266
260
|
}
|
|
267
261
|
/**
|
|
268
262
|
* ```
|
|
@@ -273,8 +267,7 @@ export class WebGlContextWrapper {
|
|
|
273
267
|
* **WebGL Difference**: Bind target is always `gl.TEXTURE_2D`
|
|
274
268
|
*/
|
|
275
269
|
generateMipmap() {
|
|
276
|
-
|
|
277
|
-
gl.generateMipmap(gl.TEXTURE_2D);
|
|
270
|
+
this.gl.generateMipmap(this.gl.TEXTURE_2D);
|
|
278
271
|
}
|
|
279
272
|
/**
|
|
280
273
|
* ```
|
|
@@ -284,8 +277,7 @@ export class WebGlContextWrapper {
|
|
|
284
277
|
* @returns
|
|
285
278
|
*/
|
|
286
279
|
createTexture() {
|
|
287
|
-
|
|
288
|
-
return gl.createTexture();
|
|
280
|
+
return this.gl.createTexture();
|
|
289
281
|
}
|
|
290
282
|
/**
|
|
291
283
|
* ```
|
|
@@ -295,11 +287,10 @@ export class WebGlContextWrapper {
|
|
|
295
287
|
* @param texture
|
|
296
288
|
*/
|
|
297
289
|
deleteTexture(texture) {
|
|
298
|
-
const { gl } = this;
|
|
299
290
|
if (texture) {
|
|
300
291
|
this.texture2dParams.delete(texture);
|
|
301
292
|
}
|
|
302
|
-
gl.deleteTexture(texture);
|
|
293
|
+
this.gl.deleteTexture(texture);
|
|
303
294
|
}
|
|
304
295
|
/**
|
|
305
296
|
* ```
|
|
@@ -316,8 +307,7 @@ export class WebGlContextWrapper {
|
|
|
316
307
|
* ```
|
|
317
308
|
*/
|
|
318
309
|
viewport(x, y, width, height) {
|
|
319
|
-
|
|
320
|
-
gl.viewport(x, y, width, height);
|
|
310
|
+
this.gl.viewport(x, y, width, height);
|
|
321
311
|
}
|
|
322
312
|
/**
|
|
323
313
|
* ```
|
|
@@ -330,8 +320,7 @@ export class WebGlContextWrapper {
|
|
|
330
320
|
* @param alpha
|
|
331
321
|
*/
|
|
332
322
|
clearColor(red, green, blue, alpha) {
|
|
333
|
-
|
|
334
|
-
gl.clearColor(red, green, blue, alpha);
|
|
323
|
+
this.gl.clearColor(red, green, blue, alpha);
|
|
335
324
|
}
|
|
336
325
|
/**
|
|
337
326
|
* ```
|
|
@@ -340,15 +329,14 @@ export class WebGlContextWrapper {
|
|
|
340
329
|
* @param enable
|
|
341
330
|
*/
|
|
342
331
|
setScissorTest(enable) {
|
|
343
|
-
|
|
344
|
-
if (enable === scissorEnabled) {
|
|
332
|
+
if (enable === this.scissorEnabled) {
|
|
345
333
|
return;
|
|
346
334
|
}
|
|
347
335
|
if (enable) {
|
|
348
|
-
gl.enable(gl.SCISSOR_TEST);
|
|
336
|
+
this.gl.enable(this.gl.SCISSOR_TEST);
|
|
349
337
|
}
|
|
350
338
|
else {
|
|
351
|
-
gl.disable(gl.SCISSOR_TEST);
|
|
339
|
+
this.gl.disable(this.gl.SCISSOR_TEST);
|
|
352
340
|
}
|
|
353
341
|
this.scissorEnabled = enable;
|
|
354
342
|
}
|
|
@@ -363,12 +351,11 @@ export class WebGlContextWrapper {
|
|
|
363
351
|
* @param height
|
|
364
352
|
*/
|
|
365
353
|
scissor(x, y, width, height) {
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
gl.scissor(x, y, width, height);
|
|
354
|
+
if (x !== this.scissorX ||
|
|
355
|
+
y !== this.scissorY ||
|
|
356
|
+
width !== this.scissorWidth ||
|
|
357
|
+
height !== this.scissorHeight) {
|
|
358
|
+
this.gl.scissor(x, y, width, height);
|
|
372
359
|
this.scissorX = x;
|
|
373
360
|
this.scissorY = y;
|
|
374
361
|
this.scissorWidth = width;
|
|
@@ -384,15 +371,14 @@ export class WebGlContextWrapper {
|
|
|
384
371
|
* @returns
|
|
385
372
|
*/
|
|
386
373
|
setBlend(blend) {
|
|
387
|
-
|
|
388
|
-
if (blend === blendEnabled) {
|
|
374
|
+
if (blend === this.blendEnabled) {
|
|
389
375
|
return;
|
|
390
376
|
}
|
|
391
377
|
if (blend) {
|
|
392
|
-
gl.enable(gl.BLEND);
|
|
378
|
+
this.gl.enable(this.gl.BLEND);
|
|
393
379
|
}
|
|
394
380
|
else {
|
|
395
|
-
gl.disable(gl.BLEND);
|
|
381
|
+
this.gl.disable(this.gl.BLEND);
|
|
396
382
|
}
|
|
397
383
|
this.blendEnabled = blend;
|
|
398
384
|
}
|
|
@@ -405,12 +391,11 @@ export class WebGlContextWrapper {
|
|
|
405
391
|
* @param dst
|
|
406
392
|
*/
|
|
407
393
|
blendFunc(src, dst) {
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
dst
|
|
413
|
-
gl.blendFunc(src, dst);
|
|
394
|
+
if (src !== this.blendSrcRgb ||
|
|
395
|
+
dst !== this.blendDstRgb ||
|
|
396
|
+
src !== this.blendSrcAlpha ||
|
|
397
|
+
dst !== this.blendDstAlpha) {
|
|
398
|
+
this.gl.blendFunc(src, dst);
|
|
414
399
|
this.blendSrcRgb = src;
|
|
415
400
|
this.blendDstRgb = dst;
|
|
416
401
|
this.blendSrcAlpha = src;
|
|
@@ -425,8 +410,7 @@ export class WebGlContextWrapper {
|
|
|
425
410
|
* @returns
|
|
426
411
|
*/
|
|
427
412
|
createBuffer() {
|
|
428
|
-
|
|
429
|
-
return gl.createBuffer();
|
|
413
|
+
return this.gl.createBuffer();
|
|
430
414
|
}
|
|
431
415
|
/**
|
|
432
416
|
* ```
|
|
@@ -435,8 +419,7 @@ export class WebGlContextWrapper {
|
|
|
435
419
|
* @returns
|
|
436
420
|
*/
|
|
437
421
|
createFramebuffer() {
|
|
438
|
-
|
|
439
|
-
return gl.createFramebuffer();
|
|
422
|
+
return this.gl.createFramebuffer();
|
|
440
423
|
}
|
|
441
424
|
/**
|
|
442
425
|
* ```
|
|
@@ -446,8 +429,7 @@ export class WebGlContextWrapper {
|
|
|
446
429
|
* @param framebuffer
|
|
447
430
|
*/
|
|
448
431
|
bindFramebuffer(framebuffer) {
|
|
449
|
-
|
|
450
|
-
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
|
|
432
|
+
this.gl.bindFramebuffer(this.gl.FRAMEBUFFER, framebuffer);
|
|
451
433
|
}
|
|
452
434
|
/**
|
|
453
435
|
* ```
|
|
@@ -457,7 +439,7 @@ export class WebGlContextWrapper {
|
|
|
457
439
|
* **WebGL Difference**: Bind target is always `gl.FRAMEBUFFER` and textarget is always `gl.TEXTURE_2D`
|
|
458
440
|
*/
|
|
459
441
|
framebufferTexture2D(attachment, texture, level) {
|
|
460
|
-
const
|
|
442
|
+
const gl = this.gl;
|
|
461
443
|
gl.framebufferTexture2D(gl.FRAMEBUFFER, attachment, gl.TEXTURE_2D, texture, level);
|
|
462
444
|
}
|
|
463
445
|
/**
|
|
@@ -469,8 +451,7 @@ export class WebGlContextWrapper {
|
|
|
469
451
|
* **WebGL Difference**: Clear mask is always `gl.COLOR_BUFFER_BIT`
|
|
470
452
|
*/
|
|
471
453
|
clear() {
|
|
472
|
-
|
|
473
|
-
gl.clear(gl.COLOR_BUFFER_BIT);
|
|
454
|
+
this.gl.clear(this.gl.COLOR_BUFFER_BIT);
|
|
474
455
|
}
|
|
475
456
|
/**
|
|
476
457
|
* ```
|
|
@@ -486,12 +467,11 @@ export class WebGlContextWrapper {
|
|
|
486
467
|
* @param usage
|
|
487
468
|
*/
|
|
488
469
|
arrayBufferData(buffer, data, usage) {
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
|
|
470
|
+
if (this.boundArrayBuffer !== buffer) {
|
|
471
|
+
this.gl.bindBuffer(this.gl.ARRAY_BUFFER, buffer);
|
|
492
472
|
this.boundArrayBuffer = buffer;
|
|
493
473
|
}
|
|
494
|
-
gl.bufferData(gl.ARRAY_BUFFER, data, usage);
|
|
474
|
+
this.gl.bufferData(this.gl.ARRAY_BUFFER, data, usage);
|
|
495
475
|
}
|
|
496
476
|
/**
|
|
497
477
|
* ```
|
|
@@ -506,12 +486,11 @@ export class WebGlContextWrapper {
|
|
|
506
486
|
* @param usage
|
|
507
487
|
*/
|
|
508
488
|
elementArrayBufferData(buffer, data, usage) {
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, buffer);
|
|
489
|
+
if (this.boundElementArrayBuffer !== buffer) {
|
|
490
|
+
this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER, buffer);
|
|
512
491
|
this.boundElementArrayBuffer = buffer;
|
|
513
492
|
}
|
|
514
|
-
gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, data, usage);
|
|
493
|
+
this.gl.bufferData(this.gl.ELEMENT_ARRAY_BUFFER, data, usage);
|
|
515
494
|
}
|
|
516
495
|
/**
|
|
517
496
|
* ```
|
|
@@ -531,12 +510,44 @@ export class WebGlContextWrapper {
|
|
|
531
510
|
* @param offset
|
|
532
511
|
*/
|
|
533
512
|
vertexAttribPointer(buffer, index, size, type, normalized, stride, offset) {
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
|
|
513
|
+
if (this.boundArrayBuffer !== buffer) {
|
|
514
|
+
this.gl.bindBuffer(this.gl.ARRAY_BUFFER, buffer);
|
|
537
515
|
this.boundArrayBuffer = buffer;
|
|
538
516
|
}
|
|
539
|
-
gl.vertexAttribPointer(index, size, type, normalized, stride, offset);
|
|
517
|
+
this.gl.vertexAttribPointer(index, size, type, normalized, stride, offset);
|
|
518
|
+
}
|
|
519
|
+
/**
|
|
520
|
+
* Returns object with Attribute names as key and numbers as location values
|
|
521
|
+
*
|
|
522
|
+
* @param program
|
|
523
|
+
* @returns object with numbers
|
|
524
|
+
*/
|
|
525
|
+
getUniformLocations(program) {
|
|
526
|
+
const gl = this.gl;
|
|
527
|
+
const length = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);
|
|
528
|
+
const result = {};
|
|
529
|
+
for (let i = 0; i < length; i++) {
|
|
530
|
+
const info = gl.getActiveUniform(program, i);
|
|
531
|
+
//remove bracket + value from uniform name;
|
|
532
|
+
let name = info.name.replace(/\[.*?\]/g, '');
|
|
533
|
+
result[name] = gl.getUniformLocation(program, name);
|
|
534
|
+
}
|
|
535
|
+
return result;
|
|
536
|
+
}
|
|
537
|
+
/**
|
|
538
|
+
* Returns object with Attribute names as key and numbers as location values
|
|
539
|
+
* @param program
|
|
540
|
+
* @returns object with numbers
|
|
541
|
+
*/
|
|
542
|
+
getAttributeLocations(program) {
|
|
543
|
+
const gl = this.gl;
|
|
544
|
+
const length = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);
|
|
545
|
+
const result = {};
|
|
546
|
+
for (let i = 0; i < length; i++) {
|
|
547
|
+
const { name } = gl.getActiveAttrib(program, i);
|
|
548
|
+
result[name] = i;
|
|
549
|
+
}
|
|
550
|
+
return result;
|
|
540
551
|
}
|
|
541
552
|
/**
|
|
542
553
|
* ```
|
|
@@ -546,13 +557,13 @@ export class WebGlContextWrapper {
|
|
|
546
557
|
* @param program
|
|
547
558
|
* @returns
|
|
548
559
|
*/
|
|
549
|
-
useProgram(program) {
|
|
550
|
-
|
|
551
|
-
if (curProgram === program) {
|
|
560
|
+
useProgram(program, uniformLocations) {
|
|
561
|
+
if (this.curProgram === program) {
|
|
552
562
|
return;
|
|
553
563
|
}
|
|
554
|
-
gl.useProgram(program);
|
|
564
|
+
this.gl.useProgram(program);
|
|
555
565
|
this.curProgram = program;
|
|
566
|
+
this.curUniformLocations = uniformLocations;
|
|
556
567
|
}
|
|
557
568
|
/**
|
|
558
569
|
* Sets the value of a single float uniform variable.
|
|
@@ -561,8 +572,7 @@ export class WebGlContextWrapper {
|
|
|
561
572
|
* @param v0 - The value to set.
|
|
562
573
|
*/
|
|
563
574
|
uniform1f(location, v0) {
|
|
564
|
-
|
|
565
|
-
gl.uniform1f(location, v0);
|
|
575
|
+
this.gl.uniform1f(this.curUniformLocations[location] || null, v0);
|
|
566
576
|
}
|
|
567
577
|
/**
|
|
568
578
|
* Sets the value of a float array uniform variable.
|
|
@@ -571,8 +581,7 @@ export class WebGlContextWrapper {
|
|
|
571
581
|
* @param value - The array of values to set.
|
|
572
582
|
*/
|
|
573
583
|
uniform1fv(location, value) {
|
|
574
|
-
|
|
575
|
-
gl.uniform1fv(location, value);
|
|
584
|
+
this.gl.uniform1fv(this.curUniformLocations[location] || null, value);
|
|
576
585
|
}
|
|
577
586
|
/**
|
|
578
587
|
* Sets the value of a single integer uniform variable.
|
|
@@ -581,8 +590,7 @@ export class WebGlContextWrapper {
|
|
|
581
590
|
* @param v0 - The value to set.
|
|
582
591
|
*/
|
|
583
592
|
uniform1i(location, v0) {
|
|
584
|
-
|
|
585
|
-
gl.uniform1i(location, v0);
|
|
593
|
+
this.gl.uniform1i(this.curUniformLocations[location] || null, v0);
|
|
586
594
|
}
|
|
587
595
|
/**
|
|
588
596
|
* Sets the value of an integer array uniform variable.
|
|
@@ -591,8 +599,7 @@ export class WebGlContextWrapper {
|
|
|
591
599
|
* @param value - The array of values to set.
|
|
592
600
|
*/
|
|
593
601
|
uniform1iv(location, value) {
|
|
594
|
-
|
|
595
|
-
gl.uniform1iv(location, value);
|
|
602
|
+
this.gl.uniform1iv(this.curUniformLocations[location] || null, value);
|
|
596
603
|
}
|
|
597
604
|
/**
|
|
598
605
|
* Sets the value of a vec2 uniform variable.
|
|
@@ -602,8 +609,16 @@ export class WebGlContextWrapper {
|
|
|
602
609
|
* @param v1 - The second component of the vector.
|
|
603
610
|
*/
|
|
604
611
|
uniform2f(location, v0, v1) {
|
|
605
|
-
|
|
606
|
-
|
|
612
|
+
this.gl.uniform2f(this.curUniformLocations[location] || null, v0, v1);
|
|
613
|
+
}
|
|
614
|
+
/**
|
|
615
|
+
* Sets the value of a vec3 uniform variable.
|
|
616
|
+
*
|
|
617
|
+
* @param location - The location of the uniform variable.
|
|
618
|
+
* @param v - array of 4 numbers.
|
|
619
|
+
*/
|
|
620
|
+
uniform2fa(location, value) {
|
|
621
|
+
this.gl.uniform2f(this.curUniformLocations[location] || null, value[0], value[1]);
|
|
607
622
|
}
|
|
608
623
|
/**
|
|
609
624
|
* Sets the value of a vec2 array uniform variable.
|
|
@@ -612,8 +627,7 @@ export class WebGlContextWrapper {
|
|
|
612
627
|
* @param value - The array of vec2 values to set.
|
|
613
628
|
*/
|
|
614
629
|
uniform2fv(location, value) {
|
|
615
|
-
|
|
616
|
-
gl.uniform2fv(location, value);
|
|
630
|
+
this.gl.uniform2fv(this.curUniformLocations[location] || null, value);
|
|
617
631
|
}
|
|
618
632
|
/**
|
|
619
633
|
* Sets the value of a ivec2 uniform variable.
|
|
@@ -623,8 +637,7 @@ export class WebGlContextWrapper {
|
|
|
623
637
|
* @param v1 - The second component of the vector.
|
|
624
638
|
*/
|
|
625
639
|
uniform2i(location, v0, v1) {
|
|
626
|
-
|
|
627
|
-
gl.uniform2i(location, v0, v1);
|
|
640
|
+
this.gl.uniform2i(this.curUniformLocations[location] || null, v0, v1);
|
|
628
641
|
}
|
|
629
642
|
/**
|
|
630
643
|
* Sets the value of an ivec2 array uniform variable.
|
|
@@ -633,8 +646,7 @@ export class WebGlContextWrapper {
|
|
|
633
646
|
* @param value - The array of ivec2 values to set.
|
|
634
647
|
*/
|
|
635
648
|
uniform2iv(location, value) {
|
|
636
|
-
|
|
637
|
-
gl.uniform2iv(location, value);
|
|
649
|
+
this.gl.uniform2iv(this.curUniformLocations[location] || null, value);
|
|
638
650
|
}
|
|
639
651
|
/**
|
|
640
652
|
* Sets the value of a vec3 uniform variable.
|
|
@@ -645,8 +657,16 @@ export class WebGlContextWrapper {
|
|
|
645
657
|
* @param v2 - The third component of the vector.
|
|
646
658
|
*/
|
|
647
659
|
uniform3f(location, v0, v1, v2) {
|
|
648
|
-
|
|
649
|
-
|
|
660
|
+
this.gl.uniform3f(this.curUniformLocations[location] || null, v0, v1, v2);
|
|
661
|
+
}
|
|
662
|
+
/**
|
|
663
|
+
* Sets the value of a vec3 uniform variable.
|
|
664
|
+
*
|
|
665
|
+
* @param location - The location of the uniform variable.
|
|
666
|
+
* @param v - array of 4 numbers.
|
|
667
|
+
*/
|
|
668
|
+
uniform3fa(location, value) {
|
|
669
|
+
this.gl.uniform3f(this.curUniformLocations[location] || null, value[0], value[1], value[2]);
|
|
650
670
|
}
|
|
651
671
|
/**
|
|
652
672
|
* Sets the value of a vec3 array uniform variable.
|
|
@@ -655,8 +675,7 @@ export class WebGlContextWrapper {
|
|
|
655
675
|
* @param value - The array of vec3 values to set.
|
|
656
676
|
*/
|
|
657
677
|
uniform3fv(location, value) {
|
|
658
|
-
|
|
659
|
-
gl.uniform3fv(location, value);
|
|
678
|
+
this.gl.uniform3fv(this.curUniformLocations[location] || null, value);
|
|
660
679
|
}
|
|
661
680
|
/**
|
|
662
681
|
* Sets the value of a ivec3 uniform variable.
|
|
@@ -667,8 +686,7 @@ export class WebGlContextWrapper {
|
|
|
667
686
|
* @param v2 - The third component of the vector.
|
|
668
687
|
*/
|
|
669
688
|
uniform3i(location, v0, v1, v2) {
|
|
670
|
-
|
|
671
|
-
gl.uniform3i(location, v0, v1, v2);
|
|
689
|
+
this.gl.uniform3i(this.curUniformLocations[location] || null, v0, v1, v2);
|
|
672
690
|
}
|
|
673
691
|
/**
|
|
674
692
|
* Sets the value of an ivec3 array uniform variable.
|
|
@@ -677,8 +695,7 @@ export class WebGlContextWrapper {
|
|
|
677
695
|
* @param value - The array of ivec3 values to set.
|
|
678
696
|
*/
|
|
679
697
|
uniform3iv(location, value) {
|
|
680
|
-
|
|
681
|
-
gl.uniform3iv(location, value);
|
|
698
|
+
this.gl.uniform3iv(this.curUniformLocations[location] || null, value);
|
|
682
699
|
}
|
|
683
700
|
/**
|
|
684
701
|
* Sets the value of a vec4 uniform variable.
|
|
@@ -690,8 +707,16 @@ export class WebGlContextWrapper {
|
|
|
690
707
|
* @param v3 - The fourth component of the vector.
|
|
691
708
|
*/
|
|
692
709
|
uniform4f(location, v0, v1, v2, v3) {
|
|
693
|
-
|
|
694
|
-
|
|
710
|
+
this.gl.uniform4f(this.curUniformLocations[location] || null, v0, v1, v2, v3);
|
|
711
|
+
}
|
|
712
|
+
/**
|
|
713
|
+
* Sets the value of a vec4 uniform variable.
|
|
714
|
+
*
|
|
715
|
+
* @param location - The location of the uniform variable.
|
|
716
|
+
* @param v - array of 4 numbers.
|
|
717
|
+
*/
|
|
718
|
+
uniform4fa(location, value) {
|
|
719
|
+
this.gl.uniform4f(this.curUniformLocations[location] || null, value[0], value[1], value[2], value[3]);
|
|
695
720
|
}
|
|
696
721
|
/**
|
|
697
722
|
* Sets the value of a vec4 array uniform variable.
|
|
@@ -700,8 +725,7 @@ export class WebGlContextWrapper {
|
|
|
700
725
|
* @param value - The array of vec4 values to set.
|
|
701
726
|
*/
|
|
702
727
|
uniform4fv(location, value) {
|
|
703
|
-
|
|
704
|
-
gl.uniform4fv(location, value);
|
|
728
|
+
this.gl.uniform4fv(this.curUniformLocations[location] || null, value);
|
|
705
729
|
}
|
|
706
730
|
/**
|
|
707
731
|
* Sets the value of a ivec4 uniform variable.
|
|
@@ -713,8 +737,7 @@ export class WebGlContextWrapper {
|
|
|
713
737
|
* @param v3 - The fourth component of the vector.
|
|
714
738
|
*/
|
|
715
739
|
uniform4i(location, v0, v1, v2, v3) {
|
|
716
|
-
|
|
717
|
-
gl.uniform4i(location, v0, v1, v2, v3);
|
|
740
|
+
this.gl.uniform4i(this.curUniformLocations[location] || null, v0, v1, v2, v3);
|
|
718
741
|
}
|
|
719
742
|
/**
|
|
720
743
|
* Sets the value of an ivec4 array uniform variable.
|
|
@@ -723,8 +746,7 @@ export class WebGlContextWrapper {
|
|
|
723
746
|
* @param value - The array of ivec4 values to set.
|
|
724
747
|
*/
|
|
725
748
|
uniform4iv(location, value) {
|
|
726
|
-
|
|
727
|
-
gl.uniform4iv(location, value);
|
|
749
|
+
this.gl.uniform4iv(this.curUniformLocations[location] || null, value);
|
|
728
750
|
}
|
|
729
751
|
/**
|
|
730
752
|
* Sets the value of a mat2 uniform variable.
|
|
@@ -734,8 +756,7 @@ export class WebGlContextWrapper {
|
|
|
734
756
|
* @param value - The array of mat2 values to set.
|
|
735
757
|
*/
|
|
736
758
|
uniformMatrix2fv(location, value) {
|
|
737
|
-
|
|
738
|
-
gl.uniformMatrix2fv(location, false, value);
|
|
759
|
+
this.gl.uniformMatrix2fv(this.curUniformLocations[location] || null, false, value);
|
|
739
760
|
}
|
|
740
761
|
/**
|
|
741
762
|
* Sets the value of a mat2 uniform variable.
|
|
@@ -743,8 +764,7 @@ export class WebGlContextWrapper {
|
|
|
743
764
|
* @param value - The array of mat2 values to set.
|
|
744
765
|
*/
|
|
745
766
|
uniformMatrix3fv(location, value) {
|
|
746
|
-
|
|
747
|
-
gl.uniformMatrix3fv(location, false, value);
|
|
767
|
+
this.gl.uniformMatrix3fv(this.curUniformLocations[location] || null, false, value);
|
|
748
768
|
}
|
|
749
769
|
/**
|
|
750
770
|
* Sets the value of a mat4 uniform variable.
|
|
@@ -752,8 +772,7 @@ export class WebGlContextWrapper {
|
|
|
752
772
|
* @param value - The array of mat4 values to set.
|
|
753
773
|
*/
|
|
754
774
|
uniformMatrix4fv(location, value) {
|
|
755
|
-
|
|
756
|
-
gl.uniformMatrix4fv(location, false, value);
|
|
775
|
+
this.gl.uniformMatrix4fv(this.curUniformLocations[location] || null, false, value);
|
|
757
776
|
}
|
|
758
777
|
/**
|
|
759
778
|
* ```
|
|
@@ -764,8 +783,7 @@ export class WebGlContextWrapper {
|
|
|
764
783
|
* @returns
|
|
765
784
|
*/
|
|
766
785
|
getParameter(pname) {
|
|
767
|
-
|
|
768
|
-
return gl.getParameter(pname);
|
|
786
|
+
return this.gl.getParameter(pname);
|
|
769
787
|
}
|
|
770
788
|
/**
|
|
771
789
|
* ```
|
|
@@ -778,8 +796,19 @@ export class WebGlContextWrapper {
|
|
|
778
796
|
* @param offset
|
|
779
797
|
*/
|
|
780
798
|
drawElements(mode, count, type, offset) {
|
|
781
|
-
|
|
782
|
-
|
|
799
|
+
this.gl.drawElements(mode, count, type, offset);
|
|
800
|
+
}
|
|
801
|
+
/**
|
|
802
|
+
* ```
|
|
803
|
+
* gl.drawArrays(mode, first, count);
|
|
804
|
+
* ```
|
|
805
|
+
*
|
|
806
|
+
* @param mode
|
|
807
|
+
* @param first
|
|
808
|
+
* @param count
|
|
809
|
+
*/
|
|
810
|
+
drawArrays(mode, first, count) {
|
|
811
|
+
this.gl.drawArrays(mode, first, count);
|
|
783
812
|
}
|
|
784
813
|
/**
|
|
785
814
|
* ```
|
|
@@ -790,8 +819,7 @@ export class WebGlContextWrapper {
|
|
|
790
819
|
* @returns
|
|
791
820
|
*/
|
|
792
821
|
getExtension(name) {
|
|
793
|
-
|
|
794
|
-
return gl.getExtension(name);
|
|
822
|
+
return this.gl.getExtension(name);
|
|
795
823
|
}
|
|
796
824
|
/**
|
|
797
825
|
* ```
|
|
@@ -801,8 +829,7 @@ export class WebGlContextWrapper {
|
|
|
801
829
|
* @returns
|
|
802
830
|
*/
|
|
803
831
|
getError() {
|
|
804
|
-
|
|
805
|
-
return gl.getError();
|
|
832
|
+
return this.gl.getError();
|
|
806
833
|
}
|
|
807
834
|
/**
|
|
808
835
|
* ```
|
|
@@ -812,9 +839,10 @@ export class WebGlContextWrapper {
|
|
|
812
839
|
* @returns
|
|
813
840
|
*/
|
|
814
841
|
createVertexArray() {
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
842
|
+
if (this.gl instanceof WebGL2RenderingContext) {
|
|
843
|
+
return this.gl.createVertexArray();
|
|
844
|
+
}
|
|
845
|
+
return undefined;
|
|
818
846
|
}
|
|
819
847
|
/**
|
|
820
848
|
* ```
|
|
@@ -824,9 +852,9 @@ export class WebGlContextWrapper {
|
|
|
824
852
|
* @param vertexArray
|
|
825
853
|
*/
|
|
826
854
|
bindVertexArray(vertexArray) {
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
855
|
+
if (this.gl instanceof WebGL2RenderingContext) {
|
|
856
|
+
this.gl.bindVertexArray(vertexArray);
|
|
857
|
+
}
|
|
830
858
|
}
|
|
831
859
|
/**
|
|
832
860
|
* ```
|
|
@@ -838,8 +866,7 @@ export class WebGlContextWrapper {
|
|
|
838
866
|
* @returns
|
|
839
867
|
*/
|
|
840
868
|
getAttribLocation(program, name) {
|
|
841
|
-
|
|
842
|
-
return gl.getAttribLocation(program, name);
|
|
869
|
+
return this.gl.getAttribLocation(program, name);
|
|
843
870
|
}
|
|
844
871
|
/**
|
|
845
872
|
* ```
|
|
@@ -851,8 +878,7 @@ export class WebGlContextWrapper {
|
|
|
851
878
|
* @returns
|
|
852
879
|
*/
|
|
853
880
|
getUniformLocation(program, name) {
|
|
854
|
-
|
|
855
|
-
return gl.getUniformLocation(program, name);
|
|
881
|
+
return this.gl.getUniformLocation(program, name);
|
|
856
882
|
}
|
|
857
883
|
/**
|
|
858
884
|
* ```
|
|
@@ -862,8 +888,7 @@ export class WebGlContextWrapper {
|
|
|
862
888
|
* @param index
|
|
863
889
|
*/
|
|
864
890
|
enableVertexAttribArray(index) {
|
|
865
|
-
|
|
866
|
-
gl.enableVertexAttribArray(index);
|
|
891
|
+
this.gl.enableVertexAttribArray(index);
|
|
867
892
|
}
|
|
868
893
|
/**
|
|
869
894
|
* ```
|
|
@@ -873,8 +898,7 @@ export class WebGlContextWrapper {
|
|
|
873
898
|
* @param index
|
|
874
899
|
*/
|
|
875
900
|
disableVertexAttribArray(index) {
|
|
876
|
-
|
|
877
|
-
gl.disableVertexAttribArray(index);
|
|
901
|
+
this.gl.disableVertexAttribArray(index);
|
|
878
902
|
}
|
|
879
903
|
/**
|
|
880
904
|
* ```
|
|
@@ -885,8 +909,7 @@ export class WebGlContextWrapper {
|
|
|
885
909
|
* @returns
|
|
886
910
|
*/
|
|
887
911
|
createShader(type) {
|
|
888
|
-
|
|
889
|
-
return gl.createShader(type);
|
|
912
|
+
return this.gl.createShader(type);
|
|
890
913
|
}
|
|
891
914
|
/**
|
|
892
915
|
* ```
|
|
@@ -897,8 +920,7 @@ export class WebGlContextWrapper {
|
|
|
897
920
|
* @returns
|
|
898
921
|
*/
|
|
899
922
|
compileShader(shader) {
|
|
900
|
-
|
|
901
|
-
gl.compileShader(shader);
|
|
923
|
+
this.gl.compileShader(shader);
|
|
902
924
|
}
|
|
903
925
|
/**
|
|
904
926
|
* ```
|
|
@@ -909,8 +931,7 @@ export class WebGlContextWrapper {
|
|
|
909
931
|
* @param shader
|
|
910
932
|
*/
|
|
911
933
|
attachShader(program, shader) {
|
|
912
|
-
|
|
913
|
-
gl.attachShader(program, shader);
|
|
934
|
+
this.gl.attachShader(program, shader);
|
|
914
935
|
}
|
|
915
936
|
/**
|
|
916
937
|
* ```
|
|
@@ -920,8 +941,7 @@ export class WebGlContextWrapper {
|
|
|
920
941
|
* @param program
|
|
921
942
|
*/
|
|
922
943
|
linkProgram(program) {
|
|
923
|
-
|
|
924
|
-
gl.linkProgram(program);
|
|
944
|
+
this.gl.linkProgram(program);
|
|
925
945
|
}
|
|
926
946
|
/**
|
|
927
947
|
* ```
|
|
@@ -931,8 +951,7 @@ export class WebGlContextWrapper {
|
|
|
931
951
|
* @param shader
|
|
932
952
|
*/
|
|
933
953
|
deleteProgram(shader) {
|
|
934
|
-
|
|
935
|
-
gl.deleteProgram(shader);
|
|
954
|
+
this.gl.deleteProgram(shader);
|
|
936
955
|
}
|
|
937
956
|
/**
|
|
938
957
|
* ```
|
|
@@ -943,8 +962,7 @@ export class WebGlContextWrapper {
|
|
|
943
962
|
* @param pname
|
|
944
963
|
*/
|
|
945
964
|
getShaderParameter(shader, pname) {
|
|
946
|
-
|
|
947
|
-
return gl.getShaderParameter(shader, pname);
|
|
965
|
+
return this.gl.getShaderParameter(shader, pname);
|
|
948
966
|
}
|
|
949
967
|
/**
|
|
950
968
|
* ```
|
|
@@ -954,8 +972,7 @@ export class WebGlContextWrapper {
|
|
|
954
972
|
* @param shader
|
|
955
973
|
*/
|
|
956
974
|
getShaderInfoLog(shader) {
|
|
957
|
-
|
|
958
|
-
return gl.getShaderInfoLog(shader);
|
|
975
|
+
return this.gl.getShaderInfoLog(shader);
|
|
959
976
|
}
|
|
960
977
|
/**
|
|
961
978
|
* ```
|
|
@@ -965,8 +982,7 @@ export class WebGlContextWrapper {
|
|
|
965
982
|
* @returns
|
|
966
983
|
*/
|
|
967
984
|
createProgram() {
|
|
968
|
-
|
|
969
|
-
return gl.createProgram();
|
|
985
|
+
return this.gl.createProgram();
|
|
970
986
|
}
|
|
971
987
|
/**
|
|
972
988
|
* ```
|
|
@@ -978,8 +994,7 @@ export class WebGlContextWrapper {
|
|
|
978
994
|
* @returns
|
|
979
995
|
*/
|
|
980
996
|
getProgramParameter(program, pname) {
|
|
981
|
-
|
|
982
|
-
return gl.getProgramParameter(program, pname);
|
|
997
|
+
return this.gl.getProgramParameter(program, pname);
|
|
983
998
|
}
|
|
984
999
|
/**
|
|
985
1000
|
* ```
|
|
@@ -990,8 +1005,7 @@ export class WebGlContextWrapper {
|
|
|
990
1005
|
* @returns
|
|
991
1006
|
*/
|
|
992
1007
|
getProgramInfoLog(program) {
|
|
993
|
-
|
|
994
|
-
return gl.getProgramInfoLog(program);
|
|
1008
|
+
return this.gl.getProgramInfoLog(program);
|
|
995
1009
|
}
|
|
996
1010
|
/**
|
|
997
1011
|
* ```
|
|
@@ -1002,8 +1016,7 @@ export class WebGlContextWrapper {
|
|
|
1002
1016
|
* @param source
|
|
1003
1017
|
*/
|
|
1004
1018
|
shaderSource(shader, source) {
|
|
1005
|
-
|
|
1006
|
-
gl.shaderSource(shader, source);
|
|
1019
|
+
this.gl.shaderSource(shader, source);
|
|
1007
1020
|
}
|
|
1008
1021
|
/**
|
|
1009
1022
|
* ```
|
|
@@ -1013,8 +1026,34 @@ export class WebGlContextWrapper {
|
|
|
1013
1026
|
* @param shader
|
|
1014
1027
|
*/
|
|
1015
1028
|
deleteShader(shader) {
|
|
1029
|
+
this.gl.deleteShader(shader);
|
|
1030
|
+
}
|
|
1031
|
+
/**
|
|
1032
|
+
* ```
|
|
1033
|
+
* gl.deleteBuffer(buffer);
|
|
1034
|
+
* ```
|
|
1035
|
+
*
|
|
1036
|
+
* @param buffer - The buffer to delete
|
|
1037
|
+
*/
|
|
1038
|
+
deleteBuffer(buffer) {
|
|
1016
1039
|
const { gl } = this;
|
|
1017
|
-
gl.
|
|
1040
|
+
gl.deleteBuffer(buffer);
|
|
1041
|
+
// Reset bound buffers if they match the deleted buffer
|
|
1042
|
+
if (this.boundArrayBuffer === buffer) {
|
|
1043
|
+
this.boundArrayBuffer = null;
|
|
1044
|
+
}
|
|
1045
|
+
}
|
|
1046
|
+
/**
|
|
1047
|
+
* ```
|
|
1048
|
+
* gl.deleteVertexArray(vertexArray);
|
|
1049
|
+
* ```
|
|
1050
|
+
*
|
|
1051
|
+
* @param vertexArray - The vertex array object to delete
|
|
1052
|
+
*/
|
|
1053
|
+
deleteVertexArray(vertexArray) {
|
|
1054
|
+
if (this.isWebGl2()) {
|
|
1055
|
+
this.gl.deleteVertexArray(vertexArray);
|
|
1056
|
+
}
|
|
1018
1057
|
}
|
|
1019
1058
|
}
|
|
1020
1059
|
/**
|