@lightningjs/renderer 2.13.1 → 3.0.0-beta2
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 +10 -5
- package/dist/src/core/CoreNode.js +34 -13
- 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 -8
- 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 +24 -29
- 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/RenderCoords.d.ts +9 -10
- package/dist/src/core/lib/RenderCoords.js +43 -55
- package/dist/src/core/lib/RenderCoords.js.map +1 -1
- package/dist/src/core/lib/WebGlContextWrapper.d.ts +89 -54
- package/dist/src/core/lib/WebGlContextWrapper.js +153 -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/{src/core/renderers/CoreShader.ts → dist/src/core/lib/glm/index.js} +12 -23
- 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 +2 -1
- 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 +58 -0
- package/dist/src/core/renderers/CoreShaderNode.js +104 -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 +124 -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 +44 -0
- package/dist/src/core/renderers/webgl/WebGlRenderOp.js +118 -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 +547 -0
- package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +222 -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 +201 -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/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 -31
- 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 +4 -1
- 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 +2 -5
- package/dist/src/main-api/RendererMain.js +4 -6
- package/dist/src/main-api/RendererMain.js.map +1 -1
- package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js.map +1 -1
- package/dist/src/render-drivers/main/MainCoreDriver.d.ts +4 -1
- package/dist/src/render-drivers/main/MainCoreDriver.js +4 -1
- package/dist/src/render-drivers/main/MainCoreDriver.js.map +1 -1
- package/dist/src/render-drivers/main/MainOnlyNode.d.ts +6 -8
- package/dist/src/render-drivers/main/MainOnlyNode.js +1 -30
- package/dist/src/render-drivers/main/MainOnlyNode.js.map +1 -1
- 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 +1 -1
- package/dist/src/render-drivers/main/MainOnlyTextNode.js +3 -2
- package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +1 -1
- 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 +0 -3
- package/dist/src/render-drivers/threadx/NodeStruct.js +0 -9
- package/dist/src/render-drivers/threadx/NodeStruct.js.map +1 -1
- package/dist/src/render-drivers/threadx/SharedNode.d.ts +0 -1
- package/dist/src/render-drivers/threadx/SharedNode.js +0 -1
- package/dist/src/render-drivers/threadx/SharedNode.js.map +1 -1
- package/dist/src/render-drivers/threadx/TextNodeStruct.js +1 -3
- package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +1 -1
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +4 -1
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +4 -2
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +1 -1
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +4 -8
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +24 -53
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +1 -1
- package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +5 -7
- package/dist/src/render-drivers/threadx/ThreadXMainNode.js +2 -8
- package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +1 -1
- 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.js.map +1 -1
- 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/worker/ThreadXRendererNode.js +0 -7
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +1 -1
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +0 -1
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +1 -1
- package/dist/src/render-drivers/threadx/worker/renderer.js +0 -2
- package/dist/src/render-drivers/threadx/worker/renderer.js.map +1 -1
- package/dist/src/render-drivers/utils.js +1 -6
- package/dist/src/render-drivers/utils.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 +3 -2
- package/src/core/CoreNode.ts +50 -19
- package/src/core/CoreShaderManager.ts +127 -226
- package/src/core/CoreTextNode.ts +1 -17
- package/src/core/Stage.ts +36 -41
- package/src/core/animations/CoreAnimation.ts +8 -64
- package/src/core/lib/RenderCoords.ts +52 -67
- package/src/core/lib/WebGlContextWrapper.ts +278 -236
- package/src/core/lib/textureCompression.ts +3 -3
- package/src/core/lib/utils.ts +3 -1
- package/src/core/platform.ts +1 -0
- package/src/core/renderers/CoreRenderer.ts +19 -27
- package/src/core/renderers/CoreShaderNode.ts +167 -0
- package/src/core/renderers/{canvas/shaders/UnsupportedShader.ts → CoreShaderProgram.ts} +3 -28
- package/src/core/renderers/canvas/CanvasRenderer.ts +298 -0
- package/src/core/renderers/canvas/CanvasShaderNode.ts +99 -0
- package/src/core/renderers/canvas/{CanvasCoreTexture.ts → CanvasTexture.ts} +6 -3
- 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} +1 -1
- package/src/core/renderers/webgl/WebGlRenderOp.ts +161 -0
- package/src/core/renderers/webgl/{WebGlCoreRenderer.ts → WebGlRenderer.ts} +155 -250
- package/src/core/renderers/webgl/WebGlShaderNode.ts +437 -0
- package/src/core/renderers/webgl/WebGlShaderProgram.ts +318 -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 +134 -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 -57
- package/src/core/text-rendering/renderers/TextRenderer.ts +2 -9
- package/src/core/textures/Texture.ts +1 -1
- package/src/main-api/INode.ts +11 -13
- package/src/main-api/Renderer.ts +25 -127
- package/src/utils.ts +19 -0
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/src/core/renderers/canvas/CanvasCoreRenderer.ts +0 -375
- package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +0 -125
- 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
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
4
4
|
|
|
5
5
|
import { assertTruthy } from '../../utils.js';
|
|
6
|
+
import type {
|
|
7
|
+
Vec2,
|
|
8
|
+
Vec3,
|
|
9
|
+
Vec4,
|
|
10
|
+
} from '../renderers/webgl/internal/ShaderUtils.js';
|
|
6
11
|
import { isWebGl2 } from '../renderers/webgl/internal/WebGlUtils.js';
|
|
7
12
|
|
|
8
13
|
/**
|
|
@@ -202,9 +207,8 @@ export class WebGlContextWrapper {
|
|
|
202
207
|
* @param textureUnit
|
|
203
208
|
*/
|
|
204
209
|
activeTexture(textureUnit: number) {
|
|
205
|
-
const { gl } = this;
|
|
206
210
|
if (this.activeTextureUnit !== textureUnit) {
|
|
207
|
-
gl.activeTexture(textureUnit + gl.TEXTURE0);
|
|
211
|
+
this.gl.activeTexture(textureUnit + this.gl.TEXTURE0);
|
|
208
212
|
this.activeTextureUnit = textureUnit;
|
|
209
213
|
}
|
|
210
214
|
}
|
|
@@ -219,19 +223,16 @@ export class WebGlContextWrapper {
|
|
|
219
223
|
* @param texture
|
|
220
224
|
*/
|
|
221
225
|
bindTexture(texture: WebGLTexture | null) {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
if (texture2dUnits[activeTextureUnit] === texture) {
|
|
226
|
+
if (this.texture2dUnits[this.activeTextureUnit] === texture) {
|
|
225
227
|
return;
|
|
226
228
|
}
|
|
227
|
-
texture2dUnits[activeTextureUnit] = texture;
|
|
229
|
+
this.texture2dUnits[this.activeTextureUnit] = texture;
|
|
228
230
|
|
|
229
|
-
gl.bindTexture(this.gl.TEXTURE_2D, texture);
|
|
231
|
+
this.gl.bindTexture(this.gl.TEXTURE_2D, texture);
|
|
230
232
|
}
|
|
231
233
|
|
|
232
234
|
private _getActiveTexture(): WebGLTexture | null {
|
|
233
|
-
|
|
234
|
-
return texture2dUnits[activeTextureUnit]!;
|
|
235
|
+
return this.texture2dUnits[this.activeTextureUnit]!;
|
|
235
236
|
}
|
|
236
237
|
|
|
237
238
|
/**
|
|
@@ -246,22 +247,20 @@ export class WebGlContextWrapper {
|
|
|
246
247
|
* @returns
|
|
247
248
|
*/
|
|
248
249
|
texParameteri(pname: number, param: number) {
|
|
249
|
-
const { gl, texture2dParams } = this;
|
|
250
|
-
|
|
251
250
|
const activeTexture = this._getActiveTexture();
|
|
252
251
|
if (!activeTexture) {
|
|
253
252
|
throw new Error('No active texture');
|
|
254
253
|
}
|
|
255
|
-
let textureParams = texture2dParams.get(activeTexture);
|
|
254
|
+
let textureParams = this.texture2dParams.get(activeTexture);
|
|
256
255
|
if (!textureParams) {
|
|
257
256
|
textureParams = {};
|
|
258
|
-
texture2dParams.set(activeTexture, textureParams);
|
|
257
|
+
this.texture2dParams.set(activeTexture, textureParams);
|
|
259
258
|
}
|
|
260
259
|
if (textureParams[pname] === param) {
|
|
261
260
|
return;
|
|
262
261
|
}
|
|
263
262
|
textureParams[pname] = param;
|
|
264
|
-
gl.texParameteri(gl.TEXTURE_2D, pname, param);
|
|
263
|
+
this.gl.texParameteri(this.gl.TEXTURE_2D, pname, param);
|
|
265
264
|
}
|
|
266
265
|
|
|
267
266
|
/**
|
|
@@ -317,10 +316,9 @@ export class WebGlContextWrapper {
|
|
|
317
316
|
type?: any,
|
|
318
317
|
pixels?: any,
|
|
319
318
|
) {
|
|
320
|
-
const { gl } = this;
|
|
321
319
|
if (format) {
|
|
322
|
-
gl.texImage2D(
|
|
323
|
-
gl.TEXTURE_2D,
|
|
320
|
+
this.gl.texImage2D(
|
|
321
|
+
this.gl.TEXTURE_2D,
|
|
324
322
|
level,
|
|
325
323
|
internalFormat,
|
|
326
324
|
widthOrFormat,
|
|
@@ -331,8 +329,8 @@ export class WebGlContextWrapper {
|
|
|
331
329
|
pixels,
|
|
332
330
|
);
|
|
333
331
|
} else {
|
|
334
|
-
gl.texImage2D(
|
|
335
|
-
gl.TEXTURE_2D,
|
|
332
|
+
this.gl.texImage2D(
|
|
333
|
+
this.gl.TEXTURE_2D,
|
|
336
334
|
level,
|
|
337
335
|
internalFormat,
|
|
338
336
|
widthOrFormat,
|
|
@@ -358,9 +356,8 @@ export class WebGlContextWrapper {
|
|
|
358
356
|
border: GLint,
|
|
359
357
|
data?: ArrayBufferView,
|
|
360
358
|
): void {
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
gl.TEXTURE_2D,
|
|
359
|
+
this.gl.compressedTexImage2D(
|
|
360
|
+
this.gl.TEXTURE_2D,
|
|
364
361
|
level,
|
|
365
362
|
internalformat,
|
|
366
363
|
width,
|
|
@@ -378,8 +375,7 @@ export class WebGlContextWrapper {
|
|
|
378
375
|
* @param param
|
|
379
376
|
*/
|
|
380
377
|
pixelStorei(pname: GLenum, param: GLint | GLboolean) {
|
|
381
|
-
|
|
382
|
-
gl.pixelStorei(pname, param);
|
|
378
|
+
this.gl.pixelStorei(pname, param);
|
|
383
379
|
}
|
|
384
380
|
|
|
385
381
|
/**
|
|
@@ -391,8 +387,7 @@ export class WebGlContextWrapper {
|
|
|
391
387
|
* **WebGL Difference**: Bind target is always `gl.TEXTURE_2D`
|
|
392
388
|
*/
|
|
393
389
|
generateMipmap() {
|
|
394
|
-
|
|
395
|
-
gl.generateMipmap(gl.TEXTURE_2D);
|
|
390
|
+
this.gl.generateMipmap(this.gl.TEXTURE_2D);
|
|
396
391
|
}
|
|
397
392
|
|
|
398
393
|
/**
|
|
@@ -403,8 +398,7 @@ export class WebGlContextWrapper {
|
|
|
403
398
|
* @returns
|
|
404
399
|
*/
|
|
405
400
|
createTexture() {
|
|
406
|
-
|
|
407
|
-
return gl.createTexture();
|
|
401
|
+
return this.gl.createTexture();
|
|
408
402
|
}
|
|
409
403
|
|
|
410
404
|
/**
|
|
@@ -415,11 +409,10 @@ export class WebGlContextWrapper {
|
|
|
415
409
|
* @param texture
|
|
416
410
|
*/
|
|
417
411
|
deleteTexture(texture: WebGLTexture | null) {
|
|
418
|
-
const { gl } = this;
|
|
419
412
|
if (texture) {
|
|
420
413
|
this.texture2dParams.delete(texture);
|
|
421
414
|
}
|
|
422
|
-
gl.deleteTexture(texture);
|
|
415
|
+
this.gl.deleteTexture(texture);
|
|
423
416
|
}
|
|
424
417
|
|
|
425
418
|
/**
|
|
@@ -438,8 +431,7 @@ export class WebGlContextWrapper {
|
|
|
438
431
|
* ```
|
|
439
432
|
*/
|
|
440
433
|
viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei) {
|
|
441
|
-
|
|
442
|
-
gl.viewport(x, y, width, height);
|
|
434
|
+
this.gl.viewport(x, y, width, height);
|
|
443
435
|
}
|
|
444
436
|
|
|
445
437
|
/**
|
|
@@ -453,8 +445,7 @@ export class WebGlContextWrapper {
|
|
|
453
445
|
* @param alpha
|
|
454
446
|
*/
|
|
455
447
|
clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) {
|
|
456
|
-
|
|
457
|
-
gl.clearColor(red, green, blue, alpha);
|
|
448
|
+
this.gl.clearColor(red, green, blue, alpha);
|
|
458
449
|
}
|
|
459
450
|
|
|
460
451
|
/**
|
|
@@ -464,14 +455,13 @@ export class WebGlContextWrapper {
|
|
|
464
455
|
* @param enable
|
|
465
456
|
*/
|
|
466
457
|
setScissorTest(enable: boolean) {
|
|
467
|
-
|
|
468
|
-
if (enable === scissorEnabled) {
|
|
458
|
+
if (enable === this.scissorEnabled) {
|
|
469
459
|
return;
|
|
470
460
|
}
|
|
471
461
|
if (enable) {
|
|
472
|
-
gl.enable(gl.SCISSOR_TEST);
|
|
462
|
+
this.gl.enable(this.gl.SCISSOR_TEST);
|
|
473
463
|
} else {
|
|
474
|
-
gl.disable(gl.SCISSOR_TEST);
|
|
464
|
+
this.gl.disable(this.gl.SCISSOR_TEST);
|
|
475
465
|
}
|
|
476
466
|
this.scissorEnabled = enable;
|
|
477
467
|
}
|
|
@@ -487,14 +477,13 @@ export class WebGlContextWrapper {
|
|
|
487
477
|
* @param height
|
|
488
478
|
*/
|
|
489
479
|
scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei) {
|
|
490
|
-
const { gl, scissorX, scissorY, scissorWidth, scissorHeight } = this;
|
|
491
480
|
if (
|
|
492
|
-
x !== scissorX ||
|
|
493
|
-
y !== scissorY ||
|
|
494
|
-
width !== scissorWidth ||
|
|
495
|
-
height !== scissorHeight
|
|
481
|
+
x !== this.scissorX ||
|
|
482
|
+
y !== this.scissorY ||
|
|
483
|
+
width !== this.scissorWidth ||
|
|
484
|
+
height !== this.scissorHeight
|
|
496
485
|
) {
|
|
497
|
-
gl.scissor(x, y, width, height);
|
|
486
|
+
this.gl.scissor(x, y, width, height);
|
|
498
487
|
this.scissorX = x;
|
|
499
488
|
this.scissorY = y;
|
|
500
489
|
this.scissorWidth = width;
|
|
@@ -511,14 +500,13 @@ export class WebGlContextWrapper {
|
|
|
511
500
|
* @returns
|
|
512
501
|
*/
|
|
513
502
|
setBlend(blend: boolean) {
|
|
514
|
-
|
|
515
|
-
if (blend === blendEnabled) {
|
|
503
|
+
if (blend === this.blendEnabled) {
|
|
516
504
|
return;
|
|
517
505
|
}
|
|
518
506
|
if (blend) {
|
|
519
|
-
gl.enable(gl.BLEND);
|
|
507
|
+
this.gl.enable(this.gl.BLEND);
|
|
520
508
|
} else {
|
|
521
|
-
gl.disable(gl.BLEND);
|
|
509
|
+
this.gl.disable(this.gl.BLEND);
|
|
522
510
|
}
|
|
523
511
|
this.blendEnabled = blend;
|
|
524
512
|
}
|
|
@@ -532,14 +520,13 @@ export class WebGlContextWrapper {
|
|
|
532
520
|
* @param dst
|
|
533
521
|
*/
|
|
534
522
|
blendFunc(src: GLenum, dst: GLenum) {
|
|
535
|
-
const { gl, blendSrcRgb, blendDstRgb, blendSrcAlpha, blendDstAlpha } = this;
|
|
536
523
|
if (
|
|
537
|
-
src !== blendSrcRgb ||
|
|
538
|
-
dst !== blendDstRgb ||
|
|
539
|
-
src !== blendSrcAlpha ||
|
|
540
|
-
dst !== blendDstAlpha
|
|
524
|
+
src !== this.blendSrcRgb ||
|
|
525
|
+
dst !== this.blendDstRgb ||
|
|
526
|
+
src !== this.blendSrcAlpha ||
|
|
527
|
+
dst !== this.blendDstAlpha
|
|
541
528
|
) {
|
|
542
|
-
gl.blendFunc(src, dst);
|
|
529
|
+
this.gl.blendFunc(src, dst);
|
|
543
530
|
this.blendSrcRgb = src;
|
|
544
531
|
this.blendDstRgb = dst;
|
|
545
532
|
this.blendSrcAlpha = src;
|
|
@@ -555,8 +542,7 @@ export class WebGlContextWrapper {
|
|
|
555
542
|
* @returns
|
|
556
543
|
*/
|
|
557
544
|
createBuffer() {
|
|
558
|
-
|
|
559
|
-
return gl.createBuffer();
|
|
545
|
+
return this.gl.createBuffer();
|
|
560
546
|
}
|
|
561
547
|
|
|
562
548
|
/**
|
|
@@ -566,8 +552,7 @@ export class WebGlContextWrapper {
|
|
|
566
552
|
* @returns
|
|
567
553
|
*/
|
|
568
554
|
createFramebuffer() {
|
|
569
|
-
|
|
570
|
-
return gl.createFramebuffer();
|
|
555
|
+
return this.gl.createFramebuffer();
|
|
571
556
|
}
|
|
572
557
|
|
|
573
558
|
/**
|
|
@@ -578,8 +563,7 @@ export class WebGlContextWrapper {
|
|
|
578
563
|
* @param framebuffer
|
|
579
564
|
*/
|
|
580
565
|
bindFramebuffer(framebuffer: WebGLFramebuffer | null) {
|
|
581
|
-
|
|
582
|
-
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
|
|
566
|
+
this.gl.bindFramebuffer(this.gl.FRAMEBUFFER, framebuffer);
|
|
583
567
|
}
|
|
584
568
|
|
|
585
569
|
/**
|
|
@@ -595,7 +579,7 @@ export class WebGlContextWrapper {
|
|
|
595
579
|
texture: WebGLTexture | null,
|
|
596
580
|
level: GLint,
|
|
597
581
|
) {
|
|
598
|
-
const
|
|
582
|
+
const gl = this.gl;
|
|
599
583
|
gl.framebufferTexture2D(
|
|
600
584
|
gl.FRAMEBUFFER,
|
|
601
585
|
attachment,
|
|
@@ -614,8 +598,7 @@ export class WebGlContextWrapper {
|
|
|
614
598
|
* **WebGL Difference**: Clear mask is always `gl.COLOR_BUFFER_BIT`
|
|
615
599
|
*/
|
|
616
600
|
clear() {
|
|
617
|
-
|
|
618
|
-
gl.clear(gl.COLOR_BUFFER_BIT);
|
|
601
|
+
this.gl.clear(this.gl.COLOR_BUFFER_BIT);
|
|
619
602
|
}
|
|
620
603
|
|
|
621
604
|
/**
|
|
@@ -636,12 +619,11 @@ export class WebGlContextWrapper {
|
|
|
636
619
|
data: ArrayBufferView,
|
|
637
620
|
usage: GLenum,
|
|
638
621
|
) {
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
|
|
622
|
+
if (this.boundArrayBuffer !== buffer) {
|
|
623
|
+
this.gl.bindBuffer(this.gl.ARRAY_BUFFER, buffer);
|
|
642
624
|
this.boundArrayBuffer = buffer;
|
|
643
625
|
}
|
|
644
|
-
gl.bufferData(gl.ARRAY_BUFFER, data, usage);
|
|
626
|
+
this.gl.bufferData(this.gl.ARRAY_BUFFER, data, usage);
|
|
645
627
|
}
|
|
646
628
|
|
|
647
629
|
/**
|
|
@@ -661,12 +643,11 @@ export class WebGlContextWrapper {
|
|
|
661
643
|
data: ArrayBufferView,
|
|
662
644
|
usage: GLenum,
|
|
663
645
|
) {
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, buffer);
|
|
646
|
+
if (this.boundElementArrayBuffer !== buffer) {
|
|
647
|
+
this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER, buffer);
|
|
667
648
|
this.boundElementArrayBuffer = buffer;
|
|
668
649
|
}
|
|
669
|
-
gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, data, usage);
|
|
650
|
+
this.gl.bufferData(this.gl.ELEMENT_ARRAY_BUFFER, data, usage);
|
|
670
651
|
}
|
|
671
652
|
|
|
672
653
|
/**
|
|
@@ -695,12 +676,50 @@ export class WebGlContextWrapper {
|
|
|
695
676
|
stride: GLsizei,
|
|
696
677
|
offset: GLintptr,
|
|
697
678
|
) {
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
|
|
679
|
+
if (this.boundArrayBuffer !== buffer) {
|
|
680
|
+
this.gl.bindBuffer(this.gl.ARRAY_BUFFER, buffer);
|
|
701
681
|
this.boundArrayBuffer = buffer;
|
|
702
682
|
}
|
|
703
|
-
gl.vertexAttribPointer(index, size, type, normalized, stride, offset);
|
|
683
|
+
this.gl.vertexAttribPointer(index, size, type, normalized, stride, offset);
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
/**
|
|
687
|
+
* Returns object with Attribute names as key and numbers as location values
|
|
688
|
+
*
|
|
689
|
+
* @param program
|
|
690
|
+
* @returns object with numbers
|
|
691
|
+
*/
|
|
692
|
+
getUniformLocations(program: WebGLProgram): Record<string, number> {
|
|
693
|
+
const gl = this.gl;
|
|
694
|
+
const length = gl.getProgramParameter(
|
|
695
|
+
program,
|
|
696
|
+
gl.ACTIVE_UNIFORMS,
|
|
697
|
+
) as number;
|
|
698
|
+
const result = {} as Record<string, number>;
|
|
699
|
+
for (let i = 0; i < length; i++) {
|
|
700
|
+
const { name } = gl.getActiveUniform(program, i) as WebGLActiveInfo;
|
|
701
|
+
result[name] = i;
|
|
702
|
+
}
|
|
703
|
+
return result;
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
/**
|
|
707
|
+
* Returns object with Attribute names as key and numbers as location values
|
|
708
|
+
* @param program
|
|
709
|
+
* @returns object with numbers
|
|
710
|
+
*/
|
|
711
|
+
getAttributeLocations(program: WebGLProgram): Record<string, number> {
|
|
712
|
+
const gl = this.gl;
|
|
713
|
+
const length = gl.getProgramParameter(
|
|
714
|
+
program,
|
|
715
|
+
gl.ACTIVE_ATTRIBUTES,
|
|
716
|
+
) as number;
|
|
717
|
+
const result = {} as Record<string, number>;
|
|
718
|
+
for (let i = 0; i < length; i++) {
|
|
719
|
+
const { name } = gl.getActiveAttrib(program, i) as WebGLActiveInfo;
|
|
720
|
+
result[name] = i;
|
|
721
|
+
}
|
|
722
|
+
return result;
|
|
704
723
|
}
|
|
705
724
|
|
|
706
725
|
/**
|
|
@@ -712,11 +731,10 @@ export class WebGlContextWrapper {
|
|
|
712
731
|
* @returns
|
|
713
732
|
*/
|
|
714
733
|
useProgram(program: WebGLProgram | null) {
|
|
715
|
-
|
|
716
|
-
if (curProgram === program) {
|
|
734
|
+
if (this.curProgram === program) {
|
|
717
735
|
return;
|
|
718
736
|
}
|
|
719
|
-
gl.useProgram(program);
|
|
737
|
+
this.gl.useProgram(program);
|
|
720
738
|
this.curProgram = program;
|
|
721
739
|
}
|
|
722
740
|
|
|
@@ -726,9 +744,11 @@ export class WebGlContextWrapper {
|
|
|
726
744
|
* @param location - The location of the uniform variable.
|
|
727
745
|
* @param v0 - The value to set.
|
|
728
746
|
*/
|
|
729
|
-
uniform1f(location:
|
|
730
|
-
|
|
731
|
-
|
|
747
|
+
uniform1f(location: string, v0: number) {
|
|
748
|
+
this.gl.uniform1f(
|
|
749
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
750
|
+
v0,
|
|
751
|
+
);
|
|
732
752
|
}
|
|
733
753
|
|
|
734
754
|
/**
|
|
@@ -737,12 +757,11 @@ export class WebGlContextWrapper {
|
|
|
737
757
|
* @param location - The location of the uniform variable.
|
|
738
758
|
* @param value - The array of values to set.
|
|
739
759
|
*/
|
|
740
|
-
uniform1fv(
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
gl.uniform1fv(location, value);
|
|
760
|
+
uniform1fv(location: string, value: Float32Array) {
|
|
761
|
+
this.gl.uniform1fv(
|
|
762
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
763
|
+
value,
|
|
764
|
+
);
|
|
746
765
|
}
|
|
747
766
|
|
|
748
767
|
/**
|
|
@@ -751,9 +770,11 @@ export class WebGlContextWrapper {
|
|
|
751
770
|
* @param location - The location of the uniform variable.
|
|
752
771
|
* @param v0 - The value to set.
|
|
753
772
|
*/
|
|
754
|
-
uniform1i(location:
|
|
755
|
-
|
|
756
|
-
|
|
773
|
+
uniform1i(location: string, v0: number) {
|
|
774
|
+
this.gl.uniform1i(
|
|
775
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
776
|
+
v0,
|
|
777
|
+
);
|
|
757
778
|
}
|
|
758
779
|
|
|
759
780
|
/**
|
|
@@ -762,12 +783,11 @@ export class WebGlContextWrapper {
|
|
|
762
783
|
* @param location - The location of the uniform variable.
|
|
763
784
|
* @param value - The array of values to set.
|
|
764
785
|
*/
|
|
765
|
-
uniform1iv(
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
gl.uniform1iv(location, value);
|
|
786
|
+
uniform1iv(location: string, value: Int32Array) {
|
|
787
|
+
this.gl.uniform1iv(
|
|
788
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
789
|
+
value,
|
|
790
|
+
);
|
|
771
791
|
}
|
|
772
792
|
|
|
773
793
|
/**
|
|
@@ -777,9 +797,26 @@ export class WebGlContextWrapper {
|
|
|
777
797
|
* @param v0 - The first component of the vector.
|
|
778
798
|
* @param v1 - The second component of the vector.
|
|
779
799
|
*/
|
|
780
|
-
uniform2f(location:
|
|
781
|
-
|
|
782
|
-
|
|
800
|
+
uniform2f(location: string, v0: number, v1: number) {
|
|
801
|
+
this.gl.uniform2f(
|
|
802
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
803
|
+
v0,
|
|
804
|
+
v1,
|
|
805
|
+
);
|
|
806
|
+
}
|
|
807
|
+
|
|
808
|
+
/**
|
|
809
|
+
* Sets the value of a vec3 uniform variable.
|
|
810
|
+
*
|
|
811
|
+
* @param location - The location of the uniform variable.
|
|
812
|
+
* @param v - array of 4 numbers.
|
|
813
|
+
*/
|
|
814
|
+
uniform2fa(location: string, value: Vec2) {
|
|
815
|
+
this.gl.uniform2f(
|
|
816
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
817
|
+
value[0],
|
|
818
|
+
value[1],
|
|
819
|
+
);
|
|
783
820
|
}
|
|
784
821
|
|
|
785
822
|
/**
|
|
@@ -788,12 +825,11 @@ export class WebGlContextWrapper {
|
|
|
788
825
|
* @param location - The location of the uniform variable.
|
|
789
826
|
* @param value - The array of vec2 values to set.
|
|
790
827
|
*/
|
|
791
|
-
uniform2fv(
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
gl.uniform2fv(location, value);
|
|
828
|
+
uniform2fv(location: string, value: Float32Array) {
|
|
829
|
+
this.gl.uniform2fv(
|
|
830
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
831
|
+
value,
|
|
832
|
+
);
|
|
797
833
|
}
|
|
798
834
|
|
|
799
835
|
/**
|
|
@@ -803,9 +839,12 @@ export class WebGlContextWrapper {
|
|
|
803
839
|
* @param v0 - The first component of the vector.
|
|
804
840
|
* @param v1 - The second component of the vector.
|
|
805
841
|
*/
|
|
806
|
-
uniform2i(location:
|
|
807
|
-
|
|
808
|
-
|
|
842
|
+
uniform2i(location: string, v0: number, v1: number) {
|
|
843
|
+
this.gl.uniform2i(
|
|
844
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
845
|
+
v0,
|
|
846
|
+
v1,
|
|
847
|
+
);
|
|
809
848
|
}
|
|
810
849
|
|
|
811
850
|
/**
|
|
@@ -814,12 +853,11 @@ export class WebGlContextWrapper {
|
|
|
814
853
|
* @param location - The location of the uniform variable.
|
|
815
854
|
* @param value - The array of ivec2 values to set.
|
|
816
855
|
*/
|
|
817
|
-
uniform2iv(
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
gl.uniform2iv(location, value);
|
|
856
|
+
uniform2iv(location: string, value: Int32Array) {
|
|
857
|
+
this.gl.uniform2iv(
|
|
858
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
859
|
+
value,
|
|
860
|
+
);
|
|
823
861
|
}
|
|
824
862
|
|
|
825
863
|
/**
|
|
@@ -830,14 +868,28 @@ export class WebGlContextWrapper {
|
|
|
830
868
|
* @param v1 - The second component of the vector.
|
|
831
869
|
* @param v2 - The third component of the vector.
|
|
832
870
|
*/
|
|
833
|
-
uniform3f(
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
871
|
+
uniform3f(location: string, v0: number, v1: number, v2: number) {
|
|
872
|
+
this.gl.uniform3f(
|
|
873
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
874
|
+
v0,
|
|
875
|
+
v1,
|
|
876
|
+
v2,
|
|
877
|
+
);
|
|
878
|
+
}
|
|
879
|
+
|
|
880
|
+
/**
|
|
881
|
+
* Sets the value of a vec3 uniform variable.
|
|
882
|
+
*
|
|
883
|
+
* @param location - The location of the uniform variable.
|
|
884
|
+
* @param v - array of 4 numbers.
|
|
885
|
+
*/
|
|
886
|
+
uniform3fa(location: string, value: Vec3) {
|
|
887
|
+
this.gl.uniform3f(
|
|
888
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
889
|
+
value[0],
|
|
890
|
+
value[1],
|
|
891
|
+
value[2],
|
|
892
|
+
);
|
|
841
893
|
}
|
|
842
894
|
|
|
843
895
|
/**
|
|
@@ -846,12 +898,11 @@ export class WebGlContextWrapper {
|
|
|
846
898
|
* @param location - The location of the uniform variable.
|
|
847
899
|
* @param value - The array of vec3 values to set.
|
|
848
900
|
*/
|
|
849
|
-
uniform3fv(
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
gl.uniform3fv(location, value);
|
|
901
|
+
uniform3fv(location: string, value: Float32Array) {
|
|
902
|
+
this.gl.uniform3fv(
|
|
903
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
904
|
+
value,
|
|
905
|
+
);
|
|
855
906
|
}
|
|
856
907
|
|
|
857
908
|
/**
|
|
@@ -862,14 +913,13 @@ export class WebGlContextWrapper {
|
|
|
862
913
|
* @param v1 - The second component of the vector.
|
|
863
914
|
* @param v2 - The third component of the vector.
|
|
864
915
|
*/
|
|
865
|
-
uniform3i(
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
gl.uniform3i(location, v0, v1, v2);
|
|
916
|
+
uniform3i(location: string, v0: number, v1: number, v2: number) {
|
|
917
|
+
this.gl.uniform3i(
|
|
918
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
919
|
+
v0,
|
|
920
|
+
v1,
|
|
921
|
+
v2,
|
|
922
|
+
);
|
|
873
923
|
}
|
|
874
924
|
|
|
875
925
|
/**
|
|
@@ -878,12 +928,11 @@ export class WebGlContextWrapper {
|
|
|
878
928
|
* @param location - The location of the uniform variable.
|
|
879
929
|
* @param value - The array of ivec3 values to set.
|
|
880
930
|
*/
|
|
881
|
-
uniform3iv(
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
gl.uniform3iv(location, value);
|
|
931
|
+
uniform3iv(location: string, value: Int32Array) {
|
|
932
|
+
this.gl.uniform3iv(
|
|
933
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
934
|
+
value,
|
|
935
|
+
);
|
|
887
936
|
}
|
|
888
937
|
|
|
889
938
|
/**
|
|
@@ -895,15 +944,30 @@ export class WebGlContextWrapper {
|
|
|
895
944
|
* @param v2 - The third component of the vector.
|
|
896
945
|
* @param v3 - The fourth component of the vector.
|
|
897
946
|
*/
|
|
898
|
-
uniform4f(
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
947
|
+
uniform4f(location: string, v0: number, v1: number, v2: number, v3: number) {
|
|
948
|
+
this.gl.uniform4f(
|
|
949
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
950
|
+
v0,
|
|
951
|
+
v1,
|
|
952
|
+
v2,
|
|
953
|
+
v3,
|
|
954
|
+
);
|
|
955
|
+
}
|
|
956
|
+
|
|
957
|
+
/**
|
|
958
|
+
* Sets the value of a vec4 uniform variable.
|
|
959
|
+
*
|
|
960
|
+
* @param location - The location of the uniform variable.
|
|
961
|
+
* @param v - array of 4 numbers.
|
|
962
|
+
*/
|
|
963
|
+
uniform4fa(location: string, value: Vec4) {
|
|
964
|
+
this.gl.uniform4f(
|
|
965
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
966
|
+
value[0],
|
|
967
|
+
value[1],
|
|
968
|
+
value[2],
|
|
969
|
+
value[3],
|
|
970
|
+
);
|
|
907
971
|
}
|
|
908
972
|
|
|
909
973
|
/**
|
|
@@ -912,12 +976,11 @@ export class WebGlContextWrapper {
|
|
|
912
976
|
* @param location - The location of the uniform variable.
|
|
913
977
|
* @param value - The array of vec4 values to set.
|
|
914
978
|
*/
|
|
915
|
-
uniform4fv(
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
gl.uniform4fv(location, value);
|
|
979
|
+
uniform4fv(location: string, value: Float32Array) {
|
|
980
|
+
this.gl.uniform4fv(
|
|
981
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
982
|
+
value,
|
|
983
|
+
);
|
|
921
984
|
}
|
|
922
985
|
|
|
923
986
|
/**
|
|
@@ -929,15 +992,14 @@ export class WebGlContextWrapper {
|
|
|
929
992
|
* @param v2 - The third component of the vector.
|
|
930
993
|
* @param v3 - The fourth component of the vector.
|
|
931
994
|
*/
|
|
932
|
-
uniform4i(
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
gl.uniform4i(location, v0, v1, v2, v3);
|
|
995
|
+
uniform4i(location: string, v0: number, v1: number, v2: number, v3: number) {
|
|
996
|
+
this.gl.uniform4i(
|
|
997
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
998
|
+
v0,
|
|
999
|
+
v1,
|
|
1000
|
+
v2,
|
|
1001
|
+
v3,
|
|
1002
|
+
);
|
|
941
1003
|
}
|
|
942
1004
|
|
|
943
1005
|
/**
|
|
@@ -946,12 +1008,11 @@ export class WebGlContextWrapper {
|
|
|
946
1008
|
* @param location - The location of the uniform variable.
|
|
947
1009
|
* @param value - The array of ivec4 values to set.
|
|
948
1010
|
*/
|
|
949
|
-
uniform4iv(
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
gl.uniform4iv(location, value);
|
|
1011
|
+
uniform4iv(location: string, value: Int32Array) {
|
|
1012
|
+
this.gl.uniform4iv(
|
|
1013
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
1014
|
+
value,
|
|
1015
|
+
);
|
|
955
1016
|
}
|
|
956
1017
|
|
|
957
1018
|
/**
|
|
@@ -961,12 +1022,12 @@ export class WebGlContextWrapper {
|
|
|
961
1022
|
* @param transpose - Whether to transpose the matrix.
|
|
962
1023
|
* @param value - The array of mat2 values to set.
|
|
963
1024
|
*/
|
|
964
|
-
uniformMatrix2fv(
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
1025
|
+
uniformMatrix2fv(location: string, value: Float32Array) {
|
|
1026
|
+
this.gl.uniformMatrix2fv(
|
|
1027
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
1028
|
+
false,
|
|
1029
|
+
value,
|
|
1030
|
+
);
|
|
970
1031
|
}
|
|
971
1032
|
|
|
972
1033
|
/**
|
|
@@ -974,12 +1035,12 @@ export class WebGlContextWrapper {
|
|
|
974
1035
|
* @param location - The location of the uniform variable.
|
|
975
1036
|
* @param value - The array of mat2 values to set.
|
|
976
1037
|
*/
|
|
977
|
-
uniformMatrix3fv(
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
1038
|
+
uniformMatrix3fv(location: string, value: Float32Array) {
|
|
1039
|
+
this.gl.uniformMatrix3fv(
|
|
1040
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
1041
|
+
false,
|
|
1042
|
+
value,
|
|
1043
|
+
);
|
|
983
1044
|
}
|
|
984
1045
|
|
|
985
1046
|
/**
|
|
@@ -987,12 +1048,12 @@ export class WebGlContextWrapper {
|
|
|
987
1048
|
* @param location - The location of the uniform variable.
|
|
988
1049
|
* @param value - The array of mat4 values to set.
|
|
989
1050
|
*/
|
|
990
|
-
uniformMatrix4fv(
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
1051
|
+
uniformMatrix4fv(location: string, value: Float32Array) {
|
|
1052
|
+
this.gl.uniformMatrix4fv(
|
|
1053
|
+
this.gl.getUniformLocation(this.curProgram!, location),
|
|
1054
|
+
false,
|
|
1055
|
+
value,
|
|
1056
|
+
);
|
|
996
1057
|
}
|
|
997
1058
|
|
|
998
1059
|
/**
|
|
@@ -1004,8 +1065,7 @@ export class WebGlContextWrapper {
|
|
|
1004
1065
|
* @returns
|
|
1005
1066
|
*/
|
|
1006
1067
|
getParameter(pname: GLenum): any {
|
|
1007
|
-
|
|
1008
|
-
return gl.getParameter(pname);
|
|
1068
|
+
return this.gl.getParameter(pname);
|
|
1009
1069
|
}
|
|
1010
1070
|
|
|
1011
1071
|
/**
|
|
@@ -1019,8 +1079,7 @@ export class WebGlContextWrapper {
|
|
|
1019
1079
|
* @param offset
|
|
1020
1080
|
*/
|
|
1021
1081
|
drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr) {
|
|
1022
|
-
|
|
1023
|
-
gl.drawElements(mode, count, type, offset);
|
|
1082
|
+
this.gl.drawElements(mode, count, type, offset);
|
|
1024
1083
|
}
|
|
1025
1084
|
|
|
1026
1085
|
/**
|
|
@@ -1032,8 +1091,7 @@ export class WebGlContextWrapper {
|
|
|
1032
1091
|
* @returns
|
|
1033
1092
|
*/
|
|
1034
1093
|
getExtension(name: string) {
|
|
1035
|
-
|
|
1036
|
-
return gl.getExtension(name);
|
|
1094
|
+
return this.gl.getExtension(name);
|
|
1037
1095
|
}
|
|
1038
1096
|
|
|
1039
1097
|
/**
|
|
@@ -1044,8 +1102,7 @@ export class WebGlContextWrapper {
|
|
|
1044
1102
|
* @returns
|
|
1045
1103
|
*/
|
|
1046
1104
|
getError() {
|
|
1047
|
-
|
|
1048
|
-
return gl.getError();
|
|
1105
|
+
return this.gl.getError();
|
|
1049
1106
|
}
|
|
1050
1107
|
|
|
1051
1108
|
/**
|
|
@@ -1056,9 +1113,10 @@ export class WebGlContextWrapper {
|
|
|
1056
1113
|
* @returns
|
|
1057
1114
|
*/
|
|
1058
1115
|
createVertexArray() {
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1116
|
+
if (this.gl instanceof WebGL2RenderingContext) {
|
|
1117
|
+
return this.gl.createVertexArray();
|
|
1118
|
+
}
|
|
1119
|
+
return undefined;
|
|
1062
1120
|
}
|
|
1063
1121
|
|
|
1064
1122
|
/**
|
|
@@ -1069,9 +1127,9 @@ export class WebGlContextWrapper {
|
|
|
1069
1127
|
* @param vertexArray
|
|
1070
1128
|
*/
|
|
1071
1129
|
bindVertexArray(vertexArray: WebGLVertexArrayObject | null) {
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1130
|
+
if (this.gl instanceof WebGL2RenderingContext) {
|
|
1131
|
+
this.gl.bindVertexArray(vertexArray);
|
|
1132
|
+
}
|
|
1075
1133
|
}
|
|
1076
1134
|
|
|
1077
1135
|
/**
|
|
@@ -1084,8 +1142,7 @@ export class WebGlContextWrapper {
|
|
|
1084
1142
|
* @returns
|
|
1085
1143
|
*/
|
|
1086
1144
|
getAttribLocation(program: WebGLProgram, name: string) {
|
|
1087
|
-
|
|
1088
|
-
return gl.getAttribLocation(program, name);
|
|
1145
|
+
return this.gl.getAttribLocation(program, name);
|
|
1089
1146
|
}
|
|
1090
1147
|
|
|
1091
1148
|
/**
|
|
@@ -1098,8 +1155,7 @@ export class WebGlContextWrapper {
|
|
|
1098
1155
|
* @returns
|
|
1099
1156
|
*/
|
|
1100
1157
|
getUniformLocation(program: WebGLProgram, name: string) {
|
|
1101
|
-
|
|
1102
|
-
return gl.getUniformLocation(program, name);
|
|
1158
|
+
return this.gl.getUniformLocation(program, name);
|
|
1103
1159
|
}
|
|
1104
1160
|
|
|
1105
1161
|
/**
|
|
@@ -1110,8 +1166,7 @@ export class WebGlContextWrapper {
|
|
|
1110
1166
|
* @param index
|
|
1111
1167
|
*/
|
|
1112
1168
|
enableVertexAttribArray(index: number) {
|
|
1113
|
-
|
|
1114
|
-
gl.enableVertexAttribArray(index);
|
|
1169
|
+
this.gl.enableVertexAttribArray(index);
|
|
1115
1170
|
}
|
|
1116
1171
|
|
|
1117
1172
|
/**
|
|
@@ -1122,8 +1177,7 @@ export class WebGlContextWrapper {
|
|
|
1122
1177
|
* @param index
|
|
1123
1178
|
*/
|
|
1124
1179
|
disableVertexAttribArray(index: number) {
|
|
1125
|
-
|
|
1126
|
-
gl.disableVertexAttribArray(index);
|
|
1180
|
+
this.gl.disableVertexAttribArray(index);
|
|
1127
1181
|
}
|
|
1128
1182
|
|
|
1129
1183
|
/**
|
|
@@ -1135,8 +1189,7 @@ export class WebGlContextWrapper {
|
|
|
1135
1189
|
* @returns
|
|
1136
1190
|
*/
|
|
1137
1191
|
createShader(type: number) {
|
|
1138
|
-
|
|
1139
|
-
return gl.createShader(type);
|
|
1192
|
+
return this.gl.createShader(type);
|
|
1140
1193
|
}
|
|
1141
1194
|
|
|
1142
1195
|
/**
|
|
@@ -1148,8 +1201,7 @@ export class WebGlContextWrapper {
|
|
|
1148
1201
|
* @returns
|
|
1149
1202
|
*/
|
|
1150
1203
|
compileShader(shader: WebGLShader) {
|
|
1151
|
-
|
|
1152
|
-
gl.compileShader(shader);
|
|
1204
|
+
this.gl.compileShader(shader);
|
|
1153
1205
|
}
|
|
1154
1206
|
|
|
1155
1207
|
/**
|
|
@@ -1161,8 +1213,7 @@ export class WebGlContextWrapper {
|
|
|
1161
1213
|
* @param shader
|
|
1162
1214
|
*/
|
|
1163
1215
|
attachShader(program: WebGLProgram, shader: WebGLShader) {
|
|
1164
|
-
|
|
1165
|
-
gl.attachShader(program, shader);
|
|
1216
|
+
this.gl.attachShader(program, shader);
|
|
1166
1217
|
}
|
|
1167
1218
|
|
|
1168
1219
|
/**
|
|
@@ -1173,8 +1224,7 @@ export class WebGlContextWrapper {
|
|
|
1173
1224
|
* @param program
|
|
1174
1225
|
*/
|
|
1175
1226
|
linkProgram(program: WebGLProgram) {
|
|
1176
|
-
|
|
1177
|
-
gl.linkProgram(program);
|
|
1227
|
+
this.gl.linkProgram(program);
|
|
1178
1228
|
}
|
|
1179
1229
|
|
|
1180
1230
|
/**
|
|
@@ -1185,8 +1235,7 @@ export class WebGlContextWrapper {
|
|
|
1185
1235
|
* @param shader
|
|
1186
1236
|
*/
|
|
1187
1237
|
deleteProgram(shader: WebGLProgram) {
|
|
1188
|
-
|
|
1189
|
-
gl.deleteProgram(shader);
|
|
1238
|
+
this.gl.deleteProgram(shader);
|
|
1190
1239
|
}
|
|
1191
1240
|
|
|
1192
1241
|
/**
|
|
@@ -1198,8 +1247,7 @@ export class WebGlContextWrapper {
|
|
|
1198
1247
|
* @param pname
|
|
1199
1248
|
*/
|
|
1200
1249
|
getShaderParameter(shader: WebGLShader, pname: GLenum) {
|
|
1201
|
-
|
|
1202
|
-
return gl.getShaderParameter(shader, pname);
|
|
1250
|
+
return this.gl.getShaderParameter(shader, pname);
|
|
1203
1251
|
}
|
|
1204
1252
|
|
|
1205
1253
|
/**
|
|
@@ -1210,8 +1258,7 @@ export class WebGlContextWrapper {
|
|
|
1210
1258
|
* @param shader
|
|
1211
1259
|
*/
|
|
1212
1260
|
getShaderInfoLog(shader: WebGLShader) {
|
|
1213
|
-
|
|
1214
|
-
return gl.getShaderInfoLog(shader);
|
|
1261
|
+
return this.gl.getShaderInfoLog(shader);
|
|
1215
1262
|
}
|
|
1216
1263
|
|
|
1217
1264
|
/**
|
|
@@ -1222,8 +1269,7 @@ export class WebGlContextWrapper {
|
|
|
1222
1269
|
* @returns
|
|
1223
1270
|
*/
|
|
1224
1271
|
createProgram() {
|
|
1225
|
-
|
|
1226
|
-
return gl.createProgram();
|
|
1272
|
+
return this.gl.createProgram();
|
|
1227
1273
|
}
|
|
1228
1274
|
|
|
1229
1275
|
/**
|
|
@@ -1236,8 +1282,7 @@ export class WebGlContextWrapper {
|
|
|
1236
1282
|
* @returns
|
|
1237
1283
|
*/
|
|
1238
1284
|
getProgramParameter(program: WebGLProgram, pname: GLenum) {
|
|
1239
|
-
|
|
1240
|
-
return gl.getProgramParameter(program, pname);
|
|
1285
|
+
return this.gl.getProgramParameter(program, pname);
|
|
1241
1286
|
}
|
|
1242
1287
|
|
|
1243
1288
|
/**
|
|
@@ -1249,8 +1294,7 @@ export class WebGlContextWrapper {
|
|
|
1249
1294
|
* @returns
|
|
1250
1295
|
*/
|
|
1251
1296
|
getProgramInfoLog(program: WebGLProgram) {
|
|
1252
|
-
|
|
1253
|
-
return gl.getProgramInfoLog(program);
|
|
1297
|
+
return this.gl.getProgramInfoLog(program);
|
|
1254
1298
|
}
|
|
1255
1299
|
|
|
1256
1300
|
/**
|
|
@@ -1262,8 +1306,7 @@ export class WebGlContextWrapper {
|
|
|
1262
1306
|
* @param source
|
|
1263
1307
|
*/
|
|
1264
1308
|
shaderSource(shader: WebGLShader, source: string) {
|
|
1265
|
-
|
|
1266
|
-
gl.shaderSource(shader, source);
|
|
1309
|
+
this.gl.shaderSource(shader, source);
|
|
1267
1310
|
}
|
|
1268
1311
|
|
|
1269
1312
|
/**
|
|
@@ -1274,8 +1317,7 @@ export class WebGlContextWrapper {
|
|
|
1274
1317
|
* @param shader
|
|
1275
1318
|
*/
|
|
1276
1319
|
deleteShader(shader: WebGLShader) {
|
|
1277
|
-
|
|
1278
|
-
gl.deleteShader(shader);
|
|
1320
|
+
this.gl.deleteShader(shader);
|
|
1279
1321
|
}
|
|
1280
1322
|
}
|
|
1281
1323
|
|