@lightningjs/renderer 2.12.1 → 3.0.0-beta1
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/exports/canvas-shaders.d.ts +10 -0
- package/dist/exports/canvas-shaders.js +27 -0
- package/dist/exports/canvas-shaders.js.map +1 -0
- package/dist/exports/canvas.d.ts +7 -1
- package/dist/exports/canvas.js +7 -1
- package/dist/exports/canvas.js.map +1 -1
- package/dist/exports/index.d.ts +15 -8
- package/dist/exports/index.js +7 -4
- package/dist/exports/index.js.map +1 -1
- package/dist/exports/webgl-shaders.d.ts +11 -0
- package/dist/exports/webgl-shaders.js +28 -0
- package/dist/exports/webgl-shaders.js.map +1 -0
- package/dist/exports/webgl.d.ts +9 -1
- package/dist/exports/webgl.js +9 -1
- package/dist/exports/webgl.js.map +1 -1
- package/dist/src/core/CoreNode.d.ts +19 -5
- package/dist/src/core/CoreNode.js +117 -24
- package/dist/src/core/CoreNode.js.map +1 -1
- package/dist/src/core/CoreShaderManager.d.ts +29 -71
- package/dist/src/core/CoreShaderManager.js +110 -97
- package/dist/src/core/CoreShaderManager.js.map +1 -1
- package/dist/src/core/CoreTextNode.js +1 -1
- package/dist/src/core/CoreTextNode.js.map +1 -1
- package/dist/src/core/CoreTextureManager.d.ts +13 -7
- package/dist/src/core/CoreTextureManager.js +92 -105
- package/dist/src/core/CoreTextureManager.js.map +1 -1
- package/dist/src/core/Stage.d.ts +15 -16
- package/dist/src/core/Stage.js +45 -32
- package/dist/src/core/Stage.js.map +1 -1
- package/dist/src/core/TextureMemoryManager.d.ts +16 -6
- package/dist/src/core/TextureMemoryManager.js +75 -17
- 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.d.ts +1 -1
- package/dist/src/core/lib/ImageWorker.js +13 -11
- package/dist/src/core/lib/ImageWorker.js.map +1 -1
- package/dist/src/core/lib/WebGlContextWrapper.d.ts +67 -54
- package/dist/src/core/lib/WebGlContextWrapper.js +126 -157
- package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
- 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 +4 -0
- package/dist/src/core/lib/utils.js +26 -0
- package/dist/src/core/lib/utils.js.map +1 -1
- package/dist/src/core/lib/validateImageBitmap.d.ts +6 -0
- package/dist/src/core/lib/validateImageBitmap.js +68 -0
- package/dist/src/core/lib/validateImageBitmap.js.map +1 -0
- package/dist/src/core/platform.js +4 -3
- package/dist/src/core/platform.js.map +1 -1
- package/dist/src/core/renderers/CoreRenderer.d.ts +11 -21
- package/dist/src/core/renderers/CoreRenderer.js +0 -6
- package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
- package/dist/src/core/renderers/CoreShaderNode.d.ts +59 -0
- package/dist/src/core/renderers/CoreShaderNode.js +107 -0
- package/dist/src/core/renderers/CoreShaderNode.js.map +1 -0
- package/dist/src/core/renderers/CoreShaderProgram.d.ts +4 -0
- package/{src/core/renderers/CoreShader.ts → dist/src/core/renderers/CoreShaderProgram.js} +2 -23
- package/dist/src/core/renderers/CoreShaderProgram.js.map +1 -0
- package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +36 -0
- package/dist/src/core/renderers/canvas/CanvasRenderer.js +212 -0
- package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -0
- package/dist/src/core/renderers/canvas/CanvasShaderNode.d.ts +21 -0
- package/dist/src/core/renderers/canvas/CanvasShaderNode.js +60 -0
- package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +1 -0
- package/dist/src/core/renderers/canvas/CanvasTexture.d.ts +16 -0
- package/dist/src/core/renderers/canvas/CanvasTexture.js +123 -0
- package/dist/src/core/renderers/canvas/CanvasTexture.js.map +1 -0
- 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/WebGlCoreCtxTexture.js +7 -12
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.d.ts +12 -0
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +55 -0
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.d.ts +9 -0
- package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js +38 -0
- package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.d.ts +57 -0
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +227 -0
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlRenderOp.d.ts +36 -0
- package/dist/src/core/renderers/webgl/WebGlRenderOp.js +107 -0
- package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +134 -0
- package/dist/src/core/renderers/webgl/WebGlRenderer.js +546 -0
- package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +221 -0
- package/dist/src/core/renderers/webgl/WebGlShaderNode.js +334 -0
- package/dist/src/core/renderers/webgl/WebGlShaderNode.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.d.ts +35 -0
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +195 -0
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +1 -0
- 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.d.ts +9 -0
- package/dist/src/core/shaders/canvas/Border.js +57 -0
- package/dist/src/core/shaders/canvas/Border.js.map +1 -0
- package/dist/src/core/shaders/canvas/HolePunch.d.ts +7 -0
- package/dist/src/core/shaders/canvas/HolePunch.js +38 -0
- package/dist/src/core/shaders/canvas/HolePunch.js.map +1 -0
- package/dist/src/core/shaders/canvas/LinearGradient.d.ts +10 -0
- package/dist/src/core/shaders/canvas/LinearGradient.js +46 -0
- package/dist/src/core/shaders/canvas/LinearGradient.js.map +1 -0
- package/dist/src/core/shaders/canvas/RadialGradient.d.ts +11 -0
- package/dist/src/core/shaders/canvas/RadialGradient.js +68 -0
- package/dist/src/core/shaders/canvas/RadialGradient.js.map +1 -0
- package/dist/src/core/shaders/canvas/Rounded.d.ts +7 -0
- package/dist/src/core/shaders/canvas/Rounded.js +33 -0
- package/dist/src/core/shaders/canvas/Rounded.js.map +1 -0
- package/dist/src/core/shaders/canvas/RoundedWithBorder.d.ts +7 -0
- package/dist/src/core/shaders/canvas/RoundedWithBorder.js +35 -0
- package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -0
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.d.ts +8 -0
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +39 -0
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -0
- package/dist/src/core/shaders/canvas/RoundedWithShadow.d.ts +7 -0
- package/dist/src/core/shaders/canvas/RoundedWithShadow.js +38 -0
- package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +1 -0
- package/dist/src/core/shaders/canvas/Shadow.d.ts +8 -0
- package/dist/src/core/shaders/canvas/Shadow.js +31 -0
- package/dist/src/core/shaders/canvas/Shadow.js.map +1 -0
- package/dist/src/core/shaders/canvas/utils/render.d.ts +5 -0
- package/dist/src/core/shaders/canvas/utils/render.js +84 -0
- package/dist/src/core/shaders/canvas/utils/render.js.map +1 -0
- package/dist/src/core/shaders/templates/BorderTemplate.d.ts +37 -0
- package/dist/src/core/shaders/templates/BorderTemplate.js +73 -0
- package/dist/src/core/shaders/templates/BorderTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/HolePunchTemplate.d.ts +46 -0
- package/dist/src/core/shaders/templates/HolePunchTemplate.js +35 -0
- package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/LinearGradientTemplate.d.ts +23 -0
- package/dist/src/core/shaders/templates/LinearGradientTemplate.js +47 -0
- package/dist/src/core/shaders/templates/LinearGradientTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +31 -0
- package/dist/src/core/shaders/templates/RadialGradientTemplate.js +49 -0
- package/dist/src/core/shaders/templates/RadialGradientTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/RoundedTemplate.d.ts +29 -0
- package/dist/src/core/shaders/templates/RoundedTemplate.js +67 -0
- package/dist/src/core/shaders/templates/RoundedTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.d.ts +7 -0
- package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js +24 -0
- package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.d.ts +6 -0
- package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js +23 -0
- package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.d.ts +6 -0
- package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js +23 -0
- package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/ShadowTemplate.d.ts +34 -0
- package/dist/src/core/shaders/templates/ShadowTemplate.js +66 -0
- package/dist/src/core/shaders/templates/ShadowTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/shaderUtils.d.ts +5 -0
- package/dist/src/core/shaders/templates/shaderUtils.js +41 -0
- package/dist/src/core/shaders/templates/shaderUtils.js.map +1 -0
- package/dist/src/core/shaders/webgl/Border.d.ts +3 -0
- package/dist/src/core/shaders/webgl/Border.js +87 -0
- package/dist/src/core/shaders/webgl/Border.js.map +1 -0
- package/dist/src/core/shaders/webgl/Default.d.ts +2 -0
- package/dist/src/core/shaders/webgl/Default.js +86 -0
- package/dist/src/core/shaders/webgl/Default.js.map +1 -0
- package/dist/src/core/shaders/webgl/DefaultBatched.d.ts +2 -0
- package/dist/src/core/shaders/webgl/DefaultBatched.js +104 -0
- package/dist/src/core/shaders/webgl/DefaultBatched.js.map +1 -0
- package/dist/src/core/shaders/webgl/HolePunch.d.ts +3 -0
- package/dist/src/core/shaders/webgl/HolePunch.js +64 -0
- package/dist/src/core/shaders/webgl/HolePunch.js.map +1 -0
- package/dist/src/core/shaders/webgl/LinearGradient.d.ts +3 -0
- package/dist/src/core/shaders/webgl/LinearGradient.js +75 -0
- package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -0
- package/dist/src/core/shaders/webgl/RadialGradient.d.ts +3 -0
- package/dist/src/core/shaders/webgl/RadialGradient.js +73 -0
- package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -0
- package/dist/src/core/shaders/webgl/Rounded.d.ts +7 -0
- package/dist/src/core/shaders/webgl/Rounded.js +86 -0
- package/dist/src/core/shaders/webgl/Rounded.js.map +1 -0
- package/dist/src/core/shaders/webgl/RoundedWithBorder.d.ts +3 -0
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js +97 -0
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -0
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.d.ts +3 -0
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +112 -0
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -0
- package/dist/src/core/shaders/webgl/RoundedWithShadow.d.ts +3 -0
- package/dist/src/core/shaders/webgl/RoundedWithShadow.js +84 -0
- package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +1 -0
- package/dist/src/core/shaders/webgl/SdfShader.d.ts +32 -0
- package/dist/src/core/shaders/webgl/SdfShader.js +116 -0
- package/dist/src/core/shaders/webgl/SdfShader.js.map +1 -0
- package/dist/src/core/shaders/webgl/Shadow.d.ts +3 -0
- package/dist/src/core/shaders/webgl/Shadow.js +110 -0
- package/dist/src/core/shaders/webgl/Shadow.js.map +1 -0
- package/dist/src/core/text-rendering/TextTextureRendererUtils.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/LightningTextTextureRenderer.d.ts +6 -0
- 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 +34 -30
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +1 -4
- package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
- package/dist/src/core/textures/ImageTexture.js +10 -16
- package/dist/src/core/textures/ImageTexture.js.map +1 -1
- package/dist/src/core/textures/Texture.d.ts +1 -1
- package/dist/src/main-api/INode.d.ts +9 -9
- package/dist/src/main-api/Inspector.js +16 -2
- package/dist/src/main-api/Inspector.js.map +1 -1
- package/dist/src/main-api/Renderer.d.ts +35 -92
- package/dist/src/main-api/Renderer.js +11 -57
- package/dist/src/main-api/Renderer.js.map +1 -1
- package/dist/src/utils.d.ts +6 -0
- package/dist/src/utils.js +18 -0
- 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 +7 -1
- package/exports/index.ts +17 -17
- package/exports/webgl-shaders.ts +28 -0
- package/exports/webgl.ts +13 -1
- package/package.json +3 -1
- package/src/core/CoreNode.test.ts +157 -153
- package/src/core/CoreNode.ts +173 -38
- package/src/core/CoreShaderManager.ts +127 -226
- package/src/core/CoreTextNode.ts +1 -8
- package/src/core/CoreTextureManager.ts +127 -126
- package/src/core/Stage.ts +62 -44
- package/src/core/TextureMemoryManager.ts +108 -27
- package/src/core/animations/CoreAnimation.ts +8 -64
- package/src/core/lib/ImageWorker.ts +20 -12
- package/src/core/lib/WebGlContextWrapper.ts +228 -236
- package/src/core/lib/textureCompression.ts +3 -3
- package/src/core/lib/utils.ts +51 -0
- package/src/core/lib/validateImageBitmap.ts +76 -0
- package/src/core/platform.ts +6 -3
- package/src/core/renderers/CoreRenderer.ts +19 -27
- package/src/core/renderers/CoreShaderNode.ts +171 -0
- package/src/core/renderers/{canvas/shaders/UnsupportedShader.ts → CoreShaderProgram.ts} +3 -28
- package/src/core/renderers/canvas/CanvasRenderer.ts +299 -0
- package/src/core/renderers/canvas/CanvasShaderNode.ts +99 -0
- package/src/core/renderers/canvas/{CanvasCoreTexture.ts → CanvasTexture.ts} +1 -1
- package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +2 -13
- package/src/core/renderers/canvas/internal/ColorUtils.ts +16 -0
- package/src/core/renderers/webgl/{WebGlCoreCtxRenderTexture.ts → WebGlCtxRenderTexture.ts} +2 -2
- package/src/core/renderers/webgl/{WebGlCoreCtxSubTexture.ts → WebGlCtxSubTexture.ts} +2 -2
- package/src/core/renderers/webgl/{WebGlCoreCtxTexture.ts → WebGlCtxTexture.ts} +12 -14
- package/src/core/renderers/webgl/{WebGlCoreRenderOp.ts → WebGlRenderOp.ts} +56 -36
- package/src/core/renderers/webgl/{WebGlCoreRenderer.ts → WebGlRenderer.ts} +143 -243
- package/src/core/renderers/webgl/WebGlShaderNode.ts +433 -0
- package/src/core/renderers/webgl/WebGlShaderProgram.ts +310 -0
- package/src/core/renderers/webgl/internal/ShaderUtils.ts +143 -5
- package/src/core/shaders/canvas/Border.ts +78 -0
- package/src/core/shaders/canvas/HolePunch.ts +62 -0
- package/src/core/shaders/canvas/LinearGradient.ts +69 -0
- package/src/core/shaders/canvas/RadialGradient.ts +113 -0
- package/src/core/shaders/canvas/Rounded.ts +55 -0
- package/src/core/shaders/canvas/RoundedWithBorder.ts +68 -0
- package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +88 -0
- package/src/core/shaders/canvas/RoundedWithShadow.ts +69 -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/src/core/shaders/templates/RoundedWithBorderTemplate.ts +35 -0
- package/src/core/shaders/templates/RoundedWithShadowTemplate.ts +35 -0
- package/src/core/shaders/templates/ShadowTemplate.ts +106 -0
- package/src/core/shaders/templates/shaderUtils.ts +47 -0
- package/src/core/shaders/webgl/Border.ts +96 -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 +78 -0
- package/src/core/shaders/webgl/LinearGradient.ts +81 -0
- package/src/core/shaders/webgl/RadialGradient.ts +84 -0
- package/src/core/shaders/webgl/Rounded.ts +117 -0
- package/src/core/shaders/webgl/RoundedWithBorder.ts +114 -0
- package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +133 -0
- package/src/core/shaders/webgl/RoundedWithShadow.ts +98 -0
- package/src/core/shaders/webgl/SdfShader.ts +137 -0
- package/src/core/shaders/webgl/Shadow.ts +115 -0
- package/src/core/text-rendering/TextTextureRendererUtils.ts +1 -1
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +2 -2
- package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +12 -5
- package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +44 -56
- package/src/core/text-rendering/renderers/TextRenderer.ts +2 -9
- package/src/core/textures/ImageTexture.ts +11 -17
- package/src/core/textures/Texture.ts +1 -1
- package/src/main-api/INode.ts +11 -13
- package/src/main-api/Inspector.ts +19 -2
- package/src/main-api/Renderer.ts +59 -130
- package/src/utils.ts +19 -0
- package/src/core/renderers/canvas/CanvasCoreRenderer.ts +0 -375
- package/src/core/renderers/webgl/WebGlCoreShader.ts +0 -362
- 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/main-api/DynamicShaderController.ts +0 -104
- package/src/main-api/ShaderController.ts +0 -80
|
@@ -202,9 +202,8 @@ export class WebGlContextWrapper {
|
|
|
202
202
|
* @param textureUnit
|
|
203
203
|
*/
|
|
204
204
|
activeTexture(textureUnit: number) {
|
|
205
|
-
const { gl } = this;
|
|
206
205
|
if (this.activeTextureUnit !== textureUnit) {
|
|
207
|
-
gl.activeTexture(textureUnit + gl.TEXTURE0);
|
|
206
|
+
this.gl.activeTexture(textureUnit + this.gl.TEXTURE0);
|
|
208
207
|
this.activeTextureUnit = textureUnit;
|
|
209
208
|
}
|
|
210
209
|
}
|
|
@@ -219,19 +218,16 @@ export class WebGlContextWrapper {
|
|
|
219
218
|
* @param texture
|
|
220
219
|
*/
|
|
221
220
|
bindTexture(texture: WebGLTexture | null) {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
if (texture2dUnits[activeTextureUnit] === texture) {
|
|
221
|
+
if (this.texture2dUnits[this.activeTextureUnit] === texture) {
|
|
225
222
|
return;
|
|
226
223
|
}
|
|
227
|
-
texture2dUnits[activeTextureUnit] = texture;
|
|
224
|
+
this.texture2dUnits[this.activeTextureUnit] = texture;
|
|
228
225
|
|
|
229
|
-
gl.bindTexture(this.gl.TEXTURE_2D, texture);
|
|
226
|
+
this.gl.bindTexture(this.gl.TEXTURE_2D, texture);
|
|
230
227
|
}
|
|
231
228
|
|
|
232
229
|
private _getActiveTexture(): WebGLTexture | null {
|
|
233
|
-
|
|
234
|
-
return texture2dUnits[activeTextureUnit]!;
|
|
230
|
+
return this.texture2dUnits[this.activeTextureUnit]!;
|
|
235
231
|
}
|
|
236
232
|
|
|
237
233
|
/**
|
|
@@ -246,22 +242,20 @@ export class WebGlContextWrapper {
|
|
|
246
242
|
* @returns
|
|
247
243
|
*/
|
|
248
244
|
texParameteri(pname: number, param: number) {
|
|
249
|
-
const { gl, texture2dParams } = this;
|
|
250
|
-
|
|
251
245
|
const activeTexture = this._getActiveTexture();
|
|
252
246
|
if (!activeTexture) {
|
|
253
247
|
throw new Error('No active texture');
|
|
254
248
|
}
|
|
255
|
-
let textureParams = texture2dParams.get(activeTexture);
|
|
249
|
+
let textureParams = this.texture2dParams.get(activeTexture);
|
|
256
250
|
if (!textureParams) {
|
|
257
251
|
textureParams = {};
|
|
258
|
-
texture2dParams.set(activeTexture, textureParams);
|
|
252
|
+
this.texture2dParams.set(activeTexture, textureParams);
|
|
259
253
|
}
|
|
260
254
|
if (textureParams[pname] === param) {
|
|
261
255
|
return;
|
|
262
256
|
}
|
|
263
257
|
textureParams[pname] = param;
|
|
264
|
-
gl.texParameteri(gl.TEXTURE_2D, pname, param);
|
|
258
|
+
this.gl.texParameteri(this.gl.TEXTURE_2D, pname, param);
|
|
265
259
|
}
|
|
266
260
|
|
|
267
261
|
/**
|
|
@@ -317,10 +311,9 @@ export class WebGlContextWrapper {
|
|
|
317
311
|
type?: any,
|
|
318
312
|
pixels?: any,
|
|
319
313
|
) {
|
|
320
|
-
const { gl } = this;
|
|
321
314
|
if (format) {
|
|
322
|
-
gl.texImage2D(
|
|
323
|
-
gl.TEXTURE_2D,
|
|
315
|
+
this.gl.texImage2D(
|
|
316
|
+
this.gl.TEXTURE_2D,
|
|
324
317
|
level,
|
|
325
318
|
internalFormat,
|
|
326
319
|
widthOrFormat,
|
|
@@ -331,8 +324,8 @@ export class WebGlContextWrapper {
|
|
|
331
324
|
pixels,
|
|
332
325
|
);
|
|
333
326
|
} else {
|
|
334
|
-
gl.texImage2D(
|
|
335
|
-
gl.TEXTURE_2D,
|
|
327
|
+
this.gl.texImage2D(
|
|
328
|
+
this.gl.TEXTURE_2D,
|
|
336
329
|
level,
|
|
337
330
|
internalFormat,
|
|
338
331
|
widthOrFormat,
|
|
@@ -358,9 +351,8 @@ export class WebGlContextWrapper {
|
|
|
358
351
|
border: GLint,
|
|
359
352
|
data?: ArrayBufferView,
|
|
360
353
|
): void {
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
gl.TEXTURE_2D,
|
|
354
|
+
this.gl.compressedTexImage2D(
|
|
355
|
+
this.gl.TEXTURE_2D,
|
|
364
356
|
level,
|
|
365
357
|
internalformat,
|
|
366
358
|
width,
|
|
@@ -378,8 +370,7 @@ export class WebGlContextWrapper {
|
|
|
378
370
|
* @param param
|
|
379
371
|
*/
|
|
380
372
|
pixelStorei(pname: GLenum, param: GLint | GLboolean) {
|
|
381
|
-
|
|
382
|
-
gl.pixelStorei(pname, param);
|
|
373
|
+
this.gl.pixelStorei(pname, param);
|
|
383
374
|
}
|
|
384
375
|
|
|
385
376
|
/**
|
|
@@ -391,8 +382,7 @@ export class WebGlContextWrapper {
|
|
|
391
382
|
* **WebGL Difference**: Bind target is always `gl.TEXTURE_2D`
|
|
392
383
|
*/
|
|
393
384
|
generateMipmap() {
|
|
394
|
-
|
|
395
|
-
gl.generateMipmap(gl.TEXTURE_2D);
|
|
385
|
+
this.gl.generateMipmap(this.gl.TEXTURE_2D);
|
|
396
386
|
}
|
|
397
387
|
|
|
398
388
|
/**
|
|
@@ -403,8 +393,7 @@ export class WebGlContextWrapper {
|
|
|
403
393
|
* @returns
|
|
404
394
|
*/
|
|
405
395
|
createTexture() {
|
|
406
|
-
|
|
407
|
-
return gl.createTexture();
|
|
396
|
+
return this.gl.createTexture();
|
|
408
397
|
}
|
|
409
398
|
|
|
410
399
|
/**
|
|
@@ -415,11 +404,10 @@ export class WebGlContextWrapper {
|
|
|
415
404
|
* @param texture
|
|
416
405
|
*/
|
|
417
406
|
deleteTexture(texture: WebGLTexture | null) {
|
|
418
|
-
const { gl } = this;
|
|
419
407
|
if (texture) {
|
|
420
408
|
this.texture2dParams.delete(texture);
|
|
421
409
|
}
|
|
422
|
-
gl.deleteTexture(texture);
|
|
410
|
+
this.gl.deleteTexture(texture);
|
|
423
411
|
}
|
|
424
412
|
|
|
425
413
|
/**
|
|
@@ -438,8 +426,7 @@ export class WebGlContextWrapper {
|
|
|
438
426
|
* ```
|
|
439
427
|
*/
|
|
440
428
|
viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei) {
|
|
441
|
-
|
|
442
|
-
gl.viewport(x, y, width, height);
|
|
429
|
+
this.gl.viewport(x, y, width, height);
|
|
443
430
|
}
|
|
444
431
|
|
|
445
432
|
/**
|
|
@@ -453,8 +440,7 @@ export class WebGlContextWrapper {
|
|
|
453
440
|
* @param alpha
|
|
454
441
|
*/
|
|
455
442
|
clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) {
|
|
456
|
-
|
|
457
|
-
gl.clearColor(red, green, blue, alpha);
|
|
443
|
+
this.gl.clearColor(red, green, blue, alpha);
|
|
458
444
|
}
|
|
459
445
|
|
|
460
446
|
/**
|
|
@@ -464,14 +450,13 @@ export class WebGlContextWrapper {
|
|
|
464
450
|
* @param enable
|
|
465
451
|
*/
|
|
466
452
|
setScissorTest(enable: boolean) {
|
|
467
|
-
|
|
468
|
-
if (enable === scissorEnabled) {
|
|
453
|
+
if (enable === this.scissorEnabled) {
|
|
469
454
|
return;
|
|
470
455
|
}
|
|
471
456
|
if (enable) {
|
|
472
|
-
gl.enable(gl.SCISSOR_TEST);
|
|
457
|
+
this.gl.enable(this.gl.SCISSOR_TEST);
|
|
473
458
|
} else {
|
|
474
|
-
gl.disable(gl.SCISSOR_TEST);
|
|
459
|
+
this.gl.disable(this.gl.SCISSOR_TEST);
|
|
475
460
|
}
|
|
476
461
|
this.scissorEnabled = enable;
|
|
477
462
|
}
|
|
@@ -487,14 +472,13 @@ export class WebGlContextWrapper {
|
|
|
487
472
|
* @param height
|
|
488
473
|
*/
|
|
489
474
|
scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei) {
|
|
490
|
-
const { gl, scissorX, scissorY, scissorWidth, scissorHeight } = this;
|
|
491
475
|
if (
|
|
492
|
-
x !== scissorX ||
|
|
493
|
-
y !== scissorY ||
|
|
494
|
-
width !== scissorWidth ||
|
|
495
|
-
height !== scissorHeight
|
|
476
|
+
x !== this.scissorX ||
|
|
477
|
+
y !== this.scissorY ||
|
|
478
|
+
width !== this.scissorWidth ||
|
|
479
|
+
height !== this.scissorHeight
|
|
496
480
|
) {
|
|
497
|
-
gl.scissor(x, y, width, height);
|
|
481
|
+
this.gl.scissor(x, y, width, height);
|
|
498
482
|
this.scissorX = x;
|
|
499
483
|
this.scissorY = y;
|
|
500
484
|
this.scissorWidth = width;
|
|
@@ -511,14 +495,13 @@ export class WebGlContextWrapper {
|
|
|
511
495
|
* @returns
|
|
512
496
|
*/
|
|
513
497
|
setBlend(blend: boolean) {
|
|
514
|
-
|
|
515
|
-
if (blend === blendEnabled) {
|
|
498
|
+
if (blend === this.blendEnabled) {
|
|
516
499
|
return;
|
|
517
500
|
}
|
|
518
501
|
if (blend) {
|
|
519
|
-
gl.enable(gl.BLEND);
|
|
502
|
+
this.gl.enable(this.gl.BLEND);
|
|
520
503
|
} else {
|
|
521
|
-
gl.disable(gl.BLEND);
|
|
504
|
+
this.gl.disable(this.gl.BLEND);
|
|
522
505
|
}
|
|
523
506
|
this.blendEnabled = blend;
|
|
524
507
|
}
|
|
@@ -532,14 +515,13 @@ export class WebGlContextWrapper {
|
|
|
532
515
|
* @param dst
|
|
533
516
|
*/
|
|
534
517
|
blendFunc(src: GLenum, dst: GLenum) {
|
|
535
|
-
const { gl, blendSrcRgb, blendDstRgb, blendSrcAlpha, blendDstAlpha } = this;
|
|
536
518
|
if (
|
|
537
|
-
src !== blendSrcRgb ||
|
|
538
|
-
dst !== blendDstRgb ||
|
|
539
|
-
src !== blendSrcAlpha ||
|
|
540
|
-
dst !== blendDstAlpha
|
|
519
|
+
src !== this.blendSrcRgb ||
|
|
520
|
+
dst !== this.blendDstRgb ||
|
|
521
|
+
src !== this.blendSrcAlpha ||
|
|
522
|
+
dst !== this.blendDstAlpha
|
|
541
523
|
) {
|
|
542
|
-
gl.blendFunc(src, dst);
|
|
524
|
+
this.gl.blendFunc(src, dst);
|
|
543
525
|
this.blendSrcRgb = src;
|
|
544
526
|
this.blendDstRgb = dst;
|
|
545
527
|
this.blendSrcAlpha = src;
|
|
@@ -555,8 +537,7 @@ export class WebGlContextWrapper {
|
|
|
555
537
|
* @returns
|
|
556
538
|
*/
|
|
557
539
|
createBuffer() {
|
|
558
|
-
|
|
559
|
-
return gl.createBuffer();
|
|
540
|
+
return this.gl.createBuffer();
|
|
560
541
|
}
|
|
561
542
|
|
|
562
543
|
/**
|
|
@@ -566,8 +547,7 @@ export class WebGlContextWrapper {
|
|
|
566
547
|
* @returns
|
|
567
548
|
*/
|
|
568
549
|
createFramebuffer() {
|
|
569
|
-
|
|
570
|
-
return gl.createFramebuffer();
|
|
550
|
+
return this.gl.createFramebuffer();
|
|
571
551
|
}
|
|
572
552
|
|
|
573
553
|
/**
|
|
@@ -578,8 +558,7 @@ export class WebGlContextWrapper {
|
|
|
578
558
|
* @param framebuffer
|
|
579
559
|
*/
|
|
580
560
|
bindFramebuffer(framebuffer: WebGLFramebuffer | null) {
|
|
581
|
-
|
|
582
|
-
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
|
|
561
|
+
this.gl.bindFramebuffer(this.gl.FRAMEBUFFER, framebuffer);
|
|
583
562
|
}
|
|
584
563
|
|
|
585
564
|
/**
|
|
@@ -595,7 +574,7 @@ export class WebGlContextWrapper {
|
|
|
595
574
|
texture: WebGLTexture | null,
|
|
596
575
|
level: GLint,
|
|
597
576
|
) {
|
|
598
|
-
const
|
|
577
|
+
const gl = this.gl;
|
|
599
578
|
gl.framebufferTexture2D(
|
|
600
579
|
gl.FRAMEBUFFER,
|
|
601
580
|
attachment,
|
|
@@ -614,8 +593,7 @@ export class WebGlContextWrapper {
|
|
|
614
593
|
* **WebGL Difference**: Clear mask is always `gl.COLOR_BUFFER_BIT`
|
|
615
594
|
*/
|
|
616
595
|
clear() {
|
|
617
|
-
|
|
618
|
-
gl.clear(gl.COLOR_BUFFER_BIT);
|
|
596
|
+
this.gl.clear(this.gl.COLOR_BUFFER_BIT);
|
|
619
597
|
}
|
|
620
598
|
|
|
621
599
|
/**
|
|
@@ -636,12 +614,11 @@ export class WebGlContextWrapper {
|
|
|
636
614
|
data: ArrayBufferView,
|
|
637
615
|
usage: GLenum,
|
|
638
616
|
) {
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
|
|
617
|
+
if (this.boundArrayBuffer !== buffer) {
|
|
618
|
+
this.gl.bindBuffer(this.gl.ARRAY_BUFFER, buffer);
|
|
642
619
|
this.boundArrayBuffer = buffer;
|
|
643
620
|
}
|
|
644
|
-
gl.bufferData(gl.ARRAY_BUFFER, data, usage);
|
|
621
|
+
this.gl.bufferData(this.gl.ARRAY_BUFFER, data, usage);
|
|
645
622
|
}
|
|
646
623
|
|
|
647
624
|
/**
|
|
@@ -661,12 +638,11 @@ export class WebGlContextWrapper {
|
|
|
661
638
|
data: ArrayBufferView,
|
|
662
639
|
usage: GLenum,
|
|
663
640
|
) {
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, buffer);
|
|
641
|
+
if (this.boundElementArrayBuffer !== buffer) {
|
|
642
|
+
this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER, buffer);
|
|
667
643
|
this.boundElementArrayBuffer = buffer;
|
|
668
644
|
}
|
|
669
|
-
gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, data, usage);
|
|
645
|
+
this.gl.bufferData(this.gl.ELEMENT_ARRAY_BUFFER, data, usage);
|
|
670
646
|
}
|
|
671
647
|
|
|
672
648
|
/**
|
|
@@ -695,12 +671,50 @@ export class WebGlContextWrapper {
|
|
|
695
671
|
stride: GLsizei,
|
|
696
672
|
offset: GLintptr,
|
|
697
673
|
) {
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
|
|
674
|
+
if (this.boundArrayBuffer !== buffer) {
|
|
675
|
+
this.gl.bindBuffer(this.gl.ARRAY_BUFFER, buffer);
|
|
701
676
|
this.boundArrayBuffer = buffer;
|
|
702
677
|
}
|
|
703
|
-
gl.vertexAttribPointer(index, size, type, normalized, stride, offset);
|
|
678
|
+
this.gl.vertexAttribPointer(index, size, type, normalized, stride, offset);
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
/**
|
|
682
|
+
* Returns object with Attribute names as key and numbers as location values
|
|
683
|
+
*
|
|
684
|
+
* @param program
|
|
685
|
+
* @returns object with numbers
|
|
686
|
+
*/
|
|
687
|
+
getUniformLocations(program: WebGLProgram): Record<string, number> {
|
|
688
|
+
const gl = this.gl;
|
|
689
|
+
const length = gl.getProgramParameter(
|
|
690
|
+
program,
|
|
691
|
+
gl.ACTIVE_UNIFORMS,
|
|
692
|
+
) as number;
|
|
693
|
+
const result = {} as Record<string, number>;
|
|
694
|
+
for (let i = 0; i < length; i++) {
|
|
695
|
+
const { name } = gl.getActiveUniform(program, i) as WebGLActiveInfo;
|
|
696
|
+
result[name] = i;
|
|
697
|
+
}
|
|
698
|
+
return result;
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
/**
|
|
702
|
+
* Returns object with Attribute names as key and numbers as location values
|
|
703
|
+
* @param program
|
|
704
|
+
* @returns object with numbers
|
|
705
|
+
*/
|
|
706
|
+
getAttributeLocations(program: WebGLProgram): Record<string, number> {
|
|
707
|
+
const gl = this.gl;
|
|
708
|
+
const length = gl.getProgramParameter(
|
|
709
|
+
program,
|
|
710
|
+
gl.ACTIVE_ATTRIBUTES,
|
|
711
|
+
) as number;
|
|
712
|
+
const result = {} as Record<string, number>;
|
|
713
|
+
for (let i = 0; i < length; i++) {
|
|
714
|
+
const { name } = gl.getActiveAttrib(program, i) as WebGLActiveInfo;
|
|
715
|
+
result[name] = i;
|
|
716
|
+
}
|
|
717
|
+
return result;
|
|
704
718
|
}
|
|
705
719
|
|
|
706
720
|
/**
|
|
@@ -712,11 +726,10 @@ export class WebGlContextWrapper {
|
|
|
712
726
|
* @returns
|
|
713
727
|
*/
|
|
714
728
|
useProgram(program: WebGLProgram | null) {
|
|
715
|
-
|
|
716
|
-
if (curProgram === program) {
|
|
729
|
+
if (this.curProgram === program) {
|
|
717
730
|
return;
|
|
718
731
|
}
|
|
719
|
-
gl.useProgram(program);
|
|
732
|
+
this.gl.useProgram(program);
|
|
720
733
|
this.curProgram = program;
|
|
721
734
|
}
|
|
722
735
|
|
|
@@ -726,9 +739,11 @@ export class WebGlContextWrapper {
|
|
|
726
739
|
* @param location - The location of the uniform variable.
|
|
727
740
|
* @param v0 - The value to set.
|
|
728
741
|
*/
|
|
729
|
-
uniform1f(location:
|
|
730
|
-
|
|
731
|
-
|
|
742
|
+
uniform1f(location: string, v0: number) {
|
|
743
|
+
this.gl.uniform1f(
|
|
744
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
745
|
+
v0,
|
|
746
|
+
);
|
|
732
747
|
}
|
|
733
748
|
|
|
734
749
|
/**
|
|
@@ -737,12 +752,11 @@ export class WebGlContextWrapper {
|
|
|
737
752
|
* @param location - The location of the uniform variable.
|
|
738
753
|
* @param value - The array of values to set.
|
|
739
754
|
*/
|
|
740
|
-
uniform1fv(
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
gl.uniform1fv(location, value);
|
|
755
|
+
uniform1fv(location: string, value: Float32Array) {
|
|
756
|
+
this.gl.uniform1fv(
|
|
757
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
758
|
+
value,
|
|
759
|
+
);
|
|
746
760
|
}
|
|
747
761
|
|
|
748
762
|
/**
|
|
@@ -751,9 +765,11 @@ export class WebGlContextWrapper {
|
|
|
751
765
|
* @param location - The location of the uniform variable.
|
|
752
766
|
* @param v0 - The value to set.
|
|
753
767
|
*/
|
|
754
|
-
uniform1i(location:
|
|
755
|
-
|
|
756
|
-
|
|
768
|
+
uniform1i(location: string, v0: number) {
|
|
769
|
+
this.gl.uniform1i(
|
|
770
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
771
|
+
v0,
|
|
772
|
+
);
|
|
757
773
|
}
|
|
758
774
|
|
|
759
775
|
/**
|
|
@@ -762,12 +778,11 @@ export class WebGlContextWrapper {
|
|
|
762
778
|
* @param location - The location of the uniform variable.
|
|
763
779
|
* @param value - The array of values to set.
|
|
764
780
|
*/
|
|
765
|
-
uniform1iv(
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
gl.uniform1iv(location, value);
|
|
781
|
+
uniform1iv(location: string, value: Int32Array) {
|
|
782
|
+
this.gl.uniform1iv(
|
|
783
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
784
|
+
value,
|
|
785
|
+
);
|
|
771
786
|
}
|
|
772
787
|
|
|
773
788
|
/**
|
|
@@ -777,9 +792,12 @@ export class WebGlContextWrapper {
|
|
|
777
792
|
* @param v0 - The first component of the vector.
|
|
778
793
|
* @param v1 - The second component of the vector.
|
|
779
794
|
*/
|
|
780
|
-
uniform2f(location:
|
|
781
|
-
|
|
782
|
-
|
|
795
|
+
uniform2f(location: string, v0: number, v1: number) {
|
|
796
|
+
this.gl.uniform2f(
|
|
797
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
798
|
+
v0,
|
|
799
|
+
v1,
|
|
800
|
+
);
|
|
783
801
|
}
|
|
784
802
|
|
|
785
803
|
/**
|
|
@@ -788,12 +806,11 @@ export class WebGlContextWrapper {
|
|
|
788
806
|
* @param location - The location of the uniform variable.
|
|
789
807
|
* @param value - The array of vec2 values to set.
|
|
790
808
|
*/
|
|
791
|
-
uniform2fv(
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
gl.uniform2fv(location, value);
|
|
809
|
+
uniform2fv(location: string, value: Float32Array) {
|
|
810
|
+
this.gl.uniform2fv(
|
|
811
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
812
|
+
value,
|
|
813
|
+
);
|
|
797
814
|
}
|
|
798
815
|
|
|
799
816
|
/**
|
|
@@ -803,9 +820,12 @@ export class WebGlContextWrapper {
|
|
|
803
820
|
* @param v0 - The first component of the vector.
|
|
804
821
|
* @param v1 - The second component of the vector.
|
|
805
822
|
*/
|
|
806
|
-
uniform2i(location:
|
|
807
|
-
|
|
808
|
-
|
|
823
|
+
uniform2i(location: string, v0: number, v1: number) {
|
|
824
|
+
this.gl.uniform2i(
|
|
825
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
826
|
+
v0,
|
|
827
|
+
v1,
|
|
828
|
+
);
|
|
809
829
|
}
|
|
810
830
|
|
|
811
831
|
/**
|
|
@@ -814,12 +834,11 @@ export class WebGlContextWrapper {
|
|
|
814
834
|
* @param location - The location of the uniform variable.
|
|
815
835
|
* @param value - The array of ivec2 values to set.
|
|
816
836
|
*/
|
|
817
|
-
uniform2iv(
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
gl.uniform2iv(location, value);
|
|
837
|
+
uniform2iv(location: string, value: Int32Array) {
|
|
838
|
+
this.gl.uniform2iv(
|
|
839
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
840
|
+
value,
|
|
841
|
+
);
|
|
823
842
|
}
|
|
824
843
|
|
|
825
844
|
/**
|
|
@@ -830,14 +849,13 @@ export class WebGlContextWrapper {
|
|
|
830
849
|
* @param v1 - The second component of the vector.
|
|
831
850
|
* @param v2 - The third component of the vector.
|
|
832
851
|
*/
|
|
833
|
-
uniform3f(
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
gl.uniform3f(location, v0, v1, v2);
|
|
852
|
+
uniform3f(location: string, v0: number, v1: number, v2: number) {
|
|
853
|
+
this.gl.uniform3f(
|
|
854
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
855
|
+
v0,
|
|
856
|
+
v1,
|
|
857
|
+
v2,
|
|
858
|
+
);
|
|
841
859
|
}
|
|
842
860
|
|
|
843
861
|
/**
|
|
@@ -846,12 +864,11 @@ export class WebGlContextWrapper {
|
|
|
846
864
|
* @param location - The location of the uniform variable.
|
|
847
865
|
* @param value - The array of vec3 values to set.
|
|
848
866
|
*/
|
|
849
|
-
uniform3fv(
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
gl.uniform3fv(location, value);
|
|
867
|
+
uniform3fv(location: string, value: Float32Array) {
|
|
868
|
+
this.gl.uniform3fv(
|
|
869
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
870
|
+
value,
|
|
871
|
+
);
|
|
855
872
|
}
|
|
856
873
|
|
|
857
874
|
/**
|
|
@@ -862,14 +879,13 @@ export class WebGlContextWrapper {
|
|
|
862
879
|
* @param v1 - The second component of the vector.
|
|
863
880
|
* @param v2 - The third component of the vector.
|
|
864
881
|
*/
|
|
865
|
-
uniform3i(
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
gl.uniform3i(location, v0, v1, v2);
|
|
882
|
+
uniform3i(location: string, v0: number, v1: number, v2: number) {
|
|
883
|
+
this.gl.uniform3i(
|
|
884
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
885
|
+
v0,
|
|
886
|
+
v1,
|
|
887
|
+
v2,
|
|
888
|
+
);
|
|
873
889
|
}
|
|
874
890
|
|
|
875
891
|
/**
|
|
@@ -878,12 +894,11 @@ export class WebGlContextWrapper {
|
|
|
878
894
|
* @param location - The location of the uniform variable.
|
|
879
895
|
* @param value - The array of ivec3 values to set.
|
|
880
896
|
*/
|
|
881
|
-
uniform3iv(
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
gl.uniform3iv(location, value);
|
|
897
|
+
uniform3iv(location: string, value: Int32Array) {
|
|
898
|
+
this.gl.uniform3iv(
|
|
899
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
900
|
+
value,
|
|
901
|
+
);
|
|
887
902
|
}
|
|
888
903
|
|
|
889
904
|
/**
|
|
@@ -895,15 +910,14 @@ export class WebGlContextWrapper {
|
|
|
895
910
|
* @param v2 - The third component of the vector.
|
|
896
911
|
* @param v3 - The fourth component of the vector.
|
|
897
912
|
*/
|
|
898
|
-
uniform4f(
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
gl.uniform4f(location, v0, v1, v2, v3);
|
|
913
|
+
uniform4f(location: string, v0: number, v1: number, v2: number, v3: number) {
|
|
914
|
+
this.gl.uniform4f(
|
|
915
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
916
|
+
v0,
|
|
917
|
+
v1,
|
|
918
|
+
v2,
|
|
919
|
+
v3,
|
|
920
|
+
);
|
|
907
921
|
}
|
|
908
922
|
|
|
909
923
|
/**
|
|
@@ -912,12 +926,11 @@ export class WebGlContextWrapper {
|
|
|
912
926
|
* @param location - The location of the uniform variable.
|
|
913
927
|
* @param value - The array of vec4 values to set.
|
|
914
928
|
*/
|
|
915
|
-
uniform4fv(
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
gl.uniform4fv(location, value);
|
|
929
|
+
uniform4fv(location: string, value: Float32Array) {
|
|
930
|
+
this.gl.uniform4fv(
|
|
931
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
932
|
+
value,
|
|
933
|
+
);
|
|
921
934
|
}
|
|
922
935
|
|
|
923
936
|
/**
|
|
@@ -929,15 +942,14 @@ export class WebGlContextWrapper {
|
|
|
929
942
|
* @param v2 - The third component of the vector.
|
|
930
943
|
* @param v3 - The fourth component of the vector.
|
|
931
944
|
*/
|
|
932
|
-
uniform4i(
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
gl.uniform4i(location, v0, v1, v2, v3);
|
|
945
|
+
uniform4i(location: string, v0: number, v1: number, v2: number, v3: number) {
|
|
946
|
+
this.gl.uniform4i(
|
|
947
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
948
|
+
v0,
|
|
949
|
+
v1,
|
|
950
|
+
v2,
|
|
951
|
+
v3,
|
|
952
|
+
);
|
|
941
953
|
}
|
|
942
954
|
|
|
943
955
|
/**
|
|
@@ -946,12 +958,11 @@ export class WebGlContextWrapper {
|
|
|
946
958
|
* @param location - The location of the uniform variable.
|
|
947
959
|
* @param value - The array of ivec4 values to set.
|
|
948
960
|
*/
|
|
949
|
-
uniform4iv(
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
gl.uniform4iv(location, value);
|
|
961
|
+
uniform4iv(location: string, value: Int32Array) {
|
|
962
|
+
this.gl.uniform4iv(
|
|
963
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
964
|
+
value,
|
|
965
|
+
);
|
|
955
966
|
}
|
|
956
967
|
|
|
957
968
|
/**
|
|
@@ -961,12 +972,12 @@ export class WebGlContextWrapper {
|
|
|
961
972
|
* @param transpose - Whether to transpose the matrix.
|
|
962
973
|
* @param value - The array of mat2 values to set.
|
|
963
974
|
*/
|
|
964
|
-
uniformMatrix2fv(
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
975
|
+
uniformMatrix2fv(location: string, value: Float32Array) {
|
|
976
|
+
this.gl.uniformMatrix2fv(
|
|
977
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
978
|
+
false,
|
|
979
|
+
value,
|
|
980
|
+
);
|
|
970
981
|
}
|
|
971
982
|
|
|
972
983
|
/**
|
|
@@ -974,12 +985,12 @@ export class WebGlContextWrapper {
|
|
|
974
985
|
* @param location - The location of the uniform variable.
|
|
975
986
|
* @param value - The array of mat2 values to set.
|
|
976
987
|
*/
|
|
977
|
-
uniformMatrix3fv(
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
988
|
+
uniformMatrix3fv(location: string, value: Float32Array) {
|
|
989
|
+
this.gl.uniformMatrix3fv(
|
|
990
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
991
|
+
false,
|
|
992
|
+
value,
|
|
993
|
+
);
|
|
983
994
|
}
|
|
984
995
|
|
|
985
996
|
/**
|
|
@@ -987,12 +998,12 @@ export class WebGlContextWrapper {
|
|
|
987
998
|
* @param location - The location of the uniform variable.
|
|
988
999
|
* @param value - The array of mat4 values to set.
|
|
989
1000
|
*/
|
|
990
|
-
uniformMatrix4fv(
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
1001
|
+
uniformMatrix4fv(location: string, value: Float32Array) {
|
|
1002
|
+
this.gl.uniformMatrix4fv(
|
|
1003
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
1004
|
+
false,
|
|
1005
|
+
value,
|
|
1006
|
+
);
|
|
996
1007
|
}
|
|
997
1008
|
|
|
998
1009
|
/**
|
|
@@ -1004,8 +1015,7 @@ export class WebGlContextWrapper {
|
|
|
1004
1015
|
* @returns
|
|
1005
1016
|
*/
|
|
1006
1017
|
getParameter(pname: GLenum): any {
|
|
1007
|
-
|
|
1008
|
-
return gl.getParameter(pname);
|
|
1018
|
+
return this.gl.getParameter(pname);
|
|
1009
1019
|
}
|
|
1010
1020
|
|
|
1011
1021
|
/**
|
|
@@ -1019,8 +1029,7 @@ export class WebGlContextWrapper {
|
|
|
1019
1029
|
* @param offset
|
|
1020
1030
|
*/
|
|
1021
1031
|
drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr) {
|
|
1022
|
-
|
|
1023
|
-
gl.drawElements(mode, count, type, offset);
|
|
1032
|
+
this.gl.drawElements(mode, count, type, offset);
|
|
1024
1033
|
}
|
|
1025
1034
|
|
|
1026
1035
|
/**
|
|
@@ -1032,8 +1041,7 @@ export class WebGlContextWrapper {
|
|
|
1032
1041
|
* @returns
|
|
1033
1042
|
*/
|
|
1034
1043
|
getExtension(name: string) {
|
|
1035
|
-
|
|
1036
|
-
return gl.getExtension(name);
|
|
1044
|
+
return this.gl.getExtension(name);
|
|
1037
1045
|
}
|
|
1038
1046
|
|
|
1039
1047
|
/**
|
|
@@ -1044,8 +1052,7 @@ export class WebGlContextWrapper {
|
|
|
1044
1052
|
* @returns
|
|
1045
1053
|
*/
|
|
1046
1054
|
getError() {
|
|
1047
|
-
|
|
1048
|
-
return gl.getError();
|
|
1055
|
+
return this.gl.getError();
|
|
1049
1056
|
}
|
|
1050
1057
|
|
|
1051
1058
|
/**
|
|
@@ -1056,9 +1063,10 @@ export class WebGlContextWrapper {
|
|
|
1056
1063
|
* @returns
|
|
1057
1064
|
*/
|
|
1058
1065
|
createVertexArray() {
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1066
|
+
if (this.gl instanceof WebGL2RenderingContext) {
|
|
1067
|
+
return this.gl.createVertexArray();
|
|
1068
|
+
}
|
|
1069
|
+
return undefined;
|
|
1062
1070
|
}
|
|
1063
1071
|
|
|
1064
1072
|
/**
|
|
@@ -1069,9 +1077,9 @@ export class WebGlContextWrapper {
|
|
|
1069
1077
|
* @param vertexArray
|
|
1070
1078
|
*/
|
|
1071
1079
|
bindVertexArray(vertexArray: WebGLVertexArrayObject | null) {
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1080
|
+
if (this.gl instanceof WebGL2RenderingContext) {
|
|
1081
|
+
this.gl.bindVertexArray(vertexArray);
|
|
1082
|
+
}
|
|
1075
1083
|
}
|
|
1076
1084
|
|
|
1077
1085
|
/**
|
|
@@ -1084,8 +1092,7 @@ export class WebGlContextWrapper {
|
|
|
1084
1092
|
* @returns
|
|
1085
1093
|
*/
|
|
1086
1094
|
getAttribLocation(program: WebGLProgram, name: string) {
|
|
1087
|
-
|
|
1088
|
-
return gl.getAttribLocation(program, name);
|
|
1095
|
+
return this.gl.getAttribLocation(program, name);
|
|
1089
1096
|
}
|
|
1090
1097
|
|
|
1091
1098
|
/**
|
|
@@ -1098,8 +1105,7 @@ export class WebGlContextWrapper {
|
|
|
1098
1105
|
* @returns
|
|
1099
1106
|
*/
|
|
1100
1107
|
getUniformLocation(program: WebGLProgram, name: string) {
|
|
1101
|
-
|
|
1102
|
-
return gl.getUniformLocation(program, name);
|
|
1108
|
+
return this.gl.getUniformLocation(program, name);
|
|
1103
1109
|
}
|
|
1104
1110
|
|
|
1105
1111
|
/**
|
|
@@ -1110,8 +1116,7 @@ export class WebGlContextWrapper {
|
|
|
1110
1116
|
* @param index
|
|
1111
1117
|
*/
|
|
1112
1118
|
enableVertexAttribArray(index: number) {
|
|
1113
|
-
|
|
1114
|
-
gl.enableVertexAttribArray(index);
|
|
1119
|
+
this.gl.enableVertexAttribArray(index);
|
|
1115
1120
|
}
|
|
1116
1121
|
|
|
1117
1122
|
/**
|
|
@@ -1122,8 +1127,7 @@ export class WebGlContextWrapper {
|
|
|
1122
1127
|
* @param index
|
|
1123
1128
|
*/
|
|
1124
1129
|
disableVertexAttribArray(index: number) {
|
|
1125
|
-
|
|
1126
|
-
gl.disableVertexAttribArray(index);
|
|
1130
|
+
this.gl.disableVertexAttribArray(index);
|
|
1127
1131
|
}
|
|
1128
1132
|
|
|
1129
1133
|
/**
|
|
@@ -1135,8 +1139,7 @@ export class WebGlContextWrapper {
|
|
|
1135
1139
|
* @returns
|
|
1136
1140
|
*/
|
|
1137
1141
|
createShader(type: number) {
|
|
1138
|
-
|
|
1139
|
-
return gl.createShader(type);
|
|
1142
|
+
return this.gl.createShader(type);
|
|
1140
1143
|
}
|
|
1141
1144
|
|
|
1142
1145
|
/**
|
|
@@ -1148,8 +1151,7 @@ export class WebGlContextWrapper {
|
|
|
1148
1151
|
* @returns
|
|
1149
1152
|
*/
|
|
1150
1153
|
compileShader(shader: WebGLShader) {
|
|
1151
|
-
|
|
1152
|
-
gl.compileShader(shader);
|
|
1154
|
+
this.gl.compileShader(shader);
|
|
1153
1155
|
}
|
|
1154
1156
|
|
|
1155
1157
|
/**
|
|
@@ -1161,8 +1163,7 @@ export class WebGlContextWrapper {
|
|
|
1161
1163
|
* @param shader
|
|
1162
1164
|
*/
|
|
1163
1165
|
attachShader(program: WebGLProgram, shader: WebGLShader) {
|
|
1164
|
-
|
|
1165
|
-
gl.attachShader(program, shader);
|
|
1166
|
+
this.gl.attachShader(program, shader);
|
|
1166
1167
|
}
|
|
1167
1168
|
|
|
1168
1169
|
/**
|
|
@@ -1173,8 +1174,7 @@ export class WebGlContextWrapper {
|
|
|
1173
1174
|
* @param program
|
|
1174
1175
|
*/
|
|
1175
1176
|
linkProgram(program: WebGLProgram) {
|
|
1176
|
-
|
|
1177
|
-
gl.linkProgram(program);
|
|
1177
|
+
this.gl.linkProgram(program);
|
|
1178
1178
|
}
|
|
1179
1179
|
|
|
1180
1180
|
/**
|
|
@@ -1185,8 +1185,7 @@ export class WebGlContextWrapper {
|
|
|
1185
1185
|
* @param shader
|
|
1186
1186
|
*/
|
|
1187
1187
|
deleteProgram(shader: WebGLProgram) {
|
|
1188
|
-
|
|
1189
|
-
gl.deleteProgram(shader);
|
|
1188
|
+
this.gl.deleteProgram(shader);
|
|
1190
1189
|
}
|
|
1191
1190
|
|
|
1192
1191
|
/**
|
|
@@ -1198,8 +1197,7 @@ export class WebGlContextWrapper {
|
|
|
1198
1197
|
* @param pname
|
|
1199
1198
|
*/
|
|
1200
1199
|
getShaderParameter(shader: WebGLShader, pname: GLenum) {
|
|
1201
|
-
|
|
1202
|
-
return gl.getShaderParameter(shader, pname);
|
|
1200
|
+
return this.gl.getShaderParameter(shader, pname);
|
|
1203
1201
|
}
|
|
1204
1202
|
|
|
1205
1203
|
/**
|
|
@@ -1210,8 +1208,7 @@ export class WebGlContextWrapper {
|
|
|
1210
1208
|
* @param shader
|
|
1211
1209
|
*/
|
|
1212
1210
|
getShaderInfoLog(shader: WebGLShader) {
|
|
1213
|
-
|
|
1214
|
-
return gl.getShaderInfoLog(shader);
|
|
1211
|
+
return this.gl.getShaderInfoLog(shader);
|
|
1215
1212
|
}
|
|
1216
1213
|
|
|
1217
1214
|
/**
|
|
@@ -1222,8 +1219,7 @@ export class WebGlContextWrapper {
|
|
|
1222
1219
|
* @returns
|
|
1223
1220
|
*/
|
|
1224
1221
|
createProgram() {
|
|
1225
|
-
|
|
1226
|
-
return gl.createProgram();
|
|
1222
|
+
return this.gl.createProgram();
|
|
1227
1223
|
}
|
|
1228
1224
|
|
|
1229
1225
|
/**
|
|
@@ -1236,8 +1232,7 @@ export class WebGlContextWrapper {
|
|
|
1236
1232
|
* @returns
|
|
1237
1233
|
*/
|
|
1238
1234
|
getProgramParameter(program: WebGLProgram, pname: GLenum) {
|
|
1239
|
-
|
|
1240
|
-
return gl.getProgramParameter(program, pname);
|
|
1235
|
+
return this.gl.getProgramParameter(program, pname);
|
|
1241
1236
|
}
|
|
1242
1237
|
|
|
1243
1238
|
/**
|
|
@@ -1249,8 +1244,7 @@ export class WebGlContextWrapper {
|
|
|
1249
1244
|
* @returns
|
|
1250
1245
|
*/
|
|
1251
1246
|
getProgramInfoLog(program: WebGLProgram) {
|
|
1252
|
-
|
|
1253
|
-
return gl.getProgramInfoLog(program);
|
|
1247
|
+
return this.gl.getProgramInfoLog(program);
|
|
1254
1248
|
}
|
|
1255
1249
|
|
|
1256
1250
|
/**
|
|
@@ -1262,8 +1256,7 @@ export class WebGlContextWrapper {
|
|
|
1262
1256
|
* @param source
|
|
1263
1257
|
*/
|
|
1264
1258
|
shaderSource(shader: WebGLShader, source: string) {
|
|
1265
|
-
|
|
1266
|
-
gl.shaderSource(shader, source);
|
|
1259
|
+
this.gl.shaderSource(shader, source);
|
|
1267
1260
|
}
|
|
1268
1261
|
|
|
1269
1262
|
/**
|
|
@@ -1274,8 +1267,7 @@ export class WebGlContextWrapper {
|
|
|
1274
1267
|
* @param shader
|
|
1275
1268
|
*/
|
|
1276
1269
|
deleteShader(shader: WebGLShader) {
|
|
1277
|
-
|
|
1278
|
-
gl.deleteShader(shader);
|
|
1270
|
+
this.gl.deleteShader(shader);
|
|
1279
1271
|
}
|
|
1280
1272
|
}
|
|
1281
1273
|
|