@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 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 rendererUpdateFlag = context.rendererUpdateFlag, camera = context.camera;
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.rendererUpdateFlag |= ContextRendererUpdateFlag.viewProjectionMatrix;
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
- context.rendererUpdateFlag = ContextRendererUpdateFlag.All;
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
- context.rendererUpdateFlag |= ContextRendererUpdateFlag.viewProjectionMatrix;
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
- context.rendererUpdateFlag |= ContextRendererUpdateFlag.ProjectionMatrix;
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
- renderContext.rendererUpdateFlag |= ContextRendererUpdateFlag.ProjectionMatrix;
25993
+ uiRenderQueue.rendererUpdateFlag |= ContextRendererUpdateFlag.ProjectionMatrix;
25989
25994
  uiCanvas._prepareRender(renderContext);
25990
25995
  uiRenderQueue.pushRenderElement(uiCanvas._renderElement);
25991
25996
  uiRenderQueue.batch(batcherManager);