@lightningjs/renderer 0.6.0 → 0.7.0
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/README.md +1 -1
- package/dist/src/common/CommonTypes.d.ts +8 -0
- package/dist/src/core/CoreNode.d.ts +63 -15
- package/dist/src/core/CoreNode.js +266 -117
- package/dist/src/core/CoreNode.js.map +1 -1
- package/dist/src/core/CoreTextNode.d.ts +11 -0
- package/dist/src/core/CoreTextNode.js +58 -0
- package/dist/src/core/CoreTextNode.js.map +1 -1
- package/dist/src/core/CoreTextureManager.d.ts +3 -1
- package/dist/src/core/CoreTextureManager.js +4 -1
- package/dist/src/core/CoreTextureManager.js.map +1 -1
- package/dist/src/core/Stage.d.ts +12 -2
- package/dist/src/core/Stage.js +36 -24
- package/dist/src/core/Stage.js.map +1 -1
- package/dist/src/core/animations/CoreAnimation.js +11 -2
- package/dist/src/core/animations/CoreAnimation.js.map +1 -1
- package/dist/src/core/lib/ContextSpy.d.ts +12 -0
- package/dist/src/core/lib/ContextSpy.js +38 -0
- package/dist/src/core/lib/ContextSpy.js.map +1 -0
- package/dist/src/core/lib/ImageWorker.d.ts +16 -0
- package/dist/src/core/lib/ImageWorker.js +111 -0
- package/dist/src/core/lib/ImageWorker.js.map +1 -0
- package/dist/src/core/lib/WebGlContext.d.ts +414 -0
- package/dist/src/core/lib/WebGlContext.js +640 -0
- package/dist/src/core/lib/WebGlContext.js.map +1 -0
- package/dist/src/core/lib/WebGlContextWrapper.d.ts +500 -0
- package/dist/src/core/lib/WebGlContextWrapper.js +784 -0
- package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -0
- package/dist/src/core/platform.js +4 -0
- package/dist/src/core/platform.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.d.ts +2 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js +2 -2
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +3 -2
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +23 -21
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.d.ts +3 -2
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +9 -13
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +4 -1
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +33 -31
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +2 -1
- package/dist/src/core/renderers/webgl/WebGlCoreShader.js +24 -24
- package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +1 -1
- package/dist/src/core/renderers/webgl/internal/RendererUtils.d.ts +8 -5
- package/dist/src/core/renderers/webgl/internal/RendererUtils.js +11 -13
- package/dist/src/core/renderers/webgl/internal/RendererUtils.js.map +1 -1
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.d.ts +3 -2
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +15 -15
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +3 -6
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +3 -3
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +1 -0
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +32 -12
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +3 -3
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js +3 -3
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.d.ts +14 -1
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +15 -5
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js.map +1 -1
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +7 -8
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -1
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.d.ts +2 -1
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js +4 -2
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +40 -13
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +1 -1
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +6 -6
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +3 -2
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +82 -50
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/findNearestMultiple.d.ts +8 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/findNearestMultiple.js +29 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/findNearestMultiple.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.d.ts +4 -3
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js +15 -11
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.d.ts +3 -2
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +30 -26
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/SdfBufferHelper.d.ts +19 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/SdfBufferHelper.js +84 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/SdfBufferHelper.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutLine.d.ts +8 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutLine.js +40 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutLine.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutText2.d.ts +2 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutText2.js +41 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutText2.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/utils.d.ts +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/utils.js +4 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/utils.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2.d.ts +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2.js +2 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/roundUpToMultiple.d.ts +9 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/roundUpToMultiple.js +32 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/roundUpToMultiple.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.d.ts +26 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js +70 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.d.ts +16 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.js +39 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +50 -0
- package/dist/src/core/text-rendering/renderers/TextRenderer.js +19 -0
- package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
- package/dist/src/core/textures/ImageTexture.js +14 -9
- package/dist/src/core/textures/ImageTexture.js.map +1 -1
- package/dist/src/core/utils.d.ts +1 -6
- package/dist/src/core/utils.js +3 -2
- package/dist/src/core/utils.js.map +1 -1
- package/dist/src/main-api/ICoreDriver.d.ts +2 -1
- package/dist/src/main-api/RendererMain.d.ts +25 -0
- package/dist/src/main-api/RendererMain.js +14 -5
- package/dist/src/main-api/RendererMain.js.map +1 -1
- package/dist/src/render-drivers/main/MainCoreDriver.d.ts +2 -1
- package/dist/src/render-drivers/main/MainCoreDriver.js +6 -4
- package/dist/src/render-drivers/main/MainCoreDriver.js.map +1 -1
- package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +10 -0
- package/dist/src/render-drivers/main/MainOnlyTextNode.js +45 -0
- package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +1 -1
- package/dist/src/render-drivers/threadx/TextNodeStruct.d.ts +10 -0
- package/dist/src/render-drivers/threadx/TextNodeStruct.js +45 -0
- package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +1 -1
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +2 -1
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +8 -1
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +1 -1
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.d.ts +5 -0
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +5 -0
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +1 -1
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +4 -1
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +1 -1
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.d.ts +5 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +10 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +1 -1
- package/dist/src/render-drivers/threadx/worker/renderer.js +5 -3
- package/dist/src/render-drivers/threadx/worker/renderer.js.map +1 -1
- package/dist/src/utils.d.ts +2 -1
- package/dist/src/utils.js +22 -3
- package/dist/src/utils.js.map +1 -1
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/package.json +3 -2
- package/src/common/CommonTypes.ts +9 -0
- package/src/core/CoreNode.ts +325 -148
- package/src/core/CoreTextNode.ts +72 -0
- package/src/core/CoreTextureManager.ts +4 -2
- package/src/core/Stage.ts +60 -34
- package/src/core/animations/CoreAnimation.ts +11 -2
- package/src/core/lib/ContextSpy.ts +41 -0
- package/src/core/lib/ImageWorker.ts +124 -0
- package/src/core/lib/WebGlContextWrapper.ts +965 -0
- package/src/core/platform.ts +5 -0
- package/src/core/renderers/webgl/WebGlCoreCtxSubTexture.ts +3 -2
- package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +29 -28
- package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +10 -14
- package/src/core/renderers/webgl/WebGlCoreRenderer.ts +34 -63
- package/src/core/renderers/webgl/WebGlCoreShader.ts +34 -25
- package/src/core/renderers/webgl/internal/RendererUtils.ts +13 -16
- package/src/core/renderers/webgl/internal/ShaderUtils.ts +16 -15
- package/src/core/renderers/webgl/shaders/DefaultShader.ts +3 -7
- package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +3 -3
- package/src/core/renderers/webgl/shaders/DynamicShader.ts +42 -14
- package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +3 -3
- package/src/core/renderers/webgl/shaders/SdfShader.ts +3 -3
- package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +1 -1
- package/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.ts +35 -5
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +7 -8
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +9 -3
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +4 -2
- package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +44 -15
- package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +7 -7
- package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +115 -63
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +26 -18
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +40 -28
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +6 -1
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +205 -0
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/{makeRenderWindow.ts → setRenderWindow.ts} +50 -21
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +40 -0
- package/src/core/text-rendering/renderers/TextRenderer.ts +73 -0
- package/src/core/textures/ImageTexture.ts +17 -9
- package/src/core/utils.ts +87 -85
- package/src/env.d.ts +7 -0
- package/src/main-api/ICoreDriver.ts +2 -1
- package/src/main-api/RendererMain.ts +43 -5
- package/src/render-drivers/main/MainCoreDriver.ts +8 -5
- package/src/render-drivers/main/MainOnlyTextNode.ts +55 -1
- package/src/render-drivers/threadx/TextNodeStruct.ts +45 -0
- package/src/render-drivers/threadx/ThreadXCoreDriver.ts +10 -2
- package/src/render-drivers/threadx/ThreadXMainTextNode.ts +10 -0
- package/src/render-drivers/threadx/ThreadXRendererMessage.ts +5 -1
- package/src/render-drivers/threadx/worker/ThreadXRendererTextNode.ts +15 -0
- package/src/render-drivers/threadx/worker/renderer.ts +6 -4
- package/src/utils.ts +25 -4
- package/src/core/scene/Scene.ts +0 -120
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.test.ts +0 -136
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebGlContextWrapper.js","sourceRoot":"","sources":["../../../../src/core/lib/WebGlContextWrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../src/core/platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAY,EAAE,EAAE;IACxC,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAEzB,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC,CAAC;IACF,qBAAqB,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,OAAO,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACtD,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../src/core/platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAY,EAAE,EAAE;IACxC,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAEzB,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE;YAC5B,UAAU,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YACxC,OAAO;SACR;QAED,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC,CAAC;IACF,qBAAqB,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,OAAO,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACtD,CAAC,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Dimensions } from '../../../common/CommonTypes.js';
|
|
2
|
+
import type { WebGlContextWrapper } from '../../lib/WebGlContextWrapper.js';
|
|
2
3
|
import type { SubTexture } from '../../textures/SubTexture.js';
|
|
3
4
|
import { WebGlCoreCtxTexture } from './WebGlCoreCtxTexture.js';
|
|
4
5
|
export declare class WebGlCoreCtxSubTexture extends WebGlCoreCtxTexture {
|
|
5
|
-
constructor(
|
|
6
|
+
constructor(glw: WebGlContextWrapper, textureSource: SubTexture);
|
|
6
7
|
onLoadRequest(): Promise<Dimensions>;
|
|
7
8
|
}
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import { WebGlCoreCtxTexture } from './WebGlCoreCtxTexture.js';
|
|
20
20
|
export class WebGlCoreCtxSubTexture extends WebGlCoreCtxTexture {
|
|
21
|
-
constructor(
|
|
22
|
-
super(
|
|
21
|
+
constructor(glw, textureSource) {
|
|
22
|
+
super(glw, textureSource);
|
|
23
23
|
}
|
|
24
24
|
async onLoadRequest() {
|
|
25
25
|
const props = await this.textureSource.getTextureData();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebGlCoreCtxSubTexture.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreCtxSubTexture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"WebGlCoreCtxSubTexture.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreCtxSubTexture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,OAAO,sBAAuB,SAAQ,mBAAmB;IAC7D,YAAY,GAAwB,EAAE,aAAyB;QAC7D,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC5B,CAAC;IAEQ,KAAK,CAAC,aAAa;QAC1B,MAAM,KAAK,GAAG,MAAO,IAAI,CAAC,aAA4B,CAAC,cAAc,EAAE,CAAC;QACxE,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC;YAC7B,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;SAChC,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Dimensions } from '../../../common/CommonTypes.js';
|
|
2
|
+
import type { WebGlContextWrapper } from '../../lib/WebGlContextWrapper.js';
|
|
2
3
|
import type { Texture } from '../../textures/Texture.js';
|
|
3
4
|
import { CoreContextTexture } from '../CoreContextTexture.js';
|
|
4
5
|
/**
|
|
@@ -13,12 +14,12 @@ import { CoreContextTexture } from '../CoreContextTexture.js';
|
|
|
13
14
|
* loaded yet.
|
|
14
15
|
*/
|
|
15
16
|
export declare class WebGlCoreCtxTexture extends CoreContextTexture {
|
|
16
|
-
protected
|
|
17
|
+
protected glw: WebGlContextWrapper;
|
|
17
18
|
protected _nativeCtxTexture: WebGLTexture | null;
|
|
18
19
|
private _state;
|
|
19
20
|
private _w;
|
|
20
21
|
private _h;
|
|
21
|
-
constructor(
|
|
22
|
+
constructor(glw: WebGlContextWrapper, textureSource: Texture);
|
|
22
23
|
get ctxTexture(): WebGLTexture;
|
|
23
24
|
get w(): number;
|
|
24
25
|
get h(): number;
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
import { assertTruthy } from '../../../utils.js';
|
|
20
20
|
import { isPowerOfTwo } from '../../utils.js';
|
|
21
21
|
import { CoreContextTexture } from '../CoreContextTexture.js';
|
|
22
|
-
import { isWebGl2 } from './internal/WebGlUtils.js';
|
|
23
22
|
const TRANSPARENT_TEXTURE_DATA = new Uint8Array([0, 0, 0, 0]);
|
|
24
23
|
/**
|
|
25
24
|
* A wrapper around a WebGLTexture that handles loading the texture data
|
|
@@ -33,14 +32,14 @@ const TRANSPARENT_TEXTURE_DATA = new Uint8Array([0, 0, 0, 0]);
|
|
|
33
32
|
* loaded yet.
|
|
34
33
|
*/
|
|
35
34
|
export class WebGlCoreCtxTexture extends CoreContextTexture {
|
|
36
|
-
|
|
35
|
+
glw;
|
|
37
36
|
_nativeCtxTexture = null;
|
|
38
37
|
_state = 'freed';
|
|
39
38
|
_w = 0;
|
|
40
39
|
_h = 0;
|
|
41
|
-
constructor(
|
|
40
|
+
constructor(glw, textureSource) {
|
|
42
41
|
super(textureSource);
|
|
43
|
-
this.
|
|
42
|
+
this.glw = glw;
|
|
44
43
|
}
|
|
45
44
|
get ctxTexture() {
|
|
46
45
|
if (this._state === 'freed') {
|
|
@@ -91,22 +90,23 @@ export class WebGlCoreCtxTexture extends CoreContextTexture {
|
|
|
91
90
|
*/
|
|
92
91
|
async onLoadRequest() {
|
|
93
92
|
this._nativeCtxTexture = this.createNativeCtxTexture();
|
|
94
|
-
const {
|
|
93
|
+
const { glw } = this;
|
|
95
94
|
// On initial load request, create a 1x1 transparent texture to use until
|
|
96
95
|
// the texture data is finally loaded.
|
|
97
|
-
|
|
96
|
+
glw.activeTexture(0);
|
|
97
|
+
glw.bindTexture(this._nativeCtxTexture);
|
|
98
98
|
// linear texture filtering
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
glw.texParameteri(glw.TEXTURE_MAG_FILTER, glw.LINEAR);
|
|
100
|
+
glw.texParameteri(glw.TEXTURE_MIN_FILTER, glw.LINEAR);
|
|
101
101
|
// texture wrapping method
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, TRANSPARENT_TEXTURE_DATA);
|
|
102
|
+
glw.texParameteri(glw.TEXTURE_WRAP_S, glw.CLAMP_TO_EDGE);
|
|
103
|
+
glw.texParameteri(glw.TEXTURE_WRAP_T, glw.CLAMP_TO_EDGE);
|
|
104
|
+
glw.texImage2D(0, glw.RGBA, 1, 1, 0, glw.RGBA, glw.UNSIGNED_BYTE, TRANSPARENT_TEXTURE_DATA);
|
|
106
105
|
const textureData = await this.textureSource?.getTextureData();
|
|
107
106
|
let width = 0;
|
|
108
107
|
let height = 0;
|
|
109
108
|
assertTruthy(this._nativeCtxTexture);
|
|
109
|
+
glw.activeTexture(0);
|
|
110
110
|
// If textureData is null, the texture is empty (0, 0) and we don't need to
|
|
111
111
|
// upload any data to the GPU.
|
|
112
112
|
if (textureData.data instanceof ImageBitmap ||
|
|
@@ -114,20 +114,20 @@ export class WebGlCoreCtxTexture extends CoreContextTexture {
|
|
|
114
114
|
const data = textureData.data;
|
|
115
115
|
width = data.width;
|
|
116
116
|
height = data.height;
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
117
|
+
glw.bindTexture(this._nativeCtxTexture);
|
|
118
|
+
glw.pixelStorei(glw.UNPACK_PREMULTIPLY_ALPHA_WEBGL, !!textureData.premultiplyAlpha);
|
|
119
|
+
glw.texImage2D(0, glw.RGBA, glw.RGBA, glw.UNSIGNED_BYTE, data);
|
|
120
120
|
// generate mipmaps for power-of-2 textures or in WebGL2RenderingContext
|
|
121
|
-
if (isWebGl2(
|
|
122
|
-
|
|
121
|
+
if (glw.isWebGl2() || (isPowerOfTwo(width) && isPowerOfTwo(height))) {
|
|
122
|
+
glw.generateMipmap();
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
else if (textureData.data === null) {
|
|
126
126
|
width = 0;
|
|
127
127
|
height = 0;
|
|
128
128
|
// Reset to a 1x1 transparent texture
|
|
129
|
-
|
|
130
|
-
|
|
129
|
+
glw.bindTexture(this._nativeCtxTexture);
|
|
130
|
+
glw.texImage2D(0, glw.RGBA, 1, 1, 0, glw.RGBA, glw.UNSIGNED_BYTE, TRANSPARENT_TEXTURE_DATA);
|
|
131
131
|
}
|
|
132
132
|
else {
|
|
133
133
|
console.error(`WebGlCoreCtxTexture.onLoadRequest: Unexpected textureData returned`, textureData);
|
|
@@ -152,11 +152,13 @@ export class WebGlCoreCtxTexture extends CoreContextTexture {
|
|
|
152
152
|
if (!this._nativeCtxTexture) {
|
|
153
153
|
return;
|
|
154
154
|
}
|
|
155
|
-
this
|
|
155
|
+
const { glw } = this;
|
|
156
|
+
glw.deleteTexture(this._nativeCtxTexture);
|
|
156
157
|
this._nativeCtxTexture = null;
|
|
157
158
|
}
|
|
158
159
|
createNativeCtxTexture() {
|
|
159
|
-
const
|
|
160
|
+
const { glw } = this;
|
|
161
|
+
const nativeTexture = glw.createTexture();
|
|
160
162
|
if (!nativeTexture) {
|
|
161
163
|
throw new Error('Could not create WebGL Texture');
|
|
162
164
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebGlCoreCtxTexture.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreCtxTexture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"WebGlCoreCtxTexture.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreCtxTexture.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,12 +5,13 @@ 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
7
|
import type { Rect } from '../../lib/utils.js';
|
|
8
|
+
import type { WebGlContextWrapper } from '../../lib/WebGlContextWrapper.js';
|
|
8
9
|
/**
|
|
9
10
|
* Can render multiple quads with multiple textures (up to vertex shader texture limit)
|
|
10
11
|
*
|
|
11
12
|
*/
|
|
12
13
|
export declare class WebGlCoreRenderOp extends CoreRenderOp {
|
|
13
|
-
readonly
|
|
14
|
+
readonly glw: WebGlContextWrapper;
|
|
14
15
|
readonly options: WebGlCoreRendererOptions;
|
|
15
16
|
readonly buffers: BufferCollection;
|
|
16
17
|
readonly shader: WebGlCoreShader;
|
|
@@ -24,7 +25,7 @@ export declare class WebGlCoreRenderOp extends CoreRenderOp {
|
|
|
24
25
|
numQuads: number;
|
|
25
26
|
textures: WebGlCoreCtxTexture[];
|
|
26
27
|
readonly maxTextures: number;
|
|
27
|
-
constructor(
|
|
28
|
+
constructor(glw: WebGlContextWrapper, options: WebGlCoreRendererOptions, buffers: BufferCollection, shader: WebGlCoreShader, shaderProps: Record<string, unknown>, alpha: number, clippingRect: Rect | null, dimensions: Dimensions, bufferIdx: number, zIndex: number);
|
|
28
29
|
addTexture(texture: WebGlCoreCtxTexture): number;
|
|
29
30
|
draw(): void;
|
|
30
31
|
}
|
|
@@ -24,7 +24,7 @@ const MAX_TEXTURES = 8; // TODO: get from gl
|
|
|
24
24
|
*
|
|
25
25
|
*/
|
|
26
26
|
export class WebGlCoreRenderOp extends CoreRenderOp {
|
|
27
|
-
|
|
27
|
+
glw;
|
|
28
28
|
options;
|
|
29
29
|
buffers;
|
|
30
30
|
shader;
|
|
@@ -38,9 +38,9 @@ export class WebGlCoreRenderOp extends CoreRenderOp {
|
|
|
38
38
|
numQuads = 0;
|
|
39
39
|
textures = [];
|
|
40
40
|
maxTextures;
|
|
41
|
-
constructor(
|
|
41
|
+
constructor(glw, options, buffers, shader, shaderProps, alpha, clippingRect, dimensions, bufferIdx, zIndex) {
|
|
42
42
|
super();
|
|
43
|
-
this.
|
|
43
|
+
this.glw = glw;
|
|
44
44
|
this.options = options;
|
|
45
45
|
this.buffers = buffers;
|
|
46
46
|
this.shader = shader;
|
|
@@ -50,9 +50,8 @@ export class WebGlCoreRenderOp extends CoreRenderOp {
|
|
|
50
50
|
this.dimensions = dimensions;
|
|
51
51
|
this.bufferIdx = bufferIdx;
|
|
52
52
|
this.zIndex = zIndex;
|
|
53
|
-
this.gl = gl;
|
|
54
53
|
this.maxTextures = shader.supportsIndexedTextures
|
|
55
|
-
?
|
|
54
|
+
? glw.getParameter(glw.MAX_VERTEX_TEXTURE_IMAGE_UNITS)
|
|
56
55
|
: 1;
|
|
57
56
|
}
|
|
58
57
|
addTexture(texture) {
|
|
@@ -69,16 +68,13 @@ export class WebGlCoreRenderOp extends CoreRenderOp {
|
|
|
69
68
|
return newIdx;
|
|
70
69
|
}
|
|
71
70
|
draw() {
|
|
72
|
-
const {
|
|
71
|
+
const { glw, shader, shaderProps, options } = this;
|
|
73
72
|
// shaderOp.draw(this);
|
|
74
73
|
const { shManager } = options;
|
|
75
74
|
shManager.useShader(shader);
|
|
76
75
|
shader.bindRenderOp(this, shaderProps);
|
|
77
76
|
// TODO: Reduce calculations required
|
|
78
77
|
const quadIdx = (this.bufferIdx / 24) * 6 * 2;
|
|
79
|
-
// TODO: Move these somewhere else?
|
|
80
|
-
gl.enable(gl.BLEND);
|
|
81
|
-
gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);
|
|
82
78
|
// Clipping
|
|
83
79
|
if (this.clippingRect) {
|
|
84
80
|
const { x, y, width, height } = this.clippingRect;
|
|
@@ -88,13 +84,13 @@ export class WebGlCoreRenderOp extends CoreRenderOp {
|
|
|
88
84
|
const clipWidth = Math.round(width * pixelRatio);
|
|
89
85
|
const clipHeight = Math.round(height * pixelRatio);
|
|
90
86
|
const clipY = Math.round(canvasHeight - clipHeight - y * pixelRatio);
|
|
91
|
-
|
|
92
|
-
|
|
87
|
+
glw.setScissorTest(true);
|
|
88
|
+
glw.scissor(clipX, clipY, clipWidth, clipHeight);
|
|
93
89
|
}
|
|
94
90
|
else {
|
|
95
|
-
|
|
91
|
+
glw.setScissorTest(false);
|
|
96
92
|
}
|
|
97
|
-
|
|
93
|
+
glw.drawElements(glw.TRIANGLES, 6 * this.numQuads, glw.UNSIGNED_SHORT, quadIdx);
|
|
98
94
|
}
|
|
99
95
|
}
|
|
100
96
|
//# sourceMappingURL=WebGlCoreRenderOp.js.map
|
|
@@ -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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"}
|
|
@@ -8,6 +8,8 @@ import type { CoreTextureManager } from '../../CoreTextureManager.js';
|
|
|
8
8
|
import { CoreShaderManager } from '../../CoreShaderManager.js';
|
|
9
9
|
import { BufferCollection } from './internal/BufferCollection.js';
|
|
10
10
|
import { WebGlCoreShader } from './WebGlCoreShader.js';
|
|
11
|
+
import { ContextSpy } from '../../lib/ContextSpy.js';
|
|
12
|
+
import { WebGlContextWrapper } from '../../lib/WebGlContextWrapper.js';
|
|
11
13
|
export interface WebGlCoreRendererOptions {
|
|
12
14
|
stage: Stage;
|
|
13
15
|
canvas: HTMLCanvasElement | OffscreenCanvas;
|
|
@@ -16,13 +18,14 @@ export interface WebGlCoreRendererOptions {
|
|
|
16
18
|
shManager: CoreShaderManager;
|
|
17
19
|
clearColor: number;
|
|
18
20
|
bufferMemory: number;
|
|
21
|
+
contextSpy: ContextSpy | null;
|
|
19
22
|
}
|
|
20
23
|
interface CoreWebGlSystem {
|
|
21
24
|
parameters: CoreWebGlParameters;
|
|
22
25
|
extensions: CoreWebGlExtensions;
|
|
23
26
|
}
|
|
24
27
|
export declare class WebGlCoreRenderer extends CoreRenderer {
|
|
25
|
-
|
|
28
|
+
glw: WebGlContextWrapper;
|
|
26
29
|
system: CoreWebGlSystem;
|
|
27
30
|
txManager: CoreTextureManager;
|
|
28
31
|
shManager: CoreShaderManager;
|
|
@@ -30,11 +30,13 @@ import { BufferCollection } from './internal/BufferCollection.js';
|
|
|
30
30
|
import { compareRect, getNormalizedRgbaComponents, } from '../../lib/utils.js';
|
|
31
31
|
import { WebGlCoreShader } from './WebGlCoreShader.js';
|
|
32
32
|
import { RoundedRectangle } from './shaders/RoundedRectangle.js';
|
|
33
|
+
import { ContextSpy } from '../../lib/ContextSpy.js';
|
|
34
|
+
import { WebGlContextWrapper } from '../../lib/WebGlContextWrapper.js';
|
|
33
35
|
const WORDS_PER_QUAD = 24;
|
|
34
36
|
const BYTES_PER_QUAD = WORDS_PER_QUAD * 4;
|
|
35
37
|
export class WebGlCoreRenderer extends CoreRenderer {
|
|
36
38
|
//// WebGL Native Context and Data
|
|
37
|
-
|
|
39
|
+
glw;
|
|
38
40
|
system;
|
|
39
41
|
//// Core Managers
|
|
40
42
|
txManager;
|
|
@@ -64,22 +66,21 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
64
66
|
this.txManager = options.txManager;
|
|
65
67
|
this.shManager = options.shManager;
|
|
66
68
|
this.defaultTexture = new ColorTexture(this.txManager);
|
|
67
|
-
const gl = createWebGLContext(canvas);
|
|
68
|
-
|
|
69
|
-
throw new Error('Unable to create WebGL context');
|
|
70
|
-
}
|
|
71
|
-
this.gl = gl;
|
|
69
|
+
const gl = createWebGLContext(canvas, options.contextSpy);
|
|
70
|
+
const glw = (this.glw = new WebGlContextWrapper(gl));
|
|
72
71
|
const color = getNormalizedRgbaComponents(clearColor);
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
72
|
+
glw.viewport(0, 0, canvas.width, canvas.height);
|
|
73
|
+
glw.clearColor(color[0], color[1], color[2], color[3]);
|
|
74
|
+
glw.setBlend(true);
|
|
75
|
+
glw.blendFunc(glw.ONE, glw.ONE_MINUS_SRC_ALPHA);
|
|
76
|
+
createIndexBuffer(glw, bufferMemory);
|
|
76
77
|
this.system = {
|
|
77
|
-
parameters: getWebGlParameters(
|
|
78
|
-
extensions: getWebGlExtensions(
|
|
78
|
+
parameters: getWebGlParameters(this.glw),
|
|
79
|
+
extensions: getWebGlExtensions(this.glw),
|
|
79
80
|
};
|
|
80
81
|
this.shManager.renderer = this;
|
|
81
82
|
this.defaultShader = this.shManager.loadShader('DefaultShader').shader;
|
|
82
|
-
const quadBuffer =
|
|
83
|
+
const quadBuffer = glw.createBuffer();
|
|
83
84
|
assertTruthy(quadBuffer);
|
|
84
85
|
const stride = 6 * Float32Array.BYTES_PER_ELEMENT;
|
|
85
86
|
this.quadBufferCollection = new BufferCollection([
|
|
@@ -89,7 +90,7 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
89
90
|
a_position: {
|
|
90
91
|
name: 'a_position',
|
|
91
92
|
size: 2,
|
|
92
|
-
type:
|
|
93
|
+
type: glw.FLOAT,
|
|
93
94
|
normalized: false,
|
|
94
95
|
stride,
|
|
95
96
|
offset: 0, // start at the beginning of the buffer
|
|
@@ -97,7 +98,7 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
97
98
|
a_textureCoordinate: {
|
|
98
99
|
name: 'a_textureCoordinate',
|
|
99
100
|
size: 2,
|
|
100
|
-
type:
|
|
101
|
+
type: glw.FLOAT,
|
|
101
102
|
normalized: false,
|
|
102
103
|
stride,
|
|
103
104
|
offset: 2 * Float32Array.BYTES_PER_ELEMENT,
|
|
@@ -105,7 +106,7 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
105
106
|
a_color: {
|
|
106
107
|
name: 'a_color',
|
|
107
108
|
size: 4,
|
|
108
|
-
type:
|
|
109
|
+
type: glw.UNSIGNED_BYTE,
|
|
109
110
|
normalized: true,
|
|
110
111
|
stride,
|
|
111
112
|
offset: 4 * Float32Array.BYTES_PER_ELEMENT,
|
|
@@ -113,7 +114,7 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
113
114
|
a_textureIndex: {
|
|
114
115
|
name: 'a_textureIndex',
|
|
115
116
|
size: 1,
|
|
116
|
-
type:
|
|
117
|
+
type: glw.FLOAT,
|
|
117
118
|
normalized: false,
|
|
118
119
|
stride,
|
|
119
120
|
offset: 5 * Float32Array.BYTES_PER_ELEMENT,
|
|
@@ -123,19 +124,21 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
123
124
|
]);
|
|
124
125
|
}
|
|
125
126
|
reset() {
|
|
127
|
+
const { glw } = this;
|
|
126
128
|
this.curBufferIdx = 0;
|
|
127
129
|
this.curRenderOp = null;
|
|
128
130
|
this.renderOps.length = 0;
|
|
129
|
-
|
|
131
|
+
glw.setScissorTest(false);
|
|
132
|
+
glw.clear();
|
|
130
133
|
}
|
|
131
134
|
getShaderManager() {
|
|
132
135
|
return this.shManager;
|
|
133
136
|
}
|
|
134
137
|
createCtxTexture(textureSource) {
|
|
135
138
|
if (textureSource instanceof SubTexture) {
|
|
136
|
-
return new WebGlCoreCtxSubTexture(this.
|
|
139
|
+
return new WebGlCoreCtxSubTexture(this.glw, textureSource);
|
|
137
140
|
}
|
|
138
|
-
return new WebGlCoreCtxTexture(this.
|
|
141
|
+
return new WebGlCoreCtxTexture(this.glw, textureSource);
|
|
139
142
|
}
|
|
140
143
|
/**
|
|
141
144
|
* This function adds a quad (a rectangle composed of two triangles) to the WebGL rendering pipeline.
|
|
@@ -229,28 +232,28 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
229
232
|
fQuadBuffer[bufferIdx++] = ty; // vertexY
|
|
230
233
|
fQuadBuffer[bufferIdx++] = texCoordX1; // texCoordX
|
|
231
234
|
fQuadBuffer[bufferIdx++] = texCoordY1; // texCoordY
|
|
232
|
-
uiQuadBuffer[bufferIdx++] =
|
|
235
|
+
uiQuadBuffer[bufferIdx++] = colorTl; // color
|
|
233
236
|
fQuadBuffer[bufferIdx++] = textureIdx; // texIndex
|
|
234
237
|
// Upper-Right
|
|
235
238
|
fQuadBuffer[bufferIdx++] = tx + width * ta;
|
|
236
239
|
fQuadBuffer[bufferIdx++] = ty + width * tc;
|
|
237
240
|
fQuadBuffer[bufferIdx++] = texCoordX2;
|
|
238
241
|
fQuadBuffer[bufferIdx++] = texCoordY1;
|
|
239
|
-
uiQuadBuffer[bufferIdx++] =
|
|
242
|
+
uiQuadBuffer[bufferIdx++] = colorTr;
|
|
240
243
|
fQuadBuffer[bufferIdx++] = textureIdx;
|
|
241
244
|
// Lower-Left
|
|
242
245
|
fQuadBuffer[bufferIdx++] = tx + height * tb;
|
|
243
246
|
fQuadBuffer[bufferIdx++] = ty + height * td;
|
|
244
247
|
fQuadBuffer[bufferIdx++] = texCoordX1;
|
|
245
248
|
fQuadBuffer[bufferIdx++] = texCoordY2;
|
|
246
|
-
uiQuadBuffer[bufferIdx++] =
|
|
249
|
+
uiQuadBuffer[bufferIdx++] = colorBl;
|
|
247
250
|
fQuadBuffer[bufferIdx++] = textureIdx;
|
|
248
251
|
// Lower-Right
|
|
249
252
|
fQuadBuffer[bufferIdx++] = tx + width * ta + height * tb;
|
|
250
253
|
fQuadBuffer[bufferIdx++] = ty + width * tc + height * td;
|
|
251
254
|
fQuadBuffer[bufferIdx++] = texCoordX2;
|
|
252
255
|
fQuadBuffer[bufferIdx++] = texCoordY2;
|
|
253
|
-
uiQuadBuffer[bufferIdx++] =
|
|
256
|
+
uiQuadBuffer[bufferIdx++] = colorBr;
|
|
254
257
|
fQuadBuffer[bufferIdx++] = textureIdx;
|
|
255
258
|
}
|
|
256
259
|
else {
|
|
@@ -263,28 +266,28 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
263
266
|
fQuadBuffer[bufferIdx++] = ty; // vertexY
|
|
264
267
|
fQuadBuffer[bufferIdx++] = texCoordX1; // texCoordX
|
|
265
268
|
fQuadBuffer[bufferIdx++] = texCoordY1; // texCoordY
|
|
266
|
-
uiQuadBuffer[bufferIdx++] =
|
|
269
|
+
uiQuadBuffer[bufferIdx++] = colorTl; // color
|
|
267
270
|
fQuadBuffer[bufferIdx++] = textureIdx; // texIndex
|
|
268
271
|
// Upper-Right
|
|
269
272
|
fQuadBuffer[bufferIdx++] = rightCornerX;
|
|
270
273
|
fQuadBuffer[bufferIdx++] = ty;
|
|
271
274
|
fQuadBuffer[bufferIdx++] = texCoordX2;
|
|
272
275
|
fQuadBuffer[bufferIdx++] = texCoordY1;
|
|
273
|
-
uiQuadBuffer[bufferIdx++] =
|
|
276
|
+
uiQuadBuffer[bufferIdx++] = colorTr;
|
|
274
277
|
fQuadBuffer[bufferIdx++] = textureIdx;
|
|
275
278
|
// Lower-Left
|
|
276
279
|
fQuadBuffer[bufferIdx++] = tx;
|
|
277
280
|
fQuadBuffer[bufferIdx++] = rightCornerY;
|
|
278
281
|
fQuadBuffer[bufferIdx++] = texCoordX1;
|
|
279
282
|
fQuadBuffer[bufferIdx++] = texCoordY2;
|
|
280
|
-
uiQuadBuffer[bufferIdx++] =
|
|
283
|
+
uiQuadBuffer[bufferIdx++] = colorBl;
|
|
281
284
|
fQuadBuffer[bufferIdx++] = textureIdx;
|
|
282
285
|
// Lower-Right
|
|
283
286
|
fQuadBuffer[bufferIdx++] = rightCornerX;
|
|
284
287
|
fQuadBuffer[bufferIdx++] = rightCornerY;
|
|
285
288
|
fQuadBuffer[bufferIdx++] = texCoordX2;
|
|
286
289
|
fQuadBuffer[bufferIdx++] = texCoordY2;
|
|
287
|
-
uiQuadBuffer[bufferIdx++] =
|
|
290
|
+
uiQuadBuffer[bufferIdx++] = colorBr;
|
|
288
291
|
fQuadBuffer[bufferIdx++] = textureIdx;
|
|
289
292
|
}
|
|
290
293
|
// Update the length of the current render op
|
|
@@ -300,7 +303,7 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
300
303
|
* @param bufferIdx
|
|
301
304
|
*/
|
|
302
305
|
newRenderOp(shader, shaderProps, alpha, dimensions, clippingRect, bufferIdx) {
|
|
303
|
-
const curRenderOp = new WebGlCoreRenderOp(this.
|
|
306
|
+
const curRenderOp = new WebGlCoreRenderOp(this.glw, this.options, this.quadBufferCollection, shader, shaderProps, alpha, clippingRect, dimensions, bufferIdx, 0);
|
|
304
307
|
this.curRenderOp = curRenderOp;
|
|
305
308
|
this.renderOps.push(curRenderOp);
|
|
306
309
|
}
|
|
@@ -346,11 +349,10 @@ export class WebGlCoreRenderer extends CoreRenderer {
|
|
|
346
349
|
* @param surface
|
|
347
350
|
*/
|
|
348
351
|
render(surface = 'screen') {
|
|
349
|
-
const {
|
|
352
|
+
const { glw, quadBuffer } = this;
|
|
350
353
|
const arr = new Float32Array(quadBuffer, 0, this.curBufferIdx);
|
|
351
354
|
const buffer = this.quadBufferCollection.getBuffer('a_position') ?? null;
|
|
352
|
-
|
|
353
|
-
gl.bufferData(gl.ARRAY_BUFFER, arr, gl.DYNAMIC_DRAW);
|
|
355
|
+
glw.arrayBufferData(buffer, arr, glw.STATIC_DRAW);
|
|
354
356
|
const doLog = false; // idx++ % 100 === 0;
|
|
355
357
|
if (doLog) {
|
|
356
358
|
console.log('renderOps', this.renderOps.length);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebGlCoreRenderer.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,MAAM,EACN,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAoB,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EACL,iBAAiB,EAGjB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAKrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EACL,WAAW,EACX,2BAA2B,GAE5B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,cAAc,GAAG,cAAc,GAAG,CAAC,CAAC;AAiB1C,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACjD,kCAAkC;IAClC,EAAE,CAAwB;IAC1B,MAAM,CAAkB;IAExB,kBAAkB;IAClB,SAAS,CAAqB;IAC9B,SAAS,CAAoB;IAE7B,YAAY;IACZ,OAAO,CAAqC;IAE5C,oBAAoB;IACpB,UAAU,GAAgB,IAAI,WAAW,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;IAC3D,WAAW,GAAiB,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,YAAY,GAAgB,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7D,SAAS,GAAwB,EAAE,CAAC;IAEpC,qCAAqC;IACrC,YAAY,GAAG,CAAC,CAAC;IACjB,WAAW,GAA6B,IAAI,CAAC;IAC7C,WAAW,GAA2C,EAAE,CAAC;IAEzD,mBAAmB;IACnB,aAAa,CAAkB;IAC/B,oBAAoB,CAAmB;IAEvC;;OAEG;IACH,cAAc,CAAU;IAExB,YAAY,OAAiC;QAC3C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEvD,MAAM,EAAE,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,EAAE,EAAE;YACP,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACnD;QACD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QAEb,MAAM,KAAK,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;QACtD,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;QAE1D,iBAAiB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QAEpC,IAAI,CAAC,MAAM,GAAG;YACZ,UAAU,EAAE,kBAAkB,CAAC,EAAE,CAAC;YAClC,UAAU,EAAE,kBAAkB,CAAC,EAAE,CAAC;SACnC,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;QACvE,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC;QACrC,YAAY,CAAC,UAAU,CAAC,CAAC;QACzB,MAAM,MAAM,GAAG,CAAC,GAAG,YAAY,CAAC,iBAAiB,CAAC;QAClD,IAAI,CAAC,oBAAoB,GAAG,IAAI,gBAAgB,CAAC;YAC/C;gBACE,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE;oBACV,UAAU,EAAE;wBACV,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,CAAC;wBACP,IAAI,EAAE,EAAE,CAAC,KAAK;wBACd,UAAU,EAAE,KAAK;wBACjB,MAAM;wBACN,MAAM,EAAE,CAAC,EAAE,uCAAuC;qBACnD;oBACD,mBAAmB,EAAE;wBACnB,IAAI,EAAE,qBAAqB;wBAC3B,IAAI,EAAE,CAAC;wBACP,IAAI,EAAE,EAAE,CAAC,KAAK;wBACd,UAAU,EAAE,KAAK;wBACjB,MAAM;wBACN,MAAM,EAAE,CAAC,GAAG,YAAY,CAAC,iBAAiB;qBAC3C;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,CAAC;wBACP,IAAI,EAAE,EAAE,CAAC,aAAa;wBACtB,UAAU,EAAE,IAAI;wBAChB,MAAM;wBACN,MAAM,EAAE,CAAC,GAAG,YAAY,CAAC,iBAAiB;qBAC3C;oBACD,cAAc,EAAE;wBACd,IAAI,EAAE,gBAAgB;wBACtB,IAAI,EAAE,CAAC;wBACP,IAAI,EAAE,EAAE,CAAC,KAAK;wBACd,UAAU,EAAE,KAAK;wBACjB,MAAM;wBACN,MAAM,EAAE,CAAC,GAAG,YAAY,CAAC,iBAAiB;qBAC3C;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC;IAEQ,gBAAgB;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEQ,gBAAgB,CAAC,aAAsB;QAC9C,IAAI,aAAa,YAAY,UAAU,EAAE;YACvC,OAAO,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;SAC3D;QACD,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAmB;QACzB,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;QAC3C,MAAM,EACJ,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,cAAc,EACd,MAAM,EACN,WAAW,EACX,KAAK,EACL,YAAY,EACZ,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,GACH,GAAG,MAAM,CAAC;QACX,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAEzB;;;WAGG;QACH,IAAI,WAAW,IAAI,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE;YACrD,MAAM,UAAU,GAAG,WAAW,CAAC,WAAyB,CAAC;YACzD,mEAAmE;YACnE,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;YACzB,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;SAC5B;QAED,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC;QACzC,YAAY,CAAC,OAAO,YAAY,OAAO,EAAE,sBAAsB,CAAC,CAAC;QAEjE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QACpD,MAAM,UAAU,GAAG;YACjB,KAAK;YACL,MAAM;YACN,mEAAmE;SACpE,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC;QAClD,YAAY,CAAC,YAAY,YAAY,eAAe,CAAC,CAAC;QACtD,IAAI,WAAW,EAAE;YACf,oEAAoE;YACpE,sEAAsE;YACtE,oDAAoD;YACpD,IACE,WAAW,CAAC,MAAM,KAAK,YAAY;gBACnC,CAAC,WAAW,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,CAAC;gBACpD,CAAC,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa;oBACxC,CAAC,CAAC,WAAW;wBACX,CAAC,WAAW,CAAC,MAAM,CAAC,mBAAmB,CACrC,WAAW,CAAC,WAAW,EACvB,WAAW,CACZ,CAAC,CAAC,EACP;gBACA,WAAW,GAAG,IAAI,CAAC;aACpB;SACF;QACD,YAAY,CAAC,YAAY,YAAY,eAAe,CAAC,CAAC;QAEtD,qGAAqG;QACrG,IAAI,CAAC,WAAW,EAAE;YAChB,iEAAiE;YACjE,IAAI,CAAC,WAAW,CACd,YAAY,EACZ,WAAkB,EAClB,KAAK,EACL,UAAU,EACV,YAAY,EACZ,SAAS,CACV,CAAC;YACF,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAC/B,YAAY,CAAC,WAAW,CAAC,CAAC;SAC3B;QAED,MAAM,KAAK,GAAG,cAAc,EAAE,KAAK,IAAI,KAAK,CAAC;QAC7C,MAAM,KAAK,GAAG,cAAc,EAAE,KAAK,IAAI,KAAK,CAAC;QAE7C,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,IAAI,OAAO,YAAY,UAAU,EAAE;YACjC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;YAC9D,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,aAAa;iBACtE,UAAU,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACzC,UAAU,GAAG,EAAE,GAAG,OAAO,CAAC;YAC1B,UAAU,GAAG,UAAU,GAAG,EAAE,GAAG,OAAO,CAAC;YACvC,UAAU,GAAG,EAAE,GAAG,OAAO,CAAC;YAC1B,UAAU,GAAG,UAAU,GAAG,EAAE,GAAG,OAAO,CAAC;YACvC,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;SACjC;QAED,0DAA0D;QAC1D,IAAI,KAAK,EAAE;YACT,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;SACrD;QACD,IAAI,KAAK,EAAE;YACT,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;SACrD;QAED,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACjC,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACpD,YAAY,CAAC,UAAU,YAAY,mBAAmB,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC1D,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC/B,YAAY,CAAC,WAAW,CAAC,CAAC;QAE1B,uBAAuB;QACvB,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;YACxB,aAAa;YACb,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU;YACzC,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU;YACzC,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,YAAY;YACnD,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,YAAY;YACnD,YAAY,CAAC,SAAS,EAAE,CAAC,GAAG,4BAA4B,CACtD,OAAO,EACP,KAAK,EACL,IAAI,CACL,CAAC,CAAC,QAAQ;YACX,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,WAAW;YAElD,cAAc;YACd,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC;YAC3C,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC;YAC3C,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC;YACtC,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC;YACtC,YAAY,CAAC,SAAS,EAAE,CAAC,GAAG,4BAA4B,CACtD,OAAO,EACP,KAAK,EACL,IAAI,CACL,CAAC;YACF,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC;YAEtC,aAAa;YACb,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC;YAC5C,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC;YAC5C,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC;YACtC,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC;YACtC,YAAY,CAAC,SAAS,EAAE,CAAC,GAAG,4BAA4B,CACtD,OAAO,EACP,KAAK,EACL,IAAI,CACL,CAAC;YACF,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC;YAEtC,cAAc;YACd,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC;YACzD,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC;YACzD,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC;YACtC,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC;YACtC,YAAY,CAAC,SAAS,EAAE,CAAC,GAAG,4BAA4B,CACtD,OAAO,EACP,KAAK,EACL,IAAI,CACL,CAAC;YACF,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC;SACvC;aAAM;YACL,yCAAyC;YACzC,0BAA0B;YAC1B,MAAM,YAAY,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC;YACrC,MAAM,YAAY,GAAG,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC;YAEtC,aAAa;YACb,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU;YACzC,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU;YACzC,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,YAAY;YACnD,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,YAAY;YACnD,YAAY,CAAC,SAAS,EAAE,CAAC,GAAG,4BAA4B,CACtD,OAAO,EACP,KAAK,EACL,IAAI,CACL,CAAC,CAAC,QAAQ;YACX,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,WAAW;YAElD,cAAc;YACd,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,YAAY,CAAC;YACxC,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC;YAC9B,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC;YACtC,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC;YACtC,YAAY,CAAC,SAAS,EAAE,CAAC,GAAG,4BAA4B,CACtD,OAAO,EACP,KAAK,EACL,IAAI,CACL,CAAC;YACF,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC;YAEtC,aAAa;YACb,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC;YAC9B,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,YAAY,CAAC;YACxC,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC;YACtC,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC;YACtC,YAAY,CAAC,SAAS,EAAE,CAAC,GAAG,4BAA4B,CACtD,OAAO,EACP,KAAK,EACL,IAAI,CACL,CAAC;YACF,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC;YAEtC,cAAc;YACd,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,YAAY,CAAC;YACxC,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,YAAY,CAAC;YACxC,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC;YACtC,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC;YACtC,YAAY,CAAC,SAAS,EAAE,CAAC,GAAG,4BAA4B,CACtD,OAAO,EACP,KAAK,EACL,IAAI,CACL,CAAC;YACF,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC;SACvC;QAED,6CAA6C;QAC7C,WAAW,CAAC,MAAM,IAAI,cAAc,CAAC;QACrC,WAAW,CAAC,QAAQ,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACK,WAAW,CACjB,MAAuB,EACvB,WAAoC,EACpC,KAAa,EACb,UAAsB,EACtB,YAAyB,EACzB,SAAiB;QAEjB,MAAM,WAAW,GAAG,IAAI,iBAAiB,CACvC,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,oBAAoB,EACzB,MAAM,EACN,WAAW,EACX,KAAK,EACL,YAAY,EACZ,UAAU,EACV,SAAS,EACT,CAAC,CACF,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;OAWG;IACK,UAAU,CAChB,OAA4B,EAC5B,SAAiB,EACjB,SAAmB;QAEnB,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7B,YAAY,CAAC,WAAW,CAAC,CAAC;QAC1B,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACnD,gCAAgC;QAChC,IAAI,UAAU,KAAK,UAAU,EAAE;YAC7B,IAAI,SAAS,EAAE;gBACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACvD;YAED,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,GAC5D,WAAW,CAAC;YACd,IAAI,CAAC,WAAW,CACd,MAAM,EACN,WAAW,EACX,KAAK,EACL,UAAU,EACV,YAAY,EACZ,SAAS,CACV,CAAC;YACF,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;SAClD;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,UAA6B;QACvC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAyC,QAAQ;QACtD,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAEhC,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAE/D,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;QACzE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACvC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,qBAAqB;QAC1C,IAAI,KAAK,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SACjD;QACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,KAAK,EAAE;gBACT,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAC/C;YACD,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,WAAW;QACX,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;CACF;AAED,MAAM,GAAG,GAAG,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"WebGlCoreRenderer.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreRenderer.ts"],"names":[],"mappings":"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"}
|