@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/module.js CHANGED
@@ -6878,7 +6878,6 @@ __decorate([
6878
6878
  function RenderContext() {
6879
6879
  this._projectionParams = new Vector4();
6880
6880
  this.flipProjection = false;
6881
- this.rendererUpdateFlag = 0;
6882
6881
  }
6883
6882
  var _proto = RenderContext.prototype;
6884
6883
  _proto.applyVirtualCamera = function applyVirtualCamera(virtualCamera, flipProjection) {
@@ -14636,6 +14635,7 @@ Shader.create("FinalAntiAliasing", blitVs, FinalAntiAliasingFS);
14636
14635
  this.renderQueueType = renderQueueType;
14637
14636
  this.elements = new Array();
14638
14637
  this.batchedSubElements = new Array();
14638
+ this.rendererUpdateFlag = ContextRendererUpdateFlag.None;
14639
14639
  }
14640
14640
  var _proto = RenderQueue.prototype;
14641
14641
  _proto.pushRenderElement = function pushRenderElement(element) {
@@ -14655,8 +14655,7 @@ Shader.create("FinalAntiAliasing", blitVs, FinalAntiAliasingFS);
14655
14655
  if (length === 0) {
14656
14656
  return;
14657
14657
  }
14658
- var rendererUpdateFlag = context.rendererUpdateFlag, camera = context.camera;
14659
- var engine = camera.engine, scene = camera.scene, cameraId = camera.instanceId, cameraData = camera.shaderData;
14658
+ var _context_camera = context.camera, engine = _context_camera.engine, scene = _context_camera.scene, cameraId = _context_camera.instanceId, cameraData = _context_camera.shaderData;
14660
14659
  var sceneId = scene.instanceId, sceneData = scene.shaderData, maskManager = scene._maskManager;
14661
14660
  var renderCount = engine._renderCount;
14662
14661
  var rhi = engine._hardwareRenderer;
@@ -14666,11 +14665,11 @@ Shader.create("FinalAntiAliasing", blitVs, FinalAntiAliasingFS);
14666
14665
  var subElement = batchedSubElements[i];
14667
14666
  var renderer = subElement.component, batched = subElement.batched, material = subElement.material;
14668
14667
  // @todo: Can optimize update view projection matrix updated
14669
- if (rendererUpdateFlag & ContextRendererUpdateFlag.WorldViewMatrix || renderer._batchedTransformShaderData != batched) {
14668
+ if (this.rendererUpdateFlag & ContextRendererUpdateFlag.WorldViewMatrix || renderer._batchedTransformShaderData != batched) {
14670
14669
  // Update world matrix and view matrix and model matrix
14671
14670
  renderer._updateTransformShaderData(context, false, batched);
14672
14671
  renderer._batchedTransformShaderData = batched;
14673
- } else if (rendererUpdateFlag & ContextRendererUpdateFlag.ProjectionMatrix) {
14672
+ } else if (this.rendererUpdateFlag & ContextRendererUpdateFlag.ProjectionMatrix) {
14674
14673
  // Only projection matrix need updated
14675
14674
  renderer._updateTransformShaderData(context, true, batched);
14676
14675
  }
@@ -14774,6 +14773,7 @@ Shader.create("FinalAntiAliasing", blitVs, FinalAntiAliasingFS);
14774
14773
  rhi.drawPrimitive(primitive, subElement.subPrimitive, program);
14775
14774
  }
14776
14775
  }
14776
+ this.rendererUpdateFlag = ContextRendererUpdateFlag.None;
14777
14777
  };
14778
14778
  _proto.clear = function clear() {
14779
14779
  this.elements.length = 0;
@@ -15571,7 +15571,9 @@ ShadowUtils.atlasBorderSize = 4.0;
15571
15571
  sceneShaderData.setVector2(CascadedShadowCasterPass._lightShadowBiasProperty, this._shadowBias);
15572
15572
  sceneShaderData.setVector3(CascadedShadowCasterPass._lightDirectionProperty, light.direction);
15573
15573
  // Every light use self virtual camera
15574
- context.rendererUpdateFlag |= ContextRendererUpdateFlag.viewProjectionMatrix;
15574
+ var _context_camera__renderPipeline__cullingResults = context.camera._renderPipeline._cullingResults, opaqueQueue = _context_camera__renderPipeline__cullingResults.opaqueQueue, alphaTestQueue = _context_camera__renderPipeline__cullingResults.alphaTestQueue;
15575
+ opaqueQueue.rendererUpdateFlag |= ContextRendererUpdateFlag.viewProjectionMatrix;
15576
+ alphaTestQueue.rendererUpdateFlag |= ContextRendererUpdateFlag.viewProjectionMatrix;
15575
15577
  context.applyVirtualCamera(virtualCamera, true);
15576
15578
  };
15577
15579
  return CascadedShadowCasterPass;
@@ -15610,6 +15612,11 @@ CascadedShadowCasterPass._tempMatrix0 = new Matrix();
15610
15612
  this.alphaTestQueue.sortBatch(RenderQueue.compareForOpaque, batcherManager);
15611
15613
  this.transparentQueue.sortBatch(RenderQueue.compareForTransparent, batcherManager);
15612
15614
  };
15615
+ _proto.setRenderUpdateFlagTrue = function setRenderUpdateFlagTrue(rendererUpdateFlag) {
15616
+ this.opaqueQueue.rendererUpdateFlag |= rendererUpdateFlag;
15617
+ this.transparentQueue.rendererUpdateFlag |= rendererUpdateFlag;
15618
+ this.alphaTestQueue.rendererUpdateFlag |= rendererUpdateFlag;
15619
+ };
15613
15620
  _proto.destroy = function destroy() {
15614
15621
  this.opaqueQueue.destroy();
15615
15622
  this.transparentQueue.destroy();
@@ -15716,7 +15723,7 @@ CascadedShadowCasterPass._tempMatrix0 = new Matrix();
15716
15723
  * @param mipLevel - Set mip level the data want to write
15717
15724
  * @param ignoreClear - Ignore clear flag
15718
15725
  */ _proto.render = function render(context, cubeFace, mipLevel, ignoreClear) {
15719
- context.rendererUpdateFlag = ContextRendererUpdateFlag.All;
15726
+ this._cullingResults.setRenderUpdateFlagTrue(ContextRendererUpdateFlag.All);
15720
15727
  var camera = this._camera;
15721
15728
  var scene = camera.scene, engine = camera.engine, renderTarget = camera.renderTarget;
15722
15729
  var independentCanvasEnabled = camera._isIndependentCanvasEnabled();
@@ -15741,12 +15748,11 @@ CascadedShadowCasterPass._tempMatrix0 = new Matrix();
15741
15748
  this._shouldCopyBackgroundColor = independentCanvasEnabled && !(finalClearFlags & CameraClearFlags.Color) && (!this._canUseBlitFrameBuffer || isSRGBBackground);
15742
15749
  if (scene.castShadows && sunlight && sunlight.shadowType !== ShadowType.None) {
15743
15750
  this._cascadedShadowCasterPass.onRender(context);
15744
- context.rendererUpdateFlag = ContextRendererUpdateFlag.None;
15745
15751
  }
15746
15752
  var batcherManager = engine._batcherManager;
15747
15753
  cullingResults.reset();
15748
15754
  // Depth use camera's view and projection matrix
15749
- context.rendererUpdateFlag |= ContextRendererUpdateFlag.viewProjectionMatrix;
15755
+ this._cullingResults.setRenderUpdateFlagTrue(ContextRendererUpdateFlag.viewProjectionMatrix);
15750
15756
  context.applyVirtualCamera(camera._virtualCamera, depthPassEnabled);
15751
15757
  this._prepareRender(context);
15752
15758
  cullingResults.sortBatch(batcherManager);
@@ -15754,7 +15760,6 @@ CascadedShadowCasterPass._tempMatrix0 = new Matrix();
15754
15760
  if (depthPassEnabled) {
15755
15761
  depthOnlyPass.onConfig(camera);
15756
15762
  depthOnlyPass.onRender(context, cullingResults);
15757
- context.rendererUpdateFlag = ContextRendererUpdateFlag.None;
15758
15763
  } else {
15759
15764
  depthOnlyPass.release();
15760
15765
  camera.shaderData.setTexture(Camera._cameraDepthTextureProperty, engine._basicResources.whiteTexture2D);
@@ -15820,7 +15825,7 @@ CascadedShadowCasterPass._tempMatrix0 = new Matrix();
15820
15825
  var needFlipProjection = !!internalColorTarget || camera.renderTarget && cubeFace == undefined;
15821
15826
  if (context.flipProjection !== needFlipProjection) {
15822
15827
  // Just add projection matrix update type is enough
15823
- context.rendererUpdateFlag |= ContextRendererUpdateFlag.ProjectionMatrix;
15828
+ cullingResults.setRenderUpdateFlagTrue(ContextRendererUpdateFlag.ProjectionMatrix);
15824
15829
  context.applyVirtualCamera(camera._virtualCamera, needFlipProjection);
15825
15830
  }
15826
15831
  context.setRenderTarget(colorTarget, colorViewport, mipLevel, cubeFace);
@@ -25981,7 +25986,7 @@ var UIUtils = /*#__PURE__*/ function() {
25981
25986
  viewE[12] = -position.x, viewE[13] = -position.y;
25982
25987
  Matrix.multiply(virtualCamera.projectionMatrix, virtualCamera.viewMatrix, virtualCamera.viewProjectionMatrix);
25983
25988
  renderContext.applyVirtualCamera(virtualCamera, false);
25984
- renderContext.rendererUpdateFlag |= ContextRendererUpdateFlag.ProjectionMatrix;
25989
+ uiRenderQueue.rendererUpdateFlag |= ContextRendererUpdateFlag.ProjectionMatrix;
25985
25990
  uiCanvas._prepareRender(renderContext);
25986
25991
  uiRenderQueue.pushRenderElement(uiCanvas._renderElement);
25987
25992
  uiRenderQueue.batch(batcherManager);