@lightningjs/renderer 2.13.0 → 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/LICENSE +202 -202
- package/NOTICE +3 -3
- package/README.md +147 -147
- 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/core-api.d.ts +74 -0
- package/dist/exports/core-api.js +96 -0
- package/dist/exports/core-api.js.map +1 -0
- 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/main-api.d.ts +30 -0
- package/dist/exports/main-api.js +45 -0
- package/dist/exports/main-api.js.map +1 -0
- 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/CoreExtension.d.ts +12 -0
- package/{src/core/renderers/CoreShader.ts → dist/src/core/CoreExtension.js} +29 -41
- package/dist/src/core/CoreExtension.js.map +1 -0
- package/dist/src/core/CoreNode.d.ts +9 -5
- package/dist/src/core/CoreNode.js +27 -10
- 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/CoreStuff.d.ts +1 -0
- package/dist/src/core/CoreStuff.js +138 -0
- package/dist/src/core/CoreStuff.js.map +1 -0
- package/dist/src/core/CoreTextNode.js +1 -1
- package/dist/src/core/CoreTextNode.js.map +1 -1
- package/dist/src/core/CoreTexturizer.d.ts +14 -0
- package/dist/src/core/CoreTexturizer.js +47 -0
- package/dist/src/core/CoreTexturizer.js.map +1 -0
- package/dist/src/core/LngNode.d.ts +736 -0
- package/dist/src/core/LngNode.js +1174 -0
- package/dist/src/core/LngNode.js.map +1 -0
- package/dist/src/core/Matrix2DContext.d.ts +15 -0
- package/dist/src/core/Matrix2DContext.js +45 -0
- package/dist/src/core/Matrix2DContext.js.map +1 -0
- package/dist/src/core/ShaderNode.d.ts +10 -0
- package/dist/src/core/ShaderNode.js +30 -0
- package/dist/src/core/ShaderNode.js.map +1 -0
- package/dist/src/core/Stage.d.ts +11 -14
- package/dist/src/core/Stage.js +22 -25
- package/dist/src/core/Stage.js.map +1 -1
- package/dist/src/core/TextNode.d.ts +103 -0
- package/dist/src/core/TextNode.js +331 -0
- package/dist/src/core/TextNode.js.map +1 -0
- 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/Coords.d.ts +14 -0
- package/dist/src/core/lib/Coords.js +55 -0
- package/dist/src/core/lib/Coords.js.map +1 -0
- 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/glm/common.d.ts +162 -0
- package/dist/src/core/lib/glm/common.js +81 -0
- package/dist/src/core/lib/glm/common.js.map +1 -0
- package/dist/src/core/lib/glm/index.d.ts +11 -0
- package/dist/src/core/lib/glm/index.js +30 -0
- package/dist/src/core/lib/glm/index.js.map +1 -0
- package/dist/src/core/lib/glm/mat2.d.ts +219 -0
- package/dist/src/core/lib/glm/mat2.js +396 -0
- package/dist/src/core/lib/glm/mat2.js.map +1 -0
- package/dist/src/core/lib/glm/mat2d.d.ts +237 -0
- package/dist/src/core/lib/glm/mat2d.js +442 -0
- package/dist/src/core/lib/glm/mat2d.js.map +1 -0
- package/dist/src/core/lib/glm/mat3.d.ts +283 -0
- package/dist/src/core/lib/glm/mat3.js +680 -0
- package/dist/src/core/lib/glm/mat3.js.map +1 -0
- package/dist/src/core/lib/glm/mat4.d.ts +550 -0
- package/dist/src/core/lib/glm/mat4.js +1802 -0
- package/dist/src/core/lib/glm/mat4.js.map +1 -0
- package/dist/src/core/lib/glm/quat.d.ts +363 -0
- package/dist/src/core/lib/glm/quat.js +693 -0
- package/dist/src/core/lib/glm/quat.js.map +1 -0
- package/dist/src/core/lib/glm/quat2.d.ts +356 -0
- package/dist/src/core/lib/glm/quat2.js +754 -0
- package/dist/src/core/lib/glm/quat2.js.map +1 -0
- package/dist/src/core/lib/glm/vec2.d.ts +365 -0
- package/dist/src/core/lib/glm/vec2.js +569 -0
- package/dist/src/core/lib/glm/vec2.js.map +1 -0
- package/dist/src/core/lib/glm/vec3.d.ts +406 -0
- package/dist/src/core/lib/glm/vec3.js +720 -0
- package/dist/src/core/lib/glm/vec3.js.map +1 -0
- package/dist/src/core/lib/glm/vec4.d.ts +330 -0
- package/dist/src/core/lib/glm/vec4.js +608 -0
- package/dist/src/core/lib/glm/vec4.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 +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/platform.js +1 -0
- 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/CoreShaderManager.d.ts +19 -0
- package/dist/src/core/renderers/CoreShaderManager.js +33 -0
- package/dist/src/core/renderers/CoreShaderManager.js.map +1 -0
- 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/dist/src/core/renderers/CoreShaderProgram.js +20 -0
- 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/WebGlCoreShaderManager.d.ts +27 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.js +82 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.d.ts +11 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.js +34 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.js.map +1 -0
- 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/renderers/webgl/shaders/DefaultShader.js +45 -45
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +61 -61
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +93 -93
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +63 -63
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js +62 -62
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +15 -15
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +6 -6
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +15 -15
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +15 -15
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +15 -15
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +42 -42
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +44 -44
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +3 -3
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +22 -22
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +28 -28
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +10 -10
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +37 -37
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +19 -19
- package/dist/src/core/scene/Scene.d.ts +59 -0
- package/dist/src/core/scene/Scene.js +106 -0
- package/dist/src/core/scene/Scene.js.map +1 -0
- 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/SdfTextRenderer/internal/makeRenderWindow.d.ts +20 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js +55 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js.map +1 -0
- 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/Texture.d.ts +1 -1
- package/dist/src/main-api/ICoreDriver.d.ts +27 -0
- package/dist/src/main-api/ICoreDriver.js +20 -0
- package/dist/src/main-api/ICoreDriver.js.map +1 -0
- package/dist/src/main-api/INode.d.ts +9 -9
- package/dist/src/main-api/IRenderDriver.d.ts +20 -0
- package/dist/src/main-api/IRenderDriver.js +20 -0
- package/dist/src/main-api/IRenderDriver.js.map +1 -0
- package/dist/src/main-api/IShaderController.d.ts +14 -0
- package/dist/src/main-api/IShaderController.js +30 -0
- package/dist/src/main-api/IShaderController.js.map +1 -0
- package/dist/src/main-api/IShaderNode.d.ts +17 -0
- package/dist/src/main-api/IShaderNode.js +19 -0
- package/dist/src/main-api/IShaderNode.js.map +1 -0
- package/dist/src/main-api/Renderer.d.ts +8 -91
- package/dist/src/main-api/Renderer.js +3 -54
- package/dist/src/main-api/Renderer.js.map +1 -1
- package/dist/src/main-api/RendererMain.d.ts +375 -0
- package/dist/src/main-api/RendererMain.js +365 -0
- package/dist/src/main-api/RendererMain.js.map +1 -0
- package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.d.ts +9 -0
- package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js +38 -0
- package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js.map +1 -0
- package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.d.ts +56 -0
- package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js +101 -0
- package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js.map +1 -0
- package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.d.ts +32 -0
- package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js +28 -0
- package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js.map +1 -0
- package/dist/src/render-drivers/main/MainCoreDriver.d.ts +24 -0
- package/dist/src/render-drivers/main/MainCoreDriver.js +118 -0
- package/dist/src/render-drivers/main/MainCoreDriver.js.map +1 -0
- package/dist/src/render-drivers/main/MainOnlyNode.d.ts +99 -0
- package/dist/src/render-drivers/main/MainOnlyNode.js +396 -0
- package/dist/src/render-drivers/main/MainOnlyNode.js.map +1 -0
- package/dist/src/render-drivers/main/MainOnlyShaderController.d.ts +6 -0
- package/dist/src/render-drivers/main/MainOnlyShaderController.js +15 -0
- package/dist/src/render-drivers/main/MainOnlyShaderController.js.map +1 -0
- package/dist/src/render-drivers/main/MainOnlyShaderNode.d.ts +7 -0
- package/dist/src/render-drivers/main/MainOnlyShaderNode.js +34 -0
- package/dist/src/render-drivers/main/MainOnlyShaderNode.js.map +1 -0
- package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +47 -0
- package/dist/src/render-drivers/main/MainOnlyTextNode.js +205 -0
- package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +1 -0
- package/dist/src/render-drivers/main/MainRenderDriver.d.ts +17 -0
- package/dist/src/render-drivers/main/MainRenderDriver.js +88 -0
- package/dist/src/render-drivers/main/MainRenderDriver.js.map +1 -0
- package/dist/src/render-drivers/threadx/NodeStruct.d.ts +90 -0
- package/dist/src/render-drivers/threadx/NodeStruct.js +281 -0
- package/dist/src/render-drivers/threadx/NodeStruct.js.map +1 -0
- package/dist/src/render-drivers/threadx/SharedNode.d.ts +39 -0
- package/dist/src/render-drivers/threadx/SharedNode.js +60 -0
- package/dist/src/render-drivers/threadx/SharedNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/TextNodeStruct.d.ts +44 -0
- package/dist/src/render-drivers/threadx/TextNodeStruct.js +201 -0
- package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +28 -0
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +234 -0
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +20 -0
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +84 -0
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +44 -0
- package/dist/src/render-drivers/threadx/ThreadXMainNode.js +154 -0
- package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainShaderController.d.ts +6 -0
- package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js +16 -0
- package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.d.ts +7 -0
- package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js +15 -0
- package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.d.ts +28 -0
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +55 -0
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXRenderDriver.d.ts +21 -0
- package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js +198 -0
- package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +70 -0
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js +32 -0
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +1 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.d.ts +19 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +177 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.d.ts +27 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +108 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/worker/renderer.d.ts +1 -0
- package/dist/src/render-drivers/threadx/worker/renderer.js +145 -0
- package/dist/src/render-drivers/threadx/worker/renderer.js.map +1 -0
- package/dist/src/render-drivers/utils.d.ts +12 -0
- package/dist/src/render-drivers/utils.js +69 -0
- package/dist/src/render-drivers/utils.js.map +1 -0
- 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 +45 -39
- package/exports/index.ts +89 -89
- package/exports/inspector.ts +24 -24
- package/exports/utils.ts +44 -44
- package/exports/webgl-shaders.ts +28 -0
- package/exports/webgl.ts +50 -38
- package/package.json +4 -1
- package/scripts/please-use-pnpm.js +13 -13
- 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 +203 -202
- package/src/core/CoreNode.ts +2476 -2455
- package/src/core/CoreShaderManager.ts +193 -292
- package/src/core/CoreTextNode.ts +448 -455
- package/src/core/CoreTextureManager.ts +597 -597
- package/src/core/Stage.ts +740 -743
- package/src/core/TextureMemoryManager.ts +395 -395
- package/src/core/animations/AnimationManager.ts +38 -38
- package/src/core/animations/CoreAnimation.ts +284 -340
- package/src/core/animations/CoreAnimationController.ts +157 -157
- package/src/core/lib/ContextSpy.ts +41 -41
- package/src/core/lib/ImageWorker.ts +279 -279
- package/src/core/lib/Matrix3d.ts +244 -244
- package/src/core/lib/RenderCoords.ts +86 -86
- package/src/core/lib/WebGlContextWrapper.ts +1324 -1332
- package/src/core/lib/textureCompression.ts +152 -152
- package/src/core/lib/textureSvg.ts +78 -78
- package/src/core/lib/utils.ts +361 -310
- package/src/core/lib/validateImageBitmap.ts +76 -76
- package/src/core/platform.ts +64 -63
- package/src/core/renderers/CoreContextTexture.ts +43 -43
- package/src/core/renderers/CoreRenderOp.ts +22 -22
- package/src/core/renderers/CoreRenderer.ts +107 -115
- package/src/core/renderers/CoreShaderNode.ts +171 -0
- package/src/core/renderers/{canvas/shaders/UnsupportedShader.ts → CoreShaderProgram.ts} +23 -48
- 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} +153 -153
- package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +220 -231
- package/src/core/renderers/canvas/internal/ColorUtils.ts +85 -69
- package/src/core/renderers/webgl/{WebGlCoreCtxRenderTexture.ts → WebGlCtxRenderTexture.ts} +86 -86
- package/src/core/renderers/webgl/{WebGlCoreCtxSubTexture.ts → WebGlCtxSubTexture.ts} +50 -50
- package/src/core/renderers/webgl/{WebGlCoreCtxTexture.ts → WebGlCtxTexture.ts} +301 -301
- package/src/core/renderers/webgl/{WebGlCoreRenderOp.ts → WebGlRenderOp.ts} +145 -125
- package/src/core/renderers/webgl/{WebGlCoreRenderer.ts → WebGlRenderer.ts} +715 -815
- package/src/core/renderers/webgl/WebGlShaderNode.ts +433 -0
- package/src/core/renderers/webgl/WebGlShaderProgram.ts +310 -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 +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/TextRenderingUtils.ts +36 -36
- package/src/core/text-rendering/TextTextureRendererUtils.ts +263 -263
- package/src/core/text-rendering/TrFontManager.ts +183 -183
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +176 -176
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +139 -139
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +173 -173
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +171 -171
- package/src/core/text-rendering/font-face-types/TrFontFace.ts +187 -187
- package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +94 -94
- package/src/core/text-rendering/font-face-types/utils.ts +39 -39
- package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +509 -509
- package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +815 -808
- package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +841 -853
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +48 -48
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +66 -66
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +52 -52
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts +32 -32
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +117 -117
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +133 -133
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts +38 -38
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +408 -408
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +49 -49
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +52 -52
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +205 -205
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +93 -93
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +40 -40
- package/src/core/text-rendering/renderers/TextRenderer.ts +550 -557
- package/src/core/textures/ColorTexture.ts +102 -102
- package/src/core/textures/ImageTexture.ts +376 -376
- 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 +337 -337
- package/src/core/utils.ts +227 -227
- package/src/env.d.ts +7 -7
- package/src/main-api/INode.ts +99 -101
- package/src/main-api/Inspector.ts +522 -522
- package/src/main-api/Renderer.ts +649 -751
- package/src/main-api/utils.ts +45 -45
- package/src/utils.ts +267 -248
- package/COPYING +0 -1
- 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
|
@@ -176,9 +176,8 @@ export class WebGlContextWrapper {
|
|
|
176
176
|
* @param textureUnit
|
|
177
177
|
*/
|
|
178
178
|
activeTexture(textureUnit) {
|
|
179
|
-
const { gl } = this;
|
|
180
179
|
if (this.activeTextureUnit !== textureUnit) {
|
|
181
|
-
gl.activeTexture(textureUnit + gl.TEXTURE0);
|
|
180
|
+
this.gl.activeTexture(textureUnit + this.gl.TEXTURE0);
|
|
182
181
|
this.activeTextureUnit = textureUnit;
|
|
183
182
|
}
|
|
184
183
|
}
|
|
@@ -192,16 +191,14 @@ export class WebGlContextWrapper {
|
|
|
192
191
|
* @param texture
|
|
193
192
|
*/
|
|
194
193
|
bindTexture(texture) {
|
|
195
|
-
|
|
196
|
-
if (texture2dUnits[activeTextureUnit] === texture) {
|
|
194
|
+
if (this.texture2dUnits[this.activeTextureUnit] === texture) {
|
|
197
195
|
return;
|
|
198
196
|
}
|
|
199
|
-
texture2dUnits[activeTextureUnit] = texture;
|
|
200
|
-
gl.bindTexture(this.gl.TEXTURE_2D, texture);
|
|
197
|
+
this.texture2dUnits[this.activeTextureUnit] = texture;
|
|
198
|
+
this.gl.bindTexture(this.gl.TEXTURE_2D, texture);
|
|
201
199
|
}
|
|
202
200
|
_getActiveTexture() {
|
|
203
|
-
|
|
204
|
-
return texture2dUnits[activeTextureUnit];
|
|
201
|
+
return this.texture2dUnits[this.activeTextureUnit];
|
|
205
202
|
}
|
|
206
203
|
/**
|
|
207
204
|
* ```
|
|
@@ -215,29 +212,27 @@ export class WebGlContextWrapper {
|
|
|
215
212
|
* @returns
|
|
216
213
|
*/
|
|
217
214
|
texParameteri(pname, param) {
|
|
218
|
-
const { gl, texture2dParams } = this;
|
|
219
215
|
const activeTexture = this._getActiveTexture();
|
|
220
216
|
if (!activeTexture) {
|
|
221
217
|
throw new Error('No active texture');
|
|
222
218
|
}
|
|
223
|
-
let textureParams = texture2dParams.get(activeTexture);
|
|
219
|
+
let textureParams = this.texture2dParams.get(activeTexture);
|
|
224
220
|
if (!textureParams) {
|
|
225
221
|
textureParams = {};
|
|
226
|
-
texture2dParams.set(activeTexture, textureParams);
|
|
222
|
+
this.texture2dParams.set(activeTexture, textureParams);
|
|
227
223
|
}
|
|
228
224
|
if (textureParams[pname] === param) {
|
|
229
225
|
return;
|
|
230
226
|
}
|
|
231
227
|
textureParams[pname] = param;
|
|
232
|
-
gl.texParameteri(gl.TEXTURE_2D, pname, param);
|
|
228
|
+
this.gl.texParameteri(this.gl.TEXTURE_2D, pname, param);
|
|
233
229
|
}
|
|
234
230
|
texImage2D(level, internalFormat, widthOrFormat, heightOrType, borderOrSource, format, type, pixels) {
|
|
235
|
-
const { gl } = this;
|
|
236
231
|
if (format) {
|
|
237
|
-
gl.texImage2D(gl.TEXTURE_2D, level, internalFormat, widthOrFormat, heightOrType, borderOrSource, format, type, pixels);
|
|
232
|
+
this.gl.texImage2D(this.gl.TEXTURE_2D, level, internalFormat, widthOrFormat, heightOrType, borderOrSource, format, type, pixels);
|
|
238
233
|
}
|
|
239
234
|
else {
|
|
240
|
-
gl.texImage2D(gl.TEXTURE_2D, level, internalFormat, widthOrFormat, heightOrType, borderOrSource);
|
|
235
|
+
this.gl.texImage2D(this.gl.TEXTURE_2D, level, internalFormat, widthOrFormat, heightOrType, borderOrSource);
|
|
241
236
|
}
|
|
242
237
|
}
|
|
243
238
|
/**
|
|
@@ -249,8 +244,7 @@ export class WebGlContextWrapper {
|
|
|
249
244
|
* **WebGL Difference**: Bind target is always `gl.TEXTURE_2D`
|
|
250
245
|
*/
|
|
251
246
|
compressedTexImage2D(level, internalformat, width, height, border, data) {
|
|
252
|
-
|
|
253
|
-
gl.compressedTexImage2D(gl.TEXTURE_2D, level, internalformat, width, height, border, data);
|
|
247
|
+
this.gl.compressedTexImage2D(this.gl.TEXTURE_2D, level, internalformat, width, height, border, data);
|
|
254
248
|
}
|
|
255
249
|
/**
|
|
256
250
|
* ```
|
|
@@ -261,8 +255,7 @@ export class WebGlContextWrapper {
|
|
|
261
255
|
* @param param
|
|
262
256
|
*/
|
|
263
257
|
pixelStorei(pname, param) {
|
|
264
|
-
|
|
265
|
-
gl.pixelStorei(pname, param);
|
|
258
|
+
this.gl.pixelStorei(pname, param);
|
|
266
259
|
}
|
|
267
260
|
/**
|
|
268
261
|
* ```
|
|
@@ -273,8 +266,7 @@ export class WebGlContextWrapper {
|
|
|
273
266
|
* **WebGL Difference**: Bind target is always `gl.TEXTURE_2D`
|
|
274
267
|
*/
|
|
275
268
|
generateMipmap() {
|
|
276
|
-
|
|
277
|
-
gl.generateMipmap(gl.TEXTURE_2D);
|
|
269
|
+
this.gl.generateMipmap(this.gl.TEXTURE_2D);
|
|
278
270
|
}
|
|
279
271
|
/**
|
|
280
272
|
* ```
|
|
@@ -284,8 +276,7 @@ export class WebGlContextWrapper {
|
|
|
284
276
|
* @returns
|
|
285
277
|
*/
|
|
286
278
|
createTexture() {
|
|
287
|
-
|
|
288
|
-
return gl.createTexture();
|
|
279
|
+
return this.gl.createTexture();
|
|
289
280
|
}
|
|
290
281
|
/**
|
|
291
282
|
* ```
|
|
@@ -295,11 +286,10 @@ export class WebGlContextWrapper {
|
|
|
295
286
|
* @param texture
|
|
296
287
|
*/
|
|
297
288
|
deleteTexture(texture) {
|
|
298
|
-
const { gl } = this;
|
|
299
289
|
if (texture) {
|
|
300
290
|
this.texture2dParams.delete(texture);
|
|
301
291
|
}
|
|
302
|
-
gl.deleteTexture(texture);
|
|
292
|
+
this.gl.deleteTexture(texture);
|
|
303
293
|
}
|
|
304
294
|
/**
|
|
305
295
|
* ```
|
|
@@ -316,8 +306,7 @@ export class WebGlContextWrapper {
|
|
|
316
306
|
* ```
|
|
317
307
|
*/
|
|
318
308
|
viewport(x, y, width, height) {
|
|
319
|
-
|
|
320
|
-
gl.viewport(x, y, width, height);
|
|
309
|
+
this.gl.viewport(x, y, width, height);
|
|
321
310
|
}
|
|
322
311
|
/**
|
|
323
312
|
* ```
|
|
@@ -330,8 +319,7 @@ export class WebGlContextWrapper {
|
|
|
330
319
|
* @param alpha
|
|
331
320
|
*/
|
|
332
321
|
clearColor(red, green, blue, alpha) {
|
|
333
|
-
|
|
334
|
-
gl.clearColor(red, green, blue, alpha);
|
|
322
|
+
this.gl.clearColor(red, green, blue, alpha);
|
|
335
323
|
}
|
|
336
324
|
/**
|
|
337
325
|
* ```
|
|
@@ -340,15 +328,14 @@ export class WebGlContextWrapper {
|
|
|
340
328
|
* @param enable
|
|
341
329
|
*/
|
|
342
330
|
setScissorTest(enable) {
|
|
343
|
-
|
|
344
|
-
if (enable === scissorEnabled) {
|
|
331
|
+
if (enable === this.scissorEnabled) {
|
|
345
332
|
return;
|
|
346
333
|
}
|
|
347
334
|
if (enable) {
|
|
348
|
-
gl.enable(gl.SCISSOR_TEST);
|
|
335
|
+
this.gl.enable(this.gl.SCISSOR_TEST);
|
|
349
336
|
}
|
|
350
337
|
else {
|
|
351
|
-
gl.disable(gl.SCISSOR_TEST);
|
|
338
|
+
this.gl.disable(this.gl.SCISSOR_TEST);
|
|
352
339
|
}
|
|
353
340
|
this.scissorEnabled = enable;
|
|
354
341
|
}
|
|
@@ -363,12 +350,11 @@ export class WebGlContextWrapper {
|
|
|
363
350
|
* @param height
|
|
364
351
|
*/
|
|
365
352
|
scissor(x, y, width, height) {
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
gl.scissor(x, y, width, height);
|
|
353
|
+
if (x !== this.scissorX ||
|
|
354
|
+
y !== this.scissorY ||
|
|
355
|
+
width !== this.scissorWidth ||
|
|
356
|
+
height !== this.scissorHeight) {
|
|
357
|
+
this.gl.scissor(x, y, width, height);
|
|
372
358
|
this.scissorX = x;
|
|
373
359
|
this.scissorY = y;
|
|
374
360
|
this.scissorWidth = width;
|
|
@@ -384,15 +370,14 @@ export class WebGlContextWrapper {
|
|
|
384
370
|
* @returns
|
|
385
371
|
*/
|
|
386
372
|
setBlend(blend) {
|
|
387
|
-
|
|
388
|
-
if (blend === blendEnabled) {
|
|
373
|
+
if (blend === this.blendEnabled) {
|
|
389
374
|
return;
|
|
390
375
|
}
|
|
391
376
|
if (blend) {
|
|
392
|
-
gl.enable(gl.BLEND);
|
|
377
|
+
this.gl.enable(this.gl.BLEND);
|
|
393
378
|
}
|
|
394
379
|
else {
|
|
395
|
-
gl.disable(gl.BLEND);
|
|
380
|
+
this.gl.disable(this.gl.BLEND);
|
|
396
381
|
}
|
|
397
382
|
this.blendEnabled = blend;
|
|
398
383
|
}
|
|
@@ -405,12 +390,11 @@ export class WebGlContextWrapper {
|
|
|
405
390
|
* @param dst
|
|
406
391
|
*/
|
|
407
392
|
blendFunc(src, dst) {
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
dst
|
|
413
|
-
gl.blendFunc(src, dst);
|
|
393
|
+
if (src !== this.blendSrcRgb ||
|
|
394
|
+
dst !== this.blendDstRgb ||
|
|
395
|
+
src !== this.blendSrcAlpha ||
|
|
396
|
+
dst !== this.blendDstAlpha) {
|
|
397
|
+
this.gl.blendFunc(src, dst);
|
|
414
398
|
this.blendSrcRgb = src;
|
|
415
399
|
this.blendDstRgb = dst;
|
|
416
400
|
this.blendSrcAlpha = src;
|
|
@@ -425,8 +409,7 @@ export class WebGlContextWrapper {
|
|
|
425
409
|
* @returns
|
|
426
410
|
*/
|
|
427
411
|
createBuffer() {
|
|
428
|
-
|
|
429
|
-
return gl.createBuffer();
|
|
412
|
+
return this.gl.createBuffer();
|
|
430
413
|
}
|
|
431
414
|
/**
|
|
432
415
|
* ```
|
|
@@ -435,8 +418,7 @@ export class WebGlContextWrapper {
|
|
|
435
418
|
* @returns
|
|
436
419
|
*/
|
|
437
420
|
createFramebuffer() {
|
|
438
|
-
|
|
439
|
-
return gl.createFramebuffer();
|
|
421
|
+
return this.gl.createFramebuffer();
|
|
440
422
|
}
|
|
441
423
|
/**
|
|
442
424
|
* ```
|
|
@@ -446,8 +428,7 @@ export class WebGlContextWrapper {
|
|
|
446
428
|
* @param framebuffer
|
|
447
429
|
*/
|
|
448
430
|
bindFramebuffer(framebuffer) {
|
|
449
|
-
|
|
450
|
-
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
|
|
431
|
+
this.gl.bindFramebuffer(this.gl.FRAMEBUFFER, framebuffer);
|
|
451
432
|
}
|
|
452
433
|
/**
|
|
453
434
|
* ```
|
|
@@ -457,7 +438,7 @@ export class WebGlContextWrapper {
|
|
|
457
438
|
* **WebGL Difference**: Bind target is always `gl.FRAMEBUFFER` and textarget is always `gl.TEXTURE_2D`
|
|
458
439
|
*/
|
|
459
440
|
framebufferTexture2D(attachment, texture, level) {
|
|
460
|
-
const
|
|
441
|
+
const gl = this.gl;
|
|
461
442
|
gl.framebufferTexture2D(gl.FRAMEBUFFER, attachment, gl.TEXTURE_2D, texture, level);
|
|
462
443
|
}
|
|
463
444
|
/**
|
|
@@ -469,8 +450,7 @@ export class WebGlContextWrapper {
|
|
|
469
450
|
* **WebGL Difference**: Clear mask is always `gl.COLOR_BUFFER_BIT`
|
|
470
451
|
*/
|
|
471
452
|
clear() {
|
|
472
|
-
|
|
473
|
-
gl.clear(gl.COLOR_BUFFER_BIT);
|
|
453
|
+
this.gl.clear(this.gl.COLOR_BUFFER_BIT);
|
|
474
454
|
}
|
|
475
455
|
/**
|
|
476
456
|
* ```
|
|
@@ -486,12 +466,11 @@ export class WebGlContextWrapper {
|
|
|
486
466
|
* @param usage
|
|
487
467
|
*/
|
|
488
468
|
arrayBufferData(buffer, data, usage) {
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
|
|
469
|
+
if (this.boundArrayBuffer !== buffer) {
|
|
470
|
+
this.gl.bindBuffer(this.gl.ARRAY_BUFFER, buffer);
|
|
492
471
|
this.boundArrayBuffer = buffer;
|
|
493
472
|
}
|
|
494
|
-
gl.bufferData(gl.ARRAY_BUFFER, data, usage);
|
|
473
|
+
this.gl.bufferData(this.gl.ARRAY_BUFFER, data, usage);
|
|
495
474
|
}
|
|
496
475
|
/**
|
|
497
476
|
* ```
|
|
@@ -506,12 +485,11 @@ export class WebGlContextWrapper {
|
|
|
506
485
|
* @param usage
|
|
507
486
|
*/
|
|
508
487
|
elementArrayBufferData(buffer, data, usage) {
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, buffer);
|
|
488
|
+
if (this.boundElementArrayBuffer !== buffer) {
|
|
489
|
+
this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER, buffer);
|
|
512
490
|
this.boundElementArrayBuffer = buffer;
|
|
513
491
|
}
|
|
514
|
-
gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, data, usage);
|
|
492
|
+
this.gl.bufferData(this.gl.ELEMENT_ARRAY_BUFFER, data, usage);
|
|
515
493
|
}
|
|
516
494
|
/**
|
|
517
495
|
* ```
|
|
@@ -531,12 +509,42 @@ export class WebGlContextWrapper {
|
|
|
531
509
|
* @param offset
|
|
532
510
|
*/
|
|
533
511
|
vertexAttribPointer(buffer, index, size, type, normalized, stride, offset) {
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
|
|
512
|
+
if (this.boundArrayBuffer !== buffer) {
|
|
513
|
+
this.gl.bindBuffer(this.gl.ARRAY_BUFFER, buffer);
|
|
537
514
|
this.boundArrayBuffer = buffer;
|
|
538
515
|
}
|
|
539
|
-
gl.vertexAttribPointer(index, size, type, normalized, stride, offset);
|
|
516
|
+
this.gl.vertexAttribPointer(index, size, type, normalized, stride, offset);
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
519
|
+
* Returns object with Attribute names as key and numbers as location values
|
|
520
|
+
*
|
|
521
|
+
* @param program
|
|
522
|
+
* @returns object with numbers
|
|
523
|
+
*/
|
|
524
|
+
getUniformLocations(program) {
|
|
525
|
+
const gl = this.gl;
|
|
526
|
+
const length = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);
|
|
527
|
+
const result = {};
|
|
528
|
+
for (let i = 0; i < length; i++) {
|
|
529
|
+
const { name } = gl.getActiveUniform(program, i);
|
|
530
|
+
result[name] = i;
|
|
531
|
+
}
|
|
532
|
+
return result;
|
|
533
|
+
}
|
|
534
|
+
/**
|
|
535
|
+
* Returns object with Attribute names as key and numbers as location values
|
|
536
|
+
* @param program
|
|
537
|
+
* @returns object with numbers
|
|
538
|
+
*/
|
|
539
|
+
getAttributeLocations(program) {
|
|
540
|
+
const gl = this.gl;
|
|
541
|
+
const length = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);
|
|
542
|
+
const result = {};
|
|
543
|
+
for (let i = 0; i < length; i++) {
|
|
544
|
+
const { name } = gl.getActiveAttrib(program, i);
|
|
545
|
+
result[name] = i;
|
|
546
|
+
}
|
|
547
|
+
return result;
|
|
540
548
|
}
|
|
541
549
|
/**
|
|
542
550
|
* ```
|
|
@@ -547,11 +555,10 @@ export class WebGlContextWrapper {
|
|
|
547
555
|
* @returns
|
|
548
556
|
*/
|
|
549
557
|
useProgram(program) {
|
|
550
|
-
|
|
551
|
-
if (curProgram === program) {
|
|
558
|
+
if (this.curProgram === program) {
|
|
552
559
|
return;
|
|
553
560
|
}
|
|
554
|
-
gl.useProgram(program);
|
|
561
|
+
this.gl.useProgram(program);
|
|
555
562
|
this.curProgram = program;
|
|
556
563
|
}
|
|
557
564
|
/**
|
|
@@ -561,8 +568,7 @@ export class WebGlContextWrapper {
|
|
|
561
568
|
* @param v0 - The value to set.
|
|
562
569
|
*/
|
|
563
570
|
uniform1f(location, v0) {
|
|
564
|
-
|
|
565
|
-
gl.uniform1f(location, v0);
|
|
571
|
+
this.gl.uniform1f(this.gl.getUniformLocation(this.curProgram, location), v0);
|
|
566
572
|
}
|
|
567
573
|
/**
|
|
568
574
|
* Sets the value of a float array uniform variable.
|
|
@@ -571,8 +577,7 @@ export class WebGlContextWrapper {
|
|
|
571
577
|
* @param value - The array of values to set.
|
|
572
578
|
*/
|
|
573
579
|
uniform1fv(location, value) {
|
|
574
|
-
|
|
575
|
-
gl.uniform1fv(location, value);
|
|
580
|
+
this.gl.uniform1fv(this.gl.getUniformLocation(this.curProgram, location), value);
|
|
576
581
|
}
|
|
577
582
|
/**
|
|
578
583
|
* Sets the value of a single integer uniform variable.
|
|
@@ -581,8 +586,7 @@ export class WebGlContextWrapper {
|
|
|
581
586
|
* @param v0 - The value to set.
|
|
582
587
|
*/
|
|
583
588
|
uniform1i(location, v0) {
|
|
584
|
-
|
|
585
|
-
gl.uniform1i(location, v0);
|
|
589
|
+
this.gl.uniform1i(this.gl.getUniformLocation(this.curProgram, location), v0);
|
|
586
590
|
}
|
|
587
591
|
/**
|
|
588
592
|
* Sets the value of an integer array uniform variable.
|
|
@@ -591,8 +595,7 @@ export class WebGlContextWrapper {
|
|
|
591
595
|
* @param value - The array of values to set.
|
|
592
596
|
*/
|
|
593
597
|
uniform1iv(location, value) {
|
|
594
|
-
|
|
595
|
-
gl.uniform1iv(location, value);
|
|
598
|
+
this.gl.uniform1iv(this.gl.getUniformLocation(this.curProgram, location), value);
|
|
596
599
|
}
|
|
597
600
|
/**
|
|
598
601
|
* Sets the value of a vec2 uniform variable.
|
|
@@ -602,8 +605,7 @@ export class WebGlContextWrapper {
|
|
|
602
605
|
* @param v1 - The second component of the vector.
|
|
603
606
|
*/
|
|
604
607
|
uniform2f(location, v0, v1) {
|
|
605
|
-
|
|
606
|
-
gl.uniform2f(location, v0, v1);
|
|
608
|
+
this.gl.uniform2f(this.gl.getUniformLocation(this.curProgram, location), v0, v1);
|
|
607
609
|
}
|
|
608
610
|
/**
|
|
609
611
|
* Sets the value of a vec2 array uniform variable.
|
|
@@ -612,8 +614,7 @@ export class WebGlContextWrapper {
|
|
|
612
614
|
* @param value - The array of vec2 values to set.
|
|
613
615
|
*/
|
|
614
616
|
uniform2fv(location, value) {
|
|
615
|
-
|
|
616
|
-
gl.uniform2fv(location, value);
|
|
617
|
+
this.gl.uniform2fv(this.gl.getUniformLocation(this.curProgram, location), value);
|
|
617
618
|
}
|
|
618
619
|
/**
|
|
619
620
|
* Sets the value of a ivec2 uniform variable.
|
|
@@ -623,8 +624,7 @@ export class WebGlContextWrapper {
|
|
|
623
624
|
* @param v1 - The second component of the vector.
|
|
624
625
|
*/
|
|
625
626
|
uniform2i(location, v0, v1) {
|
|
626
|
-
|
|
627
|
-
gl.uniform2i(location, v0, v1);
|
|
627
|
+
this.gl.uniform2i(this.gl.getUniformLocation(this.curProgram, location), v0, v1);
|
|
628
628
|
}
|
|
629
629
|
/**
|
|
630
630
|
* Sets the value of an ivec2 array uniform variable.
|
|
@@ -633,8 +633,7 @@ export class WebGlContextWrapper {
|
|
|
633
633
|
* @param value - The array of ivec2 values to set.
|
|
634
634
|
*/
|
|
635
635
|
uniform2iv(location, value) {
|
|
636
|
-
|
|
637
|
-
gl.uniform2iv(location, value);
|
|
636
|
+
this.gl.uniform2iv(this.gl.getUniformLocation(this.curProgram, location), value);
|
|
638
637
|
}
|
|
639
638
|
/**
|
|
640
639
|
* Sets the value of a vec3 uniform variable.
|
|
@@ -645,8 +644,7 @@ export class WebGlContextWrapper {
|
|
|
645
644
|
* @param v2 - The third component of the vector.
|
|
646
645
|
*/
|
|
647
646
|
uniform3f(location, v0, v1, v2) {
|
|
648
|
-
|
|
649
|
-
gl.uniform3f(location, v0, v1, v2);
|
|
647
|
+
this.gl.uniform3f(this.gl.getUniformLocation(this.curProgram, location), v0, v1, v2);
|
|
650
648
|
}
|
|
651
649
|
/**
|
|
652
650
|
* Sets the value of a vec3 array uniform variable.
|
|
@@ -655,8 +653,7 @@ export class WebGlContextWrapper {
|
|
|
655
653
|
* @param value - The array of vec3 values to set.
|
|
656
654
|
*/
|
|
657
655
|
uniform3fv(location, value) {
|
|
658
|
-
|
|
659
|
-
gl.uniform3fv(location, value);
|
|
656
|
+
this.gl.uniform3fv(this.gl.getUniformLocation(this.curProgram, location), value);
|
|
660
657
|
}
|
|
661
658
|
/**
|
|
662
659
|
* Sets the value of a ivec3 uniform variable.
|
|
@@ -667,8 +664,7 @@ export class WebGlContextWrapper {
|
|
|
667
664
|
* @param v2 - The third component of the vector.
|
|
668
665
|
*/
|
|
669
666
|
uniform3i(location, v0, v1, v2) {
|
|
670
|
-
|
|
671
|
-
gl.uniform3i(location, v0, v1, v2);
|
|
667
|
+
this.gl.uniform3i(this.gl.getUniformLocation(this.curProgram, location), v0, v1, v2);
|
|
672
668
|
}
|
|
673
669
|
/**
|
|
674
670
|
* Sets the value of an ivec3 array uniform variable.
|
|
@@ -677,8 +673,7 @@ export class WebGlContextWrapper {
|
|
|
677
673
|
* @param value - The array of ivec3 values to set.
|
|
678
674
|
*/
|
|
679
675
|
uniform3iv(location, value) {
|
|
680
|
-
|
|
681
|
-
gl.uniform3iv(location, value);
|
|
676
|
+
this.gl.uniform3iv(this.gl.getUniformLocation(this.curProgram, location), value);
|
|
682
677
|
}
|
|
683
678
|
/**
|
|
684
679
|
* Sets the value of a vec4 uniform variable.
|
|
@@ -690,8 +685,7 @@ export class WebGlContextWrapper {
|
|
|
690
685
|
* @param v3 - The fourth component of the vector.
|
|
691
686
|
*/
|
|
692
687
|
uniform4f(location, v0, v1, v2, v3) {
|
|
693
|
-
|
|
694
|
-
gl.uniform4f(location, v0, v1, v2, v3);
|
|
688
|
+
this.gl.uniform4f(this.gl.getUniformLocation(this.curProgram, location), v0, v1, v2, v3);
|
|
695
689
|
}
|
|
696
690
|
/**
|
|
697
691
|
* Sets the value of a vec4 array uniform variable.
|
|
@@ -700,8 +694,7 @@ export class WebGlContextWrapper {
|
|
|
700
694
|
* @param value - The array of vec4 values to set.
|
|
701
695
|
*/
|
|
702
696
|
uniform4fv(location, value) {
|
|
703
|
-
|
|
704
|
-
gl.uniform4fv(location, value);
|
|
697
|
+
this.gl.uniform4fv(this.gl.getUniformLocation(this.curProgram, location), value);
|
|
705
698
|
}
|
|
706
699
|
/**
|
|
707
700
|
* Sets the value of a ivec4 uniform variable.
|
|
@@ -713,8 +706,7 @@ export class WebGlContextWrapper {
|
|
|
713
706
|
* @param v3 - The fourth component of the vector.
|
|
714
707
|
*/
|
|
715
708
|
uniform4i(location, v0, v1, v2, v3) {
|
|
716
|
-
|
|
717
|
-
gl.uniform4i(location, v0, v1, v2, v3);
|
|
709
|
+
this.gl.uniform4i(this.gl.getUniformLocation(this.curProgram, location), v0, v1, v2, v3);
|
|
718
710
|
}
|
|
719
711
|
/**
|
|
720
712
|
* Sets the value of an ivec4 array uniform variable.
|
|
@@ -723,8 +715,7 @@ export class WebGlContextWrapper {
|
|
|
723
715
|
* @param value - The array of ivec4 values to set.
|
|
724
716
|
*/
|
|
725
717
|
uniform4iv(location, value) {
|
|
726
|
-
|
|
727
|
-
gl.uniform4iv(location, value);
|
|
718
|
+
this.gl.uniform4iv(this.gl.getUniformLocation(this.curProgram, location), value);
|
|
728
719
|
}
|
|
729
720
|
/**
|
|
730
721
|
* Sets the value of a mat2 uniform variable.
|
|
@@ -734,8 +725,7 @@ export class WebGlContextWrapper {
|
|
|
734
725
|
* @param value - The array of mat2 values to set.
|
|
735
726
|
*/
|
|
736
727
|
uniformMatrix2fv(location, value) {
|
|
737
|
-
|
|
738
|
-
gl.uniformMatrix2fv(location, false, value);
|
|
728
|
+
this.gl.uniformMatrix2fv(this.gl.getUniformLocation(this.curProgram, location), false, value);
|
|
739
729
|
}
|
|
740
730
|
/**
|
|
741
731
|
* Sets the value of a mat2 uniform variable.
|
|
@@ -743,8 +733,7 @@ export class WebGlContextWrapper {
|
|
|
743
733
|
* @param value - The array of mat2 values to set.
|
|
744
734
|
*/
|
|
745
735
|
uniformMatrix3fv(location, value) {
|
|
746
|
-
|
|
747
|
-
gl.uniformMatrix3fv(location, false, value);
|
|
736
|
+
this.gl.uniformMatrix3fv(this.gl.getUniformLocation(this.curProgram, location), false, value);
|
|
748
737
|
}
|
|
749
738
|
/**
|
|
750
739
|
* Sets the value of a mat4 uniform variable.
|
|
@@ -752,8 +741,7 @@ export class WebGlContextWrapper {
|
|
|
752
741
|
* @param value - The array of mat4 values to set.
|
|
753
742
|
*/
|
|
754
743
|
uniformMatrix4fv(location, value) {
|
|
755
|
-
|
|
756
|
-
gl.uniformMatrix4fv(location, false, value);
|
|
744
|
+
this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.curProgram, location), false, value);
|
|
757
745
|
}
|
|
758
746
|
/**
|
|
759
747
|
* ```
|
|
@@ -764,8 +752,7 @@ export class WebGlContextWrapper {
|
|
|
764
752
|
* @returns
|
|
765
753
|
*/
|
|
766
754
|
getParameter(pname) {
|
|
767
|
-
|
|
768
|
-
return gl.getParameter(pname);
|
|
755
|
+
return this.gl.getParameter(pname);
|
|
769
756
|
}
|
|
770
757
|
/**
|
|
771
758
|
* ```
|
|
@@ -778,8 +765,7 @@ export class WebGlContextWrapper {
|
|
|
778
765
|
* @param offset
|
|
779
766
|
*/
|
|
780
767
|
drawElements(mode, count, type, offset) {
|
|
781
|
-
|
|
782
|
-
gl.drawElements(mode, count, type, offset);
|
|
768
|
+
this.gl.drawElements(mode, count, type, offset);
|
|
783
769
|
}
|
|
784
770
|
/**
|
|
785
771
|
* ```
|
|
@@ -790,8 +776,7 @@ export class WebGlContextWrapper {
|
|
|
790
776
|
* @returns
|
|
791
777
|
*/
|
|
792
778
|
getExtension(name) {
|
|
793
|
-
|
|
794
|
-
return gl.getExtension(name);
|
|
779
|
+
return this.gl.getExtension(name);
|
|
795
780
|
}
|
|
796
781
|
/**
|
|
797
782
|
* ```
|
|
@@ -801,8 +786,7 @@ export class WebGlContextWrapper {
|
|
|
801
786
|
* @returns
|
|
802
787
|
*/
|
|
803
788
|
getError() {
|
|
804
|
-
|
|
805
|
-
return gl.getError();
|
|
789
|
+
return this.gl.getError();
|
|
806
790
|
}
|
|
807
791
|
/**
|
|
808
792
|
* ```
|
|
@@ -812,9 +796,10 @@ export class WebGlContextWrapper {
|
|
|
812
796
|
* @returns
|
|
813
797
|
*/
|
|
814
798
|
createVertexArray() {
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
799
|
+
if (this.gl instanceof WebGL2RenderingContext) {
|
|
800
|
+
return this.gl.createVertexArray();
|
|
801
|
+
}
|
|
802
|
+
return undefined;
|
|
818
803
|
}
|
|
819
804
|
/**
|
|
820
805
|
* ```
|
|
@@ -824,9 +809,9 @@ export class WebGlContextWrapper {
|
|
|
824
809
|
* @param vertexArray
|
|
825
810
|
*/
|
|
826
811
|
bindVertexArray(vertexArray) {
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
812
|
+
if (this.gl instanceof WebGL2RenderingContext) {
|
|
813
|
+
this.gl.bindVertexArray(vertexArray);
|
|
814
|
+
}
|
|
830
815
|
}
|
|
831
816
|
/**
|
|
832
817
|
* ```
|
|
@@ -838,8 +823,7 @@ export class WebGlContextWrapper {
|
|
|
838
823
|
* @returns
|
|
839
824
|
*/
|
|
840
825
|
getAttribLocation(program, name) {
|
|
841
|
-
|
|
842
|
-
return gl.getAttribLocation(program, name);
|
|
826
|
+
return this.gl.getAttribLocation(program, name);
|
|
843
827
|
}
|
|
844
828
|
/**
|
|
845
829
|
* ```
|
|
@@ -851,8 +835,7 @@ export class WebGlContextWrapper {
|
|
|
851
835
|
* @returns
|
|
852
836
|
*/
|
|
853
837
|
getUniformLocation(program, name) {
|
|
854
|
-
|
|
855
|
-
return gl.getUniformLocation(program, name);
|
|
838
|
+
return this.gl.getUniformLocation(program, name);
|
|
856
839
|
}
|
|
857
840
|
/**
|
|
858
841
|
* ```
|
|
@@ -862,8 +845,7 @@ export class WebGlContextWrapper {
|
|
|
862
845
|
* @param index
|
|
863
846
|
*/
|
|
864
847
|
enableVertexAttribArray(index) {
|
|
865
|
-
|
|
866
|
-
gl.enableVertexAttribArray(index);
|
|
848
|
+
this.gl.enableVertexAttribArray(index);
|
|
867
849
|
}
|
|
868
850
|
/**
|
|
869
851
|
* ```
|
|
@@ -873,8 +855,7 @@ export class WebGlContextWrapper {
|
|
|
873
855
|
* @param index
|
|
874
856
|
*/
|
|
875
857
|
disableVertexAttribArray(index) {
|
|
876
|
-
|
|
877
|
-
gl.disableVertexAttribArray(index);
|
|
858
|
+
this.gl.disableVertexAttribArray(index);
|
|
878
859
|
}
|
|
879
860
|
/**
|
|
880
861
|
* ```
|
|
@@ -885,8 +866,7 @@ export class WebGlContextWrapper {
|
|
|
885
866
|
* @returns
|
|
886
867
|
*/
|
|
887
868
|
createShader(type) {
|
|
888
|
-
|
|
889
|
-
return gl.createShader(type);
|
|
869
|
+
return this.gl.createShader(type);
|
|
890
870
|
}
|
|
891
871
|
/**
|
|
892
872
|
* ```
|
|
@@ -897,8 +877,7 @@ export class WebGlContextWrapper {
|
|
|
897
877
|
* @returns
|
|
898
878
|
*/
|
|
899
879
|
compileShader(shader) {
|
|
900
|
-
|
|
901
|
-
gl.compileShader(shader);
|
|
880
|
+
this.gl.compileShader(shader);
|
|
902
881
|
}
|
|
903
882
|
/**
|
|
904
883
|
* ```
|
|
@@ -909,8 +888,7 @@ export class WebGlContextWrapper {
|
|
|
909
888
|
* @param shader
|
|
910
889
|
*/
|
|
911
890
|
attachShader(program, shader) {
|
|
912
|
-
|
|
913
|
-
gl.attachShader(program, shader);
|
|
891
|
+
this.gl.attachShader(program, shader);
|
|
914
892
|
}
|
|
915
893
|
/**
|
|
916
894
|
* ```
|
|
@@ -920,8 +898,7 @@ export class WebGlContextWrapper {
|
|
|
920
898
|
* @param program
|
|
921
899
|
*/
|
|
922
900
|
linkProgram(program) {
|
|
923
|
-
|
|
924
|
-
gl.linkProgram(program);
|
|
901
|
+
this.gl.linkProgram(program);
|
|
925
902
|
}
|
|
926
903
|
/**
|
|
927
904
|
* ```
|
|
@@ -931,8 +908,7 @@ export class WebGlContextWrapper {
|
|
|
931
908
|
* @param shader
|
|
932
909
|
*/
|
|
933
910
|
deleteProgram(shader) {
|
|
934
|
-
|
|
935
|
-
gl.deleteProgram(shader);
|
|
911
|
+
this.gl.deleteProgram(shader);
|
|
936
912
|
}
|
|
937
913
|
/**
|
|
938
914
|
* ```
|
|
@@ -943,8 +919,7 @@ export class WebGlContextWrapper {
|
|
|
943
919
|
* @param pname
|
|
944
920
|
*/
|
|
945
921
|
getShaderParameter(shader, pname) {
|
|
946
|
-
|
|
947
|
-
return gl.getShaderParameter(shader, pname);
|
|
922
|
+
return this.gl.getShaderParameter(shader, pname);
|
|
948
923
|
}
|
|
949
924
|
/**
|
|
950
925
|
* ```
|
|
@@ -954,8 +929,7 @@ export class WebGlContextWrapper {
|
|
|
954
929
|
* @param shader
|
|
955
930
|
*/
|
|
956
931
|
getShaderInfoLog(shader) {
|
|
957
|
-
|
|
958
|
-
return gl.getShaderInfoLog(shader);
|
|
932
|
+
return this.gl.getShaderInfoLog(shader);
|
|
959
933
|
}
|
|
960
934
|
/**
|
|
961
935
|
* ```
|
|
@@ -965,8 +939,7 @@ export class WebGlContextWrapper {
|
|
|
965
939
|
* @returns
|
|
966
940
|
*/
|
|
967
941
|
createProgram() {
|
|
968
|
-
|
|
969
|
-
return gl.createProgram();
|
|
942
|
+
return this.gl.createProgram();
|
|
970
943
|
}
|
|
971
944
|
/**
|
|
972
945
|
* ```
|
|
@@ -978,8 +951,7 @@ export class WebGlContextWrapper {
|
|
|
978
951
|
* @returns
|
|
979
952
|
*/
|
|
980
953
|
getProgramParameter(program, pname) {
|
|
981
|
-
|
|
982
|
-
return gl.getProgramParameter(program, pname);
|
|
954
|
+
return this.gl.getProgramParameter(program, pname);
|
|
983
955
|
}
|
|
984
956
|
/**
|
|
985
957
|
* ```
|
|
@@ -990,8 +962,7 @@ export class WebGlContextWrapper {
|
|
|
990
962
|
* @returns
|
|
991
963
|
*/
|
|
992
964
|
getProgramInfoLog(program) {
|
|
993
|
-
|
|
994
|
-
return gl.getProgramInfoLog(program);
|
|
965
|
+
return this.gl.getProgramInfoLog(program);
|
|
995
966
|
}
|
|
996
967
|
/**
|
|
997
968
|
* ```
|
|
@@ -1002,8 +973,7 @@ export class WebGlContextWrapper {
|
|
|
1002
973
|
* @param source
|
|
1003
974
|
*/
|
|
1004
975
|
shaderSource(shader, source) {
|
|
1005
|
-
|
|
1006
|
-
gl.shaderSource(shader, source);
|
|
976
|
+
this.gl.shaderSource(shader, source);
|
|
1007
977
|
}
|
|
1008
978
|
/**
|
|
1009
979
|
* ```
|
|
@@ -1013,8 +983,7 @@ export class WebGlContextWrapper {
|
|
|
1013
983
|
* @param shader
|
|
1014
984
|
*/
|
|
1015
985
|
deleteShader(shader) {
|
|
1016
|
-
|
|
1017
|
-
gl.deleteShader(shader);
|
|
986
|
+
this.gl.deleteShader(shader);
|
|
1018
987
|
}
|
|
1019
988
|
}
|
|
1020
989
|
/**
|