@lightningjs/renderer 0.3.0 → 0.3.2
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/NOTICE +1 -2
- package/dist/exports/core-api.js +1 -1
- package/dist/exports/main-api.js +1 -1
- package/dist/exports/utils.js +1 -1
- package/dist/src/common/CommonTypes.js +1 -1
- package/dist/src/common/EventEmitter.js +1 -1
- package/dist/src/common/IAnimationController.js +1 -1
- package/dist/src/core/CoreExtension.js +1 -1
- package/dist/src/core/CoreNode.d.ts +5 -1
- package/dist/src/core/CoreNode.js +9 -2
- package/dist/src/core/CoreNode.js.map +1 -1
- package/dist/src/core/CoreTextNode.d.ts +2 -1
- package/dist/src/core/CoreTextNode.js +3 -3
- package/dist/src/core/CoreTextNode.js.map +1 -1
- package/dist/src/core/CoreTextureManager.js +1 -1
- package/dist/src/core/Matrix2DContext.js +1 -1
- package/dist/src/core/Stage.d.ts +2 -1
- package/dist/src/core/Stage.js +20 -6
- package/dist/src/core/Stage.js.map +1 -1
- package/dist/src/core/animations/AnimationManager.js +1 -1
- package/dist/src/core/animations/CoreAnimation.js +1 -1
- package/dist/src/core/animations/CoreAnimationController.js +1 -1
- package/dist/src/core/lib/glm/common.js +1 -1
- package/dist/src/core/lib/glm/index.js +1 -1
- package/dist/src/core/lib/glm/mat2.js +1 -1
- package/dist/src/core/lib/glm/mat2d.js +1 -1
- package/dist/src/core/lib/glm/mat3.js +1 -1
- package/dist/src/core/lib/glm/mat4.js +1 -1
- package/dist/src/core/lib/glm/quat.js +1 -1
- package/dist/src/core/lib/glm/quat2.js +1 -1
- package/dist/src/core/lib/glm/vec2.js +1 -1
- package/dist/src/core/lib/glm/vec3.js +1 -1
- package/dist/src/core/lib/glm/vec4.js +1 -1
- package/dist/src/core/lib/utils.d.ts +1 -0
- package/dist/src/core/lib/utils.js +10 -1
- package/dist/src/core/lib/utils.js.map +1 -1
- package/dist/src/core/platform.js +1 -1
- package/dist/src/core/renderers/CoreContextTexture.js +1 -1
- package/dist/src/core/renderers/CoreRenderOp.js +1 -1
- package/dist/src/core/renderers/CoreRenderer.d.ts +2 -0
- package/dist/src/core/renderers/CoreRenderer.js +1 -1
- package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
- package/dist/src/core/renderers/CoreShader.d.ts +2 -2
- package/dist/src/core/renderers/CoreShader.js +1 -1
- package/dist/src/core/renderers/CoreShader.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.d.ts +4 -1
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +22 -4
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +2 -2
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +29 -15
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +46 -3
- package/dist/src/core/renderers/webgl/WebGlCoreShader.js +44 -9
- package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +1 -1
- package/dist/src/core/renderers/webgl/internal/BufferCollection.js +1 -1
- package/dist/src/core/renderers/webgl/internal/RendererUtils.js +1 -1
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +1 -1
- package/dist/src/core/renderers/webgl/internal/WebGlUtils.js +1 -1
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +1 -1
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +1 -1
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +8 -6
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +20 -13
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.d.ts +5 -6
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +12 -11
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/SdfShader.d.ts +1 -1
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js +1 -1
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.d.ts +16 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +5 -2
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.d.ts +16 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +5 -2
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.d.ts +16 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +5 -2
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.d.ts +16 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +5 -2
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.d.ts +16 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +5 -2
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.d.ts +12 -0
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +100 -0
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.d.ts +28 -0
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +3 -0
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.d.ts +3 -0
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +4 -1
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.d.ts +19 -0
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +5 -2
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.d.ts +38 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +116 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.d.ts +11 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +4 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js.map +1 -1
- package/dist/src/core/scene/Scene.js +1 -1
- package/dist/src/core/text-rendering/TextTextureRendererUtils.js +1 -1
- package/dist/src/core/text-rendering/TrFontManager.js +1 -1
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +1 -1
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.js +1 -1
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js +1 -1
- package/dist/src/core/text-rendering/font-face-types/TrFontFace.js +1 -1
- package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js +1 -1
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +2 -2
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +5 -2
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +2 -2
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +3 -3
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.js +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.js +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.js +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.js +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js +1 -1
- package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +2 -1
- package/dist/src/core/text-rendering/renderers/TextRenderer.js +1 -1
- package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
- package/dist/src/core/textures/ColorTexture.js +1 -1
- package/dist/src/core/textures/ImageTexture.js +1 -1
- package/dist/src/core/textures/NoiseTexture.js +1 -1
- package/dist/src/core/textures/SubTexture.js +1 -1
- package/dist/src/core/textures/Texture.js +1 -1
- package/dist/src/core/utils.js +1 -1
- package/dist/src/main-api/INode.d.ts +19 -0
- package/dist/src/main-api/INode.js +1 -1
- package/dist/src/main-api/IRenderDriver.js +1 -1
- package/dist/src/main-api/RendererMain.d.ts +1 -1
- package/dist/src/main-api/RendererMain.js +2 -1
- package/dist/src/main-api/RendererMain.js.map +1 -1
- package/dist/src/main-api/TextureRegistry.d.ts +33 -0
- package/dist/src/main-api/TextureRegistry.js +97 -0
- package/dist/src/main-api/TextureRegistry.js.map +1 -0
- package/dist/src/main-api/TextureUsageRegistry/TextureRegistry.d.ts +33 -0
- package/dist/src/main-api/TextureUsageRegistry/TextureRegistry.js +97 -0
- package/dist/src/main-api/TextureUsageRegistry/TextureRegistry.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/MainOnlyNode.d.ts +2 -0
- package/dist/src/render-drivers/main/MainOnlyNode.js +8 -1
- package/dist/src/render-drivers/main/MainOnlyNode.js.map +1 -1
- package/dist/src/render-drivers/main/MainOnlyTextNode.js +2 -1
- package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +1 -1
- package/dist/src/render-drivers/main/MainRenderDriver.js +1 -1
- package/dist/src/render-drivers/threadx/NodeStruct.d.ts +3 -0
- package/dist/src/render-drivers/threadx/NodeStruct.js +10 -1
- package/dist/src/render-drivers/threadx/NodeStruct.js.map +1 -1
- package/dist/src/render-drivers/threadx/SharedNode.d.ts +1 -0
- package/dist/src/render-drivers/threadx/SharedNode.js +2 -1
- package/dist/src/render-drivers/threadx/SharedNode.js.map +1 -1
- package/dist/src/render-drivers/threadx/TextNodeStruct.js +1 -1
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +1 -1
- package/dist/src/render-drivers/threadx/ThreadXMainNode.js +1 -1
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +1 -1
- package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js +3 -1
- package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js.map +1 -1
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js +1 -1
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +2 -1
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +1 -1
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +2 -1
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +1 -1
- package/dist/src/render-drivers/threadx/worker/renderer.js +2 -1
- package/dist/src/render-drivers/threadx/worker/renderer.js.map +1 -1
- package/dist/src/utils.d.ts +10 -2
- package/dist/src/utils.js +13 -3
- package/dist/src/utils.js.map +1 -1
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/package.json +6 -5
- package/src/common/CommonTypes.ts +70 -0
- package/src/common/EventEmitter.ts +77 -0
- package/src/common/IAnimationController.ts +29 -0
- package/src/core/CoreExtension.ts +32 -0
- package/src/core/CoreNode.ts +700 -0
- package/src/core/CoreShaderManager.ts +111 -0
- package/src/core/CoreTextNode.ts +342 -0
- package/src/core/CoreTextureManager.ts +323 -0
- package/src/core/Matrix2DContext.ts +52 -0
- package/src/core/Stage.ts +280 -0
- package/src/core/animations/AnimationManager.ts +38 -0
- package/src/core/animations/CoreAnimation.ts +139 -0
- package/src/core/animations/CoreAnimationController.ts +117 -0
- package/src/core/lib/glm/common.ts +231 -0
- package/src/core/lib/glm/index.ts +31 -0
- package/src/core/lib/glm/mat2.ts +499 -0
- package/src/core/lib/glm/mat2d.ts +547 -0
- package/src/core/lib/glm/mat3.ts +849 -0
- package/src/core/lib/glm/mat4.ts +2169 -0
- package/src/core/lib/glm/quat.ts +828 -0
- package/src/core/lib/glm/quat2.ts +951 -0
- package/src/core/lib/glm/vec2.ts +671 -0
- package/src/core/lib/glm/vec3.ts +859 -0
- package/src/core/lib/glm/vec4.ts +708 -0
- package/src/core/lib/utils.ts +144 -0
- package/src/core/platform.ts +40 -0
- package/src/core/renderers/CoreContextTexture.ts +30 -0
- package/src/core/renderers/CoreRenderOp.ts +22 -0
- package/src/core/renderers/CoreRenderer.ts +66 -0
- package/src/core/renderers/CoreShader.ts +41 -0
- package/src/core/renderers/webgl/WebGlCoreCtxSubTexture.ts +36 -0
- package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +208 -0
- package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +111 -0
- package/src/core/renderers/webgl/WebGlCoreRenderer.ts +567 -0
- package/src/core/renderers/webgl/WebGlCoreShader.ts +328 -0
- package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -0
- package/src/core/renderers/webgl/internal/RendererUtils.ts +134 -0
- package/src/core/renderers/webgl/internal/ShaderUtils.ts +135 -0
- package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -0
- package/src/core/renderers/webgl/shaders/DefaultShader.ts +95 -0
- package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +132 -0
- package/src/core/renderers/webgl/shaders/DynamicShader.ts +430 -0
- package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +168 -0
- package/src/core/renderers/webgl/shaders/SdfShader.ts +165 -0
- package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +101 -0
- package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +86 -0
- package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +101 -0
- package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +101 -0
- package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +101 -0
- package/src/core/renderers/webgl/shaders/effects/EffectUtils.ts +33 -0
- package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +111 -0
- package/src/core/renderers/webgl/shaders/effects/GlitchEffect.ts +145 -0
- package/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.ts +37 -0
- package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +182 -0
- package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +159 -0
- package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +106 -0
- package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +114 -0
- package/src/core/scene/Scene.ts +120 -0
- package/src/core/text-rendering/TextTextureRendererUtils.ts +189 -0
- package/src/core/text-rendering/TrFontManager.ts +96 -0
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +128 -0
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +139 -0
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +159 -0
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +164 -0
- package/src/core/text-rendering/font-face-types/TrFontFace.ts +105 -0
- package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +77 -0
- package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +634 -0
- package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +705 -0
- package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +647 -0
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +48 -0
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +66 -0
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +52 -0
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts +32 -0
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +76 -0
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +133 -0
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts +38 -0
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +381 -0
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.test.ts +136 -0
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.ts +64 -0
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +41 -0
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +51 -0
- package/src/core/text-rendering/renderers/TextRenderer.ts +371 -0
- package/src/core/textures/ColorTexture.ts +85 -0
- package/src/core/textures/ImageTexture.ts +113 -0
- package/src/core/textures/NoiseTexture.ts +96 -0
- package/src/core/textures/SubTexture.ts +140 -0
- package/src/core/textures/Texture.ts +162 -0
- package/src/core/utils.ts +222 -0
- package/src/main-api/INode.ts +443 -0
- package/src/main-api/IRenderDriver.ts +58 -0
- package/src/main-api/RendererMain.ts +451 -0
- package/src/render-drivers/main/MainOnlyNode.ts +429 -0
- package/src/render-drivers/main/MainOnlyTextNode.ts +220 -0
- package/src/render-drivers/main/MainRenderDriver.ts +117 -0
- package/src/render-drivers/threadx/NodeStruct.ts +290 -0
- package/src/render-drivers/threadx/SharedNode.ts +95 -0
- package/src/render-drivers/threadx/TextNodeStruct.ts +166 -0
- package/src/render-drivers/threadx/ThreadXMainAnimationController.ts +99 -0
- package/src/render-drivers/threadx/ThreadXMainNode.ts +151 -0
- package/src/render-drivers/threadx/ThreadXMainTextNode.ts +75 -0
- package/src/render-drivers/threadx/ThreadXRenderDriver.ts +247 -0
- package/src/render-drivers/threadx/ThreadXRendererMessage.ts +82 -0
- package/src/render-drivers/threadx/worker/ThreadXRendererNode.ts +232 -0
- package/src/render-drivers/threadx/worker/ThreadXRendererTextNode.ts +146 -0
- package/src/render-drivers/threadx/worker/renderer.ts +138 -0
- package/src/render-drivers/utils.ts +57 -0
- package/src/utils.ts +202 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
3
|
* following copyright and licenses apply:
|
|
4
4
|
*
|
|
5
|
-
* Copyright 2023 Comcast
|
|
5
|
+
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
6
|
*
|
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
8
|
* you may not use this file except in compliance with the License.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
3
|
* following copyright and licenses apply:
|
|
4
4
|
*
|
|
5
|
-
* Copyright 2023 Comcast
|
|
5
|
+
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
6
|
*
|
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
8
|
* you may not use this file except in compliance with the License.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
3
|
* following copyright and licenses apply:
|
|
4
4
|
*
|
|
5
|
-
* Copyright 2023 Comcast
|
|
5
|
+
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
6
|
*
|
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
8
|
* you may not use this file except in compliance with the License.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { CoreShaderManager } from '../CoreShaderManager.js';
|
|
2
2
|
import type { TextureOptions } from '../CoreTextureManager.js';
|
|
3
3
|
import type { Stage } from '../Stage.js';
|
|
4
|
+
import type { Rect } from '../lib/utils.js';
|
|
4
5
|
import type { Texture } from '../textures/Texture.js';
|
|
5
6
|
import { CoreContextTexture } from './CoreContextTexture.js';
|
|
6
7
|
import type { CoreRenderOp } from './CoreRenderOp.js';
|
|
@@ -19,6 +20,7 @@ export interface QuadOptions {
|
|
|
19
20
|
shaderProps: Record<string, unknown> | null;
|
|
20
21
|
alpha: number;
|
|
21
22
|
scale: number;
|
|
23
|
+
clippingRect: Rect | null;
|
|
22
24
|
wpx: number;
|
|
23
25
|
wpy: number;
|
|
24
26
|
ta: number;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
3
|
* following copyright and licenses apply:
|
|
4
4
|
*
|
|
5
|
-
* Copyright 2023 Comcast
|
|
5
|
+
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
6
|
*
|
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
8
|
* you may not use this file except in compliance with the License.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreRenderer.js","sourceRoot":"","sources":["../../../../src/core/renderers/CoreRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"CoreRenderer.js","sourceRoot":"","sources":["../../../../src/core/renderers/CoreRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AA4B7D,MAAM,OAAgB,YAAY;IACtB,KAAK,CAAQ;IAEvB,YAAY,KAAY;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CAQF"}
|
|
@@ -2,8 +2,8 @@ import type { CoreRenderOp } from './CoreRenderOp.js';
|
|
|
2
2
|
export declare abstract class CoreShader {
|
|
3
3
|
static makeCacheKey(props: Record<string, unknown>): string | false;
|
|
4
4
|
static resolveDefaults(props: Record<string, unknown>): Record<string, unknown>;
|
|
5
|
-
abstract bindRenderOp(renderOp: CoreRenderOp): void;
|
|
6
|
-
abstract bindProps(props: Record<string, unknown>): void;
|
|
5
|
+
abstract bindRenderOp(renderOp: CoreRenderOp, props: Record<string, unknown> | null): void;
|
|
6
|
+
protected abstract bindProps(props: Record<string, unknown>): void;
|
|
7
7
|
abstract attach(): void;
|
|
8
8
|
abstract detach(): void;
|
|
9
9
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
3
|
* following copyright and licenses apply:
|
|
4
4
|
*
|
|
5
|
-
* Copyright 2023 Comcast
|
|
5
|
+
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
6
|
*
|
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
8
|
* you may not use this file except in compliance with the License.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreShader.js","sourceRoot":"","sources":["../../../../src/core/renderers/CoreShader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,MAAM,OAAgB,UAAU;IAC9B,yBAAyB;IACzB,MAAM,CAAC,YAAY,CAAC,KAA8B;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,eAAe,CACpB,KAA8B;QAE9B,OAAO,EAAE,CAAC;IACZ,CAAC;
|
|
1
|
+
{"version":3,"file":"CoreShader.js","sourceRoot":"","sources":["../../../../src/core/renderers/CoreShader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,MAAM,OAAgB,UAAU;IAC9B,yBAAyB;IACzB,MAAM,CAAC,YAAY,CAAC,KAA8B;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,eAAe,CACpB,KAA8B;QAE9B,OAAO,EAAE,CAAC;IACZ,CAAC;CASF"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
3
|
* following copyright and licenses apply:
|
|
4
4
|
*
|
|
5
|
-
* Copyright 2023 Comcast
|
|
5
|
+
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
6
|
*
|
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
8
|
* you may not use this file except in compliance with the License.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
3
|
* following copyright and licenses apply:
|
|
4
4
|
*
|
|
5
|
-
* Copyright 2023 Comcast
|
|
5
|
+
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
6
|
*
|
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
8
|
* you may not use this file except in compliance with the License.
|
|
@@ -4,6 +4,7 @@ import type { WebGlCoreCtxTexture } from './WebGlCoreCtxTexture.js';
|
|
|
4
4
|
import type { WebGlCoreRendererOptions } from './WebGlCoreRenderer.js';
|
|
5
5
|
import type { BufferCollection } from './internal/BufferCollection.js';
|
|
6
6
|
import type { Dimensions } from '../../../common/CommonTypes.js';
|
|
7
|
+
import type { Rect } from '../../lib/utils.js';
|
|
7
8
|
/**
|
|
8
9
|
* Can render multiple quads with multiple textures (up to vertex shader texture limit)
|
|
9
10
|
*
|
|
@@ -14,6 +15,8 @@ export declare class WebGlCoreRenderOp extends CoreRenderOp {
|
|
|
14
15
|
readonly buffers: BufferCollection;
|
|
15
16
|
readonly shader: WebGlCoreShader;
|
|
16
17
|
readonly shaderProps: Record<string, unknown>;
|
|
18
|
+
readonly alpha: number;
|
|
19
|
+
readonly clippingRect: Rect | null;
|
|
17
20
|
readonly dimensions: Dimensions;
|
|
18
21
|
readonly bufferIdx: number;
|
|
19
22
|
readonly zIndex: number;
|
|
@@ -21,7 +24,7 @@ export declare class WebGlCoreRenderOp extends CoreRenderOp {
|
|
|
21
24
|
numQuads: number;
|
|
22
25
|
textures: WebGlCoreCtxTexture[];
|
|
23
26
|
readonly maxTextures: number;
|
|
24
|
-
constructor(gl: WebGLRenderingContext | WebGL2RenderingContext, options: WebGlCoreRendererOptions, buffers: BufferCollection, shader: WebGlCoreShader, shaderProps: Record<string, unknown>, dimensions: Dimensions, bufferIdx: number, zIndex: number);
|
|
27
|
+
constructor(gl: WebGLRenderingContext | WebGL2RenderingContext, options: WebGlCoreRendererOptions, buffers: BufferCollection, shader: WebGlCoreShader, shaderProps: Record<string, unknown>, alpha: number, clippingRect: Rect | null, dimensions: Dimensions, bufferIdx: number, zIndex: number);
|
|
25
28
|
addTexture(texture: WebGlCoreCtxTexture): number;
|
|
26
29
|
draw(): void;
|
|
27
30
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
3
|
* following copyright and licenses apply:
|
|
4
4
|
*
|
|
5
|
-
* Copyright 2023 Comcast
|
|
5
|
+
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
6
|
*
|
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
8
|
* you may not use this file except in compliance with the License.
|
|
@@ -29,6 +29,8 @@ export class WebGlCoreRenderOp extends CoreRenderOp {
|
|
|
29
29
|
buffers;
|
|
30
30
|
shader;
|
|
31
31
|
shaderProps;
|
|
32
|
+
alpha;
|
|
33
|
+
clippingRect;
|
|
32
34
|
dimensions;
|
|
33
35
|
bufferIdx;
|
|
34
36
|
zIndex;
|
|
@@ -36,13 +38,15 @@ export class WebGlCoreRenderOp extends CoreRenderOp {
|
|
|
36
38
|
numQuads = 0;
|
|
37
39
|
textures = [];
|
|
38
40
|
maxTextures;
|
|
39
|
-
constructor(gl, options, buffers, shader, shaderProps, dimensions, bufferIdx, zIndex) {
|
|
41
|
+
constructor(gl, options, buffers, shader, shaderProps, alpha, clippingRect, dimensions, bufferIdx, zIndex) {
|
|
40
42
|
super();
|
|
41
43
|
this.gl = gl;
|
|
42
44
|
this.options = options;
|
|
43
45
|
this.buffers = buffers;
|
|
44
46
|
this.shader = shader;
|
|
45
47
|
this.shaderProps = shaderProps;
|
|
48
|
+
this.alpha = alpha;
|
|
49
|
+
this.clippingRect = clippingRect;
|
|
46
50
|
this.dimensions = dimensions;
|
|
47
51
|
this.bufferIdx = bufferIdx;
|
|
48
52
|
this.zIndex = zIndex;
|
|
@@ -69,13 +73,27 @@ export class WebGlCoreRenderOp extends CoreRenderOp {
|
|
|
69
73
|
// shaderOp.draw(this);
|
|
70
74
|
const { shManager } = options;
|
|
71
75
|
shManager.useShader(shader);
|
|
72
|
-
shader.bindRenderOp(this);
|
|
73
|
-
shader.bindProps(shaderProps);
|
|
76
|
+
shader.bindRenderOp(this, shaderProps);
|
|
74
77
|
// TODO: Reduce calculations required
|
|
75
78
|
const quadIdx = (this.bufferIdx / 24) * 6 * 2;
|
|
76
79
|
// TODO: Move these somewhere else?
|
|
77
80
|
gl.enable(gl.BLEND);
|
|
78
81
|
gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);
|
|
82
|
+
// Clipping
|
|
83
|
+
if (this.clippingRect) {
|
|
84
|
+
const { x, y, width, height } = this.clippingRect;
|
|
85
|
+
const pixelRatio = options.pixelRatio;
|
|
86
|
+
const canvasHeight = options.canvas.height;
|
|
87
|
+
const clipX = Math.round(x * pixelRatio);
|
|
88
|
+
const clipWidth = Math.round(width * pixelRatio);
|
|
89
|
+
const clipHeight = Math.round(height * pixelRatio);
|
|
90
|
+
const clipY = Math.round(canvasHeight - clipHeight - y * pixelRatio);
|
|
91
|
+
gl.enable(gl.SCISSOR_TEST);
|
|
92
|
+
gl.scissor(clipX, clipY, clipWidth, clipHeight);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
gl.disable(gl.SCISSOR_TEST);
|
|
96
|
+
}
|
|
79
97
|
gl.drawElements(gl.TRIANGLES, 6 * this.numQuads, gl.UNSIGNED_SHORT, quadIdx);
|
|
80
98
|
}
|
|
81
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebGlCoreRenderOp.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreRenderOp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"WebGlCoreRenderOp.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreRenderOp.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,8 @@ import { Texture } from '../../textures/Texture.js';
|
|
|
6
6
|
import type { Stage } from '../../Stage.js';
|
|
7
7
|
import type { CoreTextureManager } from '../../CoreTextureManager.js';
|
|
8
8
|
import { CoreShaderManager } from '../../CoreShaderManager.js';
|
|
9
|
-
import type { CoreShader } from '../CoreShader.js';
|
|
10
9
|
import { BufferCollection } from './internal/BufferCollection.js';
|
|
10
|
+
import { WebGlCoreShader } from './WebGlCoreShader.js';
|
|
11
11
|
export interface WebGlCoreRendererOptions {
|
|
12
12
|
stage: Stage;
|
|
13
13
|
canvas: HTMLCanvasElement | OffscreenCanvas;
|
|
@@ -34,7 +34,7 @@ export declare class WebGlCoreRenderer extends CoreRenderer {
|
|
|
34
34
|
curBufferIdx: number;
|
|
35
35
|
curRenderOp: WebGlCoreRenderOp | null;
|
|
36
36
|
renderables: Array<QuadOptions | WebGlCoreRenderOp>;
|
|
37
|
-
defaultShader:
|
|
37
|
+
defaultShader: WebGlCoreShader;
|
|
38
38
|
quadBufferCollection: BufferCollection;
|
|
39
39
|
/**
|
|
40
40
|
* White pixel texture used by default when no texture is specified.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
3
|
* following copyright and licenses apply:
|
|
4
4
|
*
|
|
5
|
-
* Copyright 2023 Comcast
|
|
5
|
+
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
6
|
*
|
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
8
|
* you may not use this file except in compliance with the License.
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
|
-
import { assertTruthy, createWebGLContext, mergeColorAlphaPremultiplied, } from '../../../utils.js';
|
|
19
|
+
import { assertTruthy, createWebGLContext, hasOwn, mergeColorAlphaPremultiplied, } from '../../../utils.js';
|
|
20
20
|
import { CoreRenderer, } from '../CoreRenderer.js';
|
|
21
21
|
import { WebGlCoreRenderOp } from './WebGlCoreRenderOp.js';
|
|
22
22
|
import { createIndexBuffer, getWebGlParameters, getWebGlExtensions, } from './internal/RendererUtils.js';
|
|
@@ -27,8 +27,9 @@ import { SubTexture } from '../../textures/SubTexture.js';
|
|
|
27
27
|
import { WebGlCoreCtxSubTexture } from './WebGlCoreCtxSubTexture.js';
|
|
28
28
|
import { CoreShaderManager } from '../../CoreShaderManager.js';
|
|
29
29
|
import { BufferCollection } from './internal/BufferCollection.js';
|
|
30
|
-
import { getNormalizedRgbaComponents } from '../../lib/utils.js';
|
|
30
|
+
import { compareRect, getNormalizedRgbaComponents, } from '../../lib/utils.js';
|
|
31
31
|
import { WebGlCoreShader } from './WebGlCoreShader.js';
|
|
32
|
+
import { RoundedRectangle } from './shaders/RoundedRectangle.js';
|
|
32
33
|
const WORDS_PER_QUAD = 24;
|
|
33
34
|
const BYTES_PER_QUAD = WORDS_PER_QUAD * 4;
|
|
34
35
|
export class WebGlCoreRenderer extends CoreRenderer {
|
|
@@ -154,8 +155,18 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
154
155
|
}
|
|
155
156
|
addQuad(params) {
|
|
156
157
|
const { fQuadBuffer, uiQuadBuffer } = this;
|
|
157
|
-
const { width, height, colorTl, colorTr, colorBl, colorBr, textureOptions, shader, shaderProps, alpha, wpx, wpy, ta, tb, tc, td, } = params;
|
|
158
|
+
const { width, height, clippingRect, colorTl, colorTr, colorBl, colorBr, textureOptions, shader, shaderProps, alpha, wpx, wpy, ta, tb, tc, td, } = params;
|
|
158
159
|
let { texture } = params;
|
|
160
|
+
/**
|
|
161
|
+
* If the shader props contain any automatic properties, update it with the
|
|
162
|
+
* current dimensions that will be used to render the quad.
|
|
163
|
+
*/
|
|
164
|
+
if (shaderProps && hasOwn(shaderProps, '$dimensions')) {
|
|
165
|
+
const dimensions = shaderProps.$dimensions;
|
|
166
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
167
|
+
dimensions.width = width;
|
|
168
|
+
dimensions.height = height;
|
|
169
|
+
}
|
|
159
170
|
texture = texture ?? this.defaultTexture;
|
|
160
171
|
assertTruthy(texture instanceof Texture, 'Invalid texture type');
|
|
161
172
|
let { curBufferIdx: bufferIdx, curRenderOp } = this;
|
|
@@ -165,13 +176,16 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
165
176
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
166
177
|
};
|
|
167
178
|
const targetShader = shader || this.defaultShader;
|
|
179
|
+
assertTruthy(targetShader instanceof WebGlCoreShader);
|
|
168
180
|
if (curRenderOp) {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
(curRenderOp.
|
|
174
|
-
|
|
181
|
+
// If the current render op is not the same shader, create a new one
|
|
182
|
+
// If the current render op's shader props are not compatible with the
|
|
183
|
+
// the new shader props, create a new one render op.
|
|
184
|
+
if (curRenderOp.shader !== targetShader ||
|
|
185
|
+
!compareRect(curRenderOp.clippingRect, clippingRect) ||
|
|
186
|
+
(curRenderOp.shader !== this.defaultShader &&
|
|
187
|
+
(!shaderProps ||
|
|
188
|
+
!curRenderOp.shader.canBatchShaderProps(curRenderOp.shaderProps, shaderProps)))) {
|
|
175
189
|
curRenderOp = null;
|
|
176
190
|
}
|
|
177
191
|
}
|
|
@@ -179,7 +193,7 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
179
193
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any
|
|
180
194
|
if (!curRenderOp) {
|
|
181
195
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
182
|
-
this.newRenderOp(targetShader, shaderProps, targetDims, bufferIdx);
|
|
196
|
+
this.newRenderOp(targetShader, shaderProps, alpha, targetDims, clippingRect, bufferIdx);
|
|
183
197
|
curRenderOp = this.curRenderOp;
|
|
184
198
|
assertTruthy(curRenderOp);
|
|
185
199
|
}
|
|
@@ -289,8 +303,8 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
289
303
|
* @param shader
|
|
290
304
|
* @param bufferIdx
|
|
291
305
|
*/
|
|
292
|
-
newRenderOp(shader, shaderProps, dimensions, bufferIdx) {
|
|
293
|
-
const curRenderOp = new WebGlCoreRenderOp(this.gl, this.options, this.quadBufferCollection, shader, shaderProps, dimensions, bufferIdx, 0);
|
|
306
|
+
newRenderOp(shader, shaderProps, alpha, dimensions, clippingRect, bufferIdx) {
|
|
307
|
+
const curRenderOp = new WebGlCoreRenderOp(this.gl, this.options, this.quadBufferCollection, shader, shaderProps, alpha, clippingRect, dimensions, bufferIdx, 0);
|
|
294
308
|
this.curRenderOp = curRenderOp;
|
|
295
309
|
this.renderOps.push(curRenderOp);
|
|
296
310
|
}
|
|
@@ -315,8 +329,8 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
315
329
|
if (recursive) {
|
|
316
330
|
throw new Error('Unable to add texture to render op');
|
|
317
331
|
}
|
|
318
|
-
const { shader, shaderProps, dimensions } = curRenderOp;
|
|
319
|
-
this.newRenderOp(shader, shaderProps, dimensions, bufferIdx);
|
|
332
|
+
const { shader, shaderProps, dimensions, clippingRect, alpha } = curRenderOp;
|
|
333
|
+
this.newRenderOp(shader, shaderProps, alpha, dimensions, clippingRect, bufferIdx);
|
|
320
334
|
return this.addTexture(texture, bufferIdx, true);
|
|
321
335
|
}
|
|
322
336
|
return textureIdx;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebGlCoreRenderer.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreRenderer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WebGlCoreRenderer.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,37 @@
|
|
|
1
|
+
import type { Dimensions } from '../../../common/CommonTypes.js';
|
|
1
2
|
import { CoreShader } from '../CoreShader.js';
|
|
2
3
|
import type { WebGlCoreCtxTexture } from './WebGlCoreCtxTexture.js';
|
|
3
4
|
import type { WebGlCoreRenderOp } from './WebGlCoreRenderOp.js';
|
|
4
5
|
import type { WebGlCoreRenderer } from './WebGlCoreRenderer.js';
|
|
5
6
|
import type { BufferCollection } from './internal/BufferCollection.js';
|
|
6
7
|
import { type ShaderOptions, type UniformMethodMap, type ShaderProgramSources } from './internal/ShaderUtils.js';
|
|
8
|
+
/**
|
|
9
|
+
* Automatic shader prop for the dimensions of the Node being rendered
|
|
10
|
+
*
|
|
11
|
+
* @remarks
|
|
12
|
+
* Shader's who's rendering depends on the dimensions of the Node being rendered
|
|
13
|
+
* should extend this interface from their Prop interface type.
|
|
14
|
+
*/
|
|
15
|
+
export interface DimensionsShaderProp {
|
|
16
|
+
/**
|
|
17
|
+
* Dimensions of the Node being rendered (Auto-set by the renderer)
|
|
18
|
+
*
|
|
19
|
+
* @remarks
|
|
20
|
+
* DO NOT SET THIS. It is set automatically by the renderer.
|
|
21
|
+
* Any values set here will be ignored.
|
|
22
|
+
*/
|
|
23
|
+
$dimensions?: Dimensions;
|
|
24
|
+
}
|
|
25
|
+
export interface AlphaShaderProp {
|
|
26
|
+
/**
|
|
27
|
+
* Alpha of the Node being rendered (Auto-set by the renderer)
|
|
28
|
+
*
|
|
29
|
+
* @remarks
|
|
30
|
+
* DO NOT SET THIS. It is set automatically by the renderer.
|
|
31
|
+
* Any values set here will be ignored.
|
|
32
|
+
*/
|
|
33
|
+
$alpha?: number;
|
|
34
|
+
}
|
|
7
35
|
export declare abstract class WebGlCoreShader extends CoreShader {
|
|
8
36
|
protected boundBufferCollection: BufferCollection | null;
|
|
9
37
|
protected buffersBound: boolean;
|
|
@@ -27,12 +55,27 @@ export declare abstract class WebGlCoreShader extends CoreShader {
|
|
|
27
55
|
private bindBufferAttribute;
|
|
28
56
|
disableAttribute(location: number): void;
|
|
29
57
|
disableAttributes(): void;
|
|
30
|
-
|
|
58
|
+
/**
|
|
59
|
+
* Given two sets of Shader props destined for this Shader, determine if they can be batched together
|
|
60
|
+
* to reduce the number of draw calls.
|
|
61
|
+
*
|
|
62
|
+
* @remarks
|
|
63
|
+
* This is used by the {@link WebGlCoreRenderer} to determine if it can batch multiple consecutive draw
|
|
64
|
+
* calls into a single draw call.
|
|
65
|
+
*
|
|
66
|
+
* By default, this returns false (meaning no batching is allowed), but can be
|
|
67
|
+
* overridden by child classes to provide more efficient batching.
|
|
68
|
+
*
|
|
69
|
+
* @param propsA
|
|
70
|
+
* @param propsB
|
|
71
|
+
* @returns
|
|
72
|
+
*/
|
|
73
|
+
canBatchShaderProps(propsA: Record<string, unknown>, propsB: Record<string, unknown>): boolean;
|
|
74
|
+
bindRenderOp(renderOp: WebGlCoreRenderOp, props: Record<string, unknown> | null): void;
|
|
31
75
|
setUniform(name: string, value: any): void;
|
|
32
76
|
bindBufferCollection(buffer: BufferCollection): void;
|
|
33
|
-
bindProps(props: Record<string, unknown>): void;
|
|
77
|
+
protected bindProps(props: Record<string, unknown>): void;
|
|
34
78
|
bindTextures(textures: WebGlCoreCtxTexture[]): void;
|
|
35
|
-
bindUniforms(renderOp: WebGlCoreRenderOp): void;
|
|
36
79
|
attach(): void;
|
|
37
80
|
detach(): void;
|
|
38
81
|
protected static shaderSources?: ShaderProgramSources;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
3
|
* following copyright and licenses apply:
|
|
4
4
|
*
|
|
5
|
-
* Copyright 2023 Comcast
|
|
5
|
+
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
6
|
*
|
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
8
|
* you may not use this file except in compliance with the License.
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
|
-
import { assertTruthy } from '../../../utils.js';
|
|
19
|
+
import { assertTruthy, hasOwn } from '../../../utils.js';
|
|
20
20
|
import { CoreShader } from '../CoreShader.js';
|
|
21
21
|
import { createProgram, createShader, } from './internal/ShaderUtils.js';
|
|
22
22
|
import { isWebGl2 } from './internal/WebGlUtils.js';
|
|
@@ -138,12 +138,52 @@ export class WebGlCoreShader extends CoreShader {
|
|
|
138
138
|
}
|
|
139
139
|
this.boundBufferCollection = null;
|
|
140
140
|
}
|
|
141
|
-
|
|
141
|
+
/**
|
|
142
|
+
* Given two sets of Shader props destined for this Shader, determine if they can be batched together
|
|
143
|
+
* to reduce the number of draw calls.
|
|
144
|
+
*
|
|
145
|
+
* @remarks
|
|
146
|
+
* This is used by the {@link WebGlCoreRenderer} to determine if it can batch multiple consecutive draw
|
|
147
|
+
* calls into a single draw call.
|
|
148
|
+
*
|
|
149
|
+
* By default, this returns false (meaning no batching is allowed), but can be
|
|
150
|
+
* overridden by child classes to provide more efficient batching.
|
|
151
|
+
*
|
|
152
|
+
* @param propsA
|
|
153
|
+
* @param propsB
|
|
154
|
+
* @returns
|
|
155
|
+
*/
|
|
156
|
+
canBatchShaderProps(propsA, propsB) {
|
|
157
|
+
return false;
|
|
158
|
+
}
|
|
159
|
+
bindRenderOp(renderOp, props) {
|
|
142
160
|
this.bindBufferCollection(renderOp.buffers);
|
|
143
161
|
if (renderOp.textures.length > 0) {
|
|
144
162
|
this.bindTextures(renderOp.textures);
|
|
145
163
|
}
|
|
146
|
-
|
|
164
|
+
const { gl } = renderOp;
|
|
165
|
+
// Bind standard automatic uniforms
|
|
166
|
+
this.setUniform('u_resolution', [gl.canvas.width, gl.canvas.height]); // !!!
|
|
167
|
+
this.setUniform('u_pixelRatio', renderOp.options.pixelRatio);
|
|
168
|
+
if (props) {
|
|
169
|
+
// Bind optional automatic uniforms
|
|
170
|
+
// These are only bound if their keys are present in the props.
|
|
171
|
+
if (hasOwn(props, '$dimensions')) {
|
|
172
|
+
let dimensions = props.$dimensions;
|
|
173
|
+
if (!dimensions) {
|
|
174
|
+
dimensions = renderOp.dimensions;
|
|
175
|
+
}
|
|
176
|
+
this.setUniform('u_dimensions', [dimensions.width, dimensions.height]);
|
|
177
|
+
}
|
|
178
|
+
if (hasOwn(props, '$alpha')) {
|
|
179
|
+
let alpha = props.$alpha;
|
|
180
|
+
if (!alpha) {
|
|
181
|
+
alpha = renderOp.alpha;
|
|
182
|
+
}
|
|
183
|
+
this.setUniform('u_alpha', alpha);
|
|
184
|
+
}
|
|
185
|
+
this.bindProps(props);
|
|
186
|
+
}
|
|
147
187
|
}
|
|
148
188
|
setUniform(name, value) {
|
|
149
189
|
// @ts-expect-error Typing of args is too funky apparently for TS
|
|
@@ -168,11 +208,6 @@ export class WebGlCoreShader extends CoreShader {
|
|
|
168
208
|
bindTextures(textures) {
|
|
169
209
|
// no defaults
|
|
170
210
|
}
|
|
171
|
-
bindUniforms(renderOp) {
|
|
172
|
-
const { gl } = renderOp;
|
|
173
|
-
this.setUniform('u_resolution', [gl.canvas.width, gl.canvas.height]);
|
|
174
|
-
this.setUniform('u_pixelRatio', renderOp.options.pixelRatio);
|
|
175
|
-
}
|
|
176
211
|
attach() {
|
|
177
212
|
this.gl.useProgram(this.program);
|
|
178
213
|
if (isWebGl2(this.gl) && this.vao) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebGlCoreShader.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreShader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"WebGlCoreShader.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreShader.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
3
|
* following copyright and licenses apply:
|
|
4
4
|
*
|
|
5
|
-
* Copyright 2023 Comcast
|
|
5
|
+
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
6
|
*
|
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
8
|
* you may not use this file except in compliance with the License.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
3
|
* following copyright and licenses apply:
|
|
4
4
|
*
|
|
5
|
-
* Copyright 2023 Comcast
|
|
5
|
+
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
6
|
*
|
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
8
|
* you may not use this file except in compliance with the License.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
3
|
* following copyright and licenses apply:
|
|
4
4
|
*
|
|
5
|
-
* Copyright 2023 Comcast
|
|
5
|
+
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
6
|
*
|
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
8
|
* you may not use this file except in compliance with the License.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
3
|
* following copyright and licenses apply:
|
|
4
4
|
*
|
|
5
|
-
* Copyright 2023 Comcast
|
|
5
|
+
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
6
|
*
|
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
8
|
* you may not use this file except in compliance with the License.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
3
|
* following copyright and licenses apply:
|
|
4
4
|
*
|
|
5
|
-
* Copyright 2023 Comcast
|
|
5
|
+
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
6
|
*
|
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
8
|
* you may not use this file except in compliance with the License.
|