@galacean/engine-core 1.6.2 → 1.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +17 -12
- package/dist/main.js.map +1 -1
- package/dist/module.js +17 -12
- package/dist/module.js.map +1 -1
- package/package.json +3 -3
package/dist/main.js
CHANGED
|
@@ -6882,7 +6882,6 @@ __decorate([
|
|
|
6882
6882
|
function RenderContext() {
|
|
6883
6883
|
this._projectionParams = new engineMath.Vector4();
|
|
6884
6884
|
this.flipProjection = false;
|
|
6885
|
-
this.rendererUpdateFlag = 0;
|
|
6886
6885
|
}
|
|
6887
6886
|
var _proto = RenderContext.prototype;
|
|
6888
6887
|
_proto.applyVirtualCamera = function applyVirtualCamera(virtualCamera, flipProjection) {
|
|
@@ -14640,6 +14639,7 @@ Shader.create("FinalAntiAliasing", blitVs, FinalAntiAliasingFS);
|
|
|
14640
14639
|
this.renderQueueType = renderQueueType;
|
|
14641
14640
|
this.elements = new Array();
|
|
14642
14641
|
this.batchedSubElements = new Array();
|
|
14642
|
+
this.rendererUpdateFlag = ContextRendererUpdateFlag.None;
|
|
14643
14643
|
}
|
|
14644
14644
|
var _proto = RenderQueue.prototype;
|
|
14645
14645
|
_proto.pushRenderElement = function pushRenderElement(element) {
|
|
@@ -14659,8 +14659,7 @@ Shader.create("FinalAntiAliasing", blitVs, FinalAntiAliasingFS);
|
|
|
14659
14659
|
if (length === 0) {
|
|
14660
14660
|
return;
|
|
14661
14661
|
}
|
|
14662
|
-
var
|
|
14663
|
-
var engine = camera.engine, scene = camera.scene, cameraId = camera.instanceId, cameraData = camera.shaderData;
|
|
14662
|
+
var _context_camera = context.camera, engine = _context_camera.engine, scene = _context_camera.scene, cameraId = _context_camera.instanceId, cameraData = _context_camera.shaderData;
|
|
14664
14663
|
var sceneId = scene.instanceId, sceneData = scene.shaderData, maskManager = scene._maskManager;
|
|
14665
14664
|
var renderCount = engine._renderCount;
|
|
14666
14665
|
var rhi = engine._hardwareRenderer;
|
|
@@ -14670,11 +14669,11 @@ Shader.create("FinalAntiAliasing", blitVs, FinalAntiAliasingFS);
|
|
|
14670
14669
|
var subElement = batchedSubElements[i];
|
|
14671
14670
|
var renderer = subElement.component, batched = subElement.batched, material = subElement.material;
|
|
14672
14671
|
// @todo: Can optimize update view projection matrix updated
|
|
14673
|
-
if (rendererUpdateFlag & ContextRendererUpdateFlag.WorldViewMatrix || renderer._batchedTransformShaderData != batched) {
|
|
14672
|
+
if (this.rendererUpdateFlag & ContextRendererUpdateFlag.WorldViewMatrix || renderer._batchedTransformShaderData != batched) {
|
|
14674
14673
|
// Update world matrix and view matrix and model matrix
|
|
14675
14674
|
renderer._updateTransformShaderData(context, false, batched);
|
|
14676
14675
|
renderer._batchedTransformShaderData = batched;
|
|
14677
|
-
} else if (rendererUpdateFlag & ContextRendererUpdateFlag.ProjectionMatrix) {
|
|
14676
|
+
} else if (this.rendererUpdateFlag & ContextRendererUpdateFlag.ProjectionMatrix) {
|
|
14678
14677
|
// Only projection matrix need updated
|
|
14679
14678
|
renderer._updateTransformShaderData(context, true, batched);
|
|
14680
14679
|
}
|
|
@@ -14778,6 +14777,7 @@ Shader.create("FinalAntiAliasing", blitVs, FinalAntiAliasingFS);
|
|
|
14778
14777
|
rhi.drawPrimitive(primitive, subElement.subPrimitive, program);
|
|
14779
14778
|
}
|
|
14780
14779
|
}
|
|
14780
|
+
this.rendererUpdateFlag = ContextRendererUpdateFlag.None;
|
|
14781
14781
|
};
|
|
14782
14782
|
_proto.clear = function clear() {
|
|
14783
14783
|
this.elements.length = 0;
|
|
@@ -15575,7 +15575,9 @@ ShadowUtils.atlasBorderSize = 4.0;
|
|
|
15575
15575
|
sceneShaderData.setVector2(CascadedShadowCasterPass._lightShadowBiasProperty, this._shadowBias);
|
|
15576
15576
|
sceneShaderData.setVector3(CascadedShadowCasterPass._lightDirectionProperty, light.direction);
|
|
15577
15577
|
// Every light use self virtual camera
|
|
15578
|
-
context.
|
|
15578
|
+
var _context_camera__renderPipeline__cullingResults = context.camera._renderPipeline._cullingResults, opaqueQueue = _context_camera__renderPipeline__cullingResults.opaqueQueue, alphaTestQueue = _context_camera__renderPipeline__cullingResults.alphaTestQueue;
|
|
15579
|
+
opaqueQueue.rendererUpdateFlag |= ContextRendererUpdateFlag.viewProjectionMatrix;
|
|
15580
|
+
alphaTestQueue.rendererUpdateFlag |= ContextRendererUpdateFlag.viewProjectionMatrix;
|
|
15579
15581
|
context.applyVirtualCamera(virtualCamera, true);
|
|
15580
15582
|
};
|
|
15581
15583
|
return CascadedShadowCasterPass;
|
|
@@ -15614,6 +15616,11 @@ CascadedShadowCasterPass._tempMatrix0 = new engineMath.Matrix();
|
|
|
15614
15616
|
this.alphaTestQueue.sortBatch(RenderQueue.compareForOpaque, batcherManager);
|
|
15615
15617
|
this.transparentQueue.sortBatch(RenderQueue.compareForTransparent, batcherManager);
|
|
15616
15618
|
};
|
|
15619
|
+
_proto.setRenderUpdateFlagTrue = function setRenderUpdateFlagTrue(rendererUpdateFlag) {
|
|
15620
|
+
this.opaqueQueue.rendererUpdateFlag |= rendererUpdateFlag;
|
|
15621
|
+
this.transparentQueue.rendererUpdateFlag |= rendererUpdateFlag;
|
|
15622
|
+
this.alphaTestQueue.rendererUpdateFlag |= rendererUpdateFlag;
|
|
15623
|
+
};
|
|
15617
15624
|
_proto.destroy = function destroy() {
|
|
15618
15625
|
this.opaqueQueue.destroy();
|
|
15619
15626
|
this.transparentQueue.destroy();
|
|
@@ -15720,7 +15727,7 @@ CascadedShadowCasterPass._tempMatrix0 = new engineMath.Matrix();
|
|
|
15720
15727
|
* @param mipLevel - Set mip level the data want to write
|
|
15721
15728
|
* @param ignoreClear - Ignore clear flag
|
|
15722
15729
|
*/ _proto.render = function render(context, cubeFace, mipLevel, ignoreClear) {
|
|
15723
|
-
|
|
15730
|
+
this._cullingResults.setRenderUpdateFlagTrue(ContextRendererUpdateFlag.All);
|
|
15724
15731
|
var camera = this._camera;
|
|
15725
15732
|
var scene = camera.scene, engine = camera.engine, renderTarget = camera.renderTarget;
|
|
15726
15733
|
var independentCanvasEnabled = camera._isIndependentCanvasEnabled();
|
|
@@ -15745,12 +15752,11 @@ CascadedShadowCasterPass._tempMatrix0 = new engineMath.Matrix();
|
|
|
15745
15752
|
this._shouldCopyBackgroundColor = independentCanvasEnabled && !(finalClearFlags & CameraClearFlags.Color) && (!this._canUseBlitFrameBuffer || isSRGBBackground);
|
|
15746
15753
|
if (scene.castShadows && sunlight && sunlight.shadowType !== ShadowType.None) {
|
|
15747
15754
|
this._cascadedShadowCasterPass.onRender(context);
|
|
15748
|
-
context.rendererUpdateFlag = ContextRendererUpdateFlag.None;
|
|
15749
15755
|
}
|
|
15750
15756
|
var batcherManager = engine._batcherManager;
|
|
15751
15757
|
cullingResults.reset();
|
|
15752
15758
|
// Depth use camera's view and projection matrix
|
|
15753
|
-
|
|
15759
|
+
this._cullingResults.setRenderUpdateFlagTrue(ContextRendererUpdateFlag.viewProjectionMatrix);
|
|
15754
15760
|
context.applyVirtualCamera(camera._virtualCamera, depthPassEnabled);
|
|
15755
15761
|
this._prepareRender(context);
|
|
15756
15762
|
cullingResults.sortBatch(batcherManager);
|
|
@@ -15758,7 +15764,6 @@ CascadedShadowCasterPass._tempMatrix0 = new engineMath.Matrix();
|
|
|
15758
15764
|
if (depthPassEnabled) {
|
|
15759
15765
|
depthOnlyPass.onConfig(camera);
|
|
15760
15766
|
depthOnlyPass.onRender(context, cullingResults);
|
|
15761
|
-
context.rendererUpdateFlag = ContextRendererUpdateFlag.None;
|
|
15762
15767
|
} else {
|
|
15763
15768
|
depthOnlyPass.release();
|
|
15764
15769
|
camera.shaderData.setTexture(exports.Camera._cameraDepthTextureProperty, engine._basicResources.whiteTexture2D);
|
|
@@ -15824,7 +15829,7 @@ CascadedShadowCasterPass._tempMatrix0 = new engineMath.Matrix();
|
|
|
15824
15829
|
var needFlipProjection = !!internalColorTarget || camera.renderTarget && cubeFace == undefined;
|
|
15825
15830
|
if (context.flipProjection !== needFlipProjection) {
|
|
15826
15831
|
// Just add projection matrix update type is enough
|
|
15827
|
-
|
|
15832
|
+
cullingResults.setRenderUpdateFlagTrue(ContextRendererUpdateFlag.ProjectionMatrix);
|
|
15828
15833
|
context.applyVirtualCamera(camera._virtualCamera, needFlipProjection);
|
|
15829
15834
|
}
|
|
15830
15835
|
context.setRenderTarget(colorTarget, colorViewport, mipLevel, cubeFace);
|
|
@@ -25985,7 +25990,7 @@ var UIUtils = /*#__PURE__*/ function() {
|
|
|
25985
25990
|
viewE[12] = -position.x, viewE[13] = -position.y;
|
|
25986
25991
|
engineMath.Matrix.multiply(virtualCamera.projectionMatrix, virtualCamera.viewMatrix, virtualCamera.viewProjectionMatrix);
|
|
25987
25992
|
renderContext.applyVirtualCamera(virtualCamera, false);
|
|
25988
|
-
|
|
25993
|
+
uiRenderQueue.rendererUpdateFlag |= ContextRendererUpdateFlag.ProjectionMatrix;
|
|
25989
25994
|
uiCanvas._prepareRender(renderContext);
|
|
25990
25995
|
uiRenderQueue.pushRenderElement(uiCanvas._renderElement);
|
|
25991
25996
|
uiRenderQueue.batch(batcherManager);
|