@galacean/engine 1.6.2 → 1.6.4

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/browser.js CHANGED
@@ -11825,7 +11825,6 @@
11825
11825
  function RenderContext() {
11826
11826
  this._projectionParams = new Vector4();
11827
11827
  this.flipProjection = false;
11828
- this.rendererUpdateFlag = 0;
11829
11828
  }
11830
11829
  var _proto = RenderContext.prototype;
11831
11830
  _proto.applyVirtualCamera = function applyVirtualCamera(virtualCamera, flipProjection) {
@@ -13645,7 +13644,7 @@
13645
13644
  Logger.error("mipLevel only take effect in WebGL2.0");
13646
13645
  }
13647
13646
  var ignoreClearFlags;
13648
- if (this._cameraType !== CameraType$1.Normal && !this._renderTarget && !this._isIndependentCanvasEnabled()) {
13647
+ if (this._cameraType !== CameraType$1.Normal && !this._renderTarget) {
13649
13648
  ignoreClearFlags = engine.xrManager._getCameraIgnoreClearFlags(this._cameraType);
13650
13649
  }
13651
13650
  this._renderPipeline.render(context, cubeFace, mipLevel, ignoreClearFlags);
@@ -13779,6 +13778,9 @@
13779
13778
  width = canvas.width;
13780
13779
  height = canvas.height;
13781
13780
  }
13781
+ this._adjustPixelViewport(width, height);
13782
+ };
13783
+ _proto._adjustPixelViewport = function _adjustPixelViewport(width, height) {
13782
13784
  var viewport = this._viewport;
13783
13785
  this._pixelViewport.set(viewport.x * width, viewport.y * height, viewport.z * width, viewport.w * height);
13784
13786
  !this._customAspectRatio && this._dispatchModify(CameraModifyFlags.AspectRatio);
@@ -15775,7 +15777,8 @@
15775
15777
  _proto.onRender = function onRender(context) {
15776
15778
  var engine = this.engine;
15777
15779
  var camera = context.camera;
15778
- var viewport = camera.viewport, scene = camera.scene, pixelViewport = camera.pixelViewport;
15780
+ camera.viewport;
15781
+ var scene = camera.scene, pixelViewport = camera.pixelViewport;
15779
15782
  var ambientOcclusion = scene.ambientOcclusion;
15780
15783
  var shaderData = this._material.shaderData;
15781
15784
  var projectionMatrix = context.projectionMatrix;
@@ -15807,15 +15810,15 @@
15807
15810
  var _this = this, saoTarget = _this._saoRenderTarget, material = _this._material;
15808
15811
  // Draw ambient occlusion texture
15809
15812
  var sourceTexture = this._depthRenderTarget.depthTexture;
15810
- Blitter.blitTexture(engine, sourceTexture, saoTarget, 0, viewport, material, 0);
15813
+ Blitter.blitTexture(engine, sourceTexture, saoTarget, 0, undefined, material, 0);
15811
15814
  // Horizontal blur, saoRenderTarget -> blurRenderTarget
15812
15815
  var saoTexture = saoTarget.getColorTexture();
15813
15816
  var offsetX = this._offsetX.set(1, 1, this._blurStepPixels / saoTexture.width, 0);
15814
- Blitter.blitTexture(engine, saoTexture, this._blurRenderTarget, 0, viewport, material, 1, offsetX);
15817
+ Blitter.blitTexture(engine, saoTexture, this._blurRenderTarget, 0, undefined, material, 1, offsetX);
15815
15818
  // Vertical blur, blurRenderTarget -> saoRenderTarget
15816
15819
  var horizontalBlur = this._blurRenderTarget.getColorTexture();
15817
15820
  var offsetY = this._offsetY.set(1, 1, 0, this._blurStepPixels / saoTexture.height);
15818
- Blitter.blitTexture(engine, horizontalBlur, saoTarget, 0, viewport, material, 1, offsetY);
15821
+ Blitter.blitTexture(engine, horizontalBlur, saoTarget, 0, undefined, material, 1, offsetY);
15819
15822
  // Set the SAO texture
15820
15823
  camera.shaderData.setTexture(exports.Camera._cameraAOTextureProperty, saoTexture);
15821
15824
  };
@@ -19282,7 +19285,8 @@
19282
19285
  } else {
19283
19286
  uberShaderData.disableMacro(TonemappingEffect._enableMacro);
19284
19287
  }
19285
- Blitter.blitTexture(camera.engine, srcTexture, destTarget, 0, camera.viewport, this._uberMaterial, undefined);
19288
+ var viewport = destTarget === camera.renderTarget ? camera.viewport : undefined;
19289
+ Blitter.blitTexture(camera.engine, srcTexture, destTarget, 0, viewport, this._uberMaterial, undefined);
19286
19290
  };
19287
19291
  /**
19288
19292
  * @inheritdoc
@@ -19320,7 +19324,7 @@
19320
19324
  uberShaderData.disableMacro(BloomEffect._hqMacro);
19321
19325
  }
19322
19326
  uberShaderData.setTexture(BloomEffect._dirtTextureProp, dirtTexture.value);
19323
- if (dirtTexture) {
19327
+ if (dirtTexture.value) {
19324
19328
  uberShaderData.enableMacro(BloomEffect._dirtMacro);
19325
19329
  } else {
19326
19330
  uberShaderData.disableMacro(BloomEffect._dirtMacro);
@@ -19453,11 +19457,12 @@
19453
19457
  var enableFXAA = camera.antiAliasing === AntiAliasing.FXAA;
19454
19458
  // Should convert to sRGB when FXAA is enabled or camera's render target is not set
19455
19459
  var sourceTexture = this._inputRenderTarget.getColorTexture();
19456
- var outputRenderTarget = enableFXAA ? this._srgbRenderTarget : renderTarget;
19457
- Blitter.blitTexture(engine, sourceTexture, outputRenderTarget, 0, viewport, this._sRGBmaterial);
19458
19460
  if (enableFXAA) {
19461
+ Blitter.blitTexture(engine, sourceTexture, this._srgbRenderTarget, 0, undefined, this._sRGBmaterial);
19459
19462
  var sRGBTexture = this._srgbRenderTarget.getColorTexture();
19460
19463
  Blitter.blitTexture(engine, sRGBTexture, renderTarget, 0, viewport, this._antiAliasingMaterial);
19464
+ } else {
19465
+ Blitter.blitTexture(engine, sourceTexture, renderTarget, 0, viewport, this._sRGBmaterial);
19461
19466
  }
19462
19467
  };
19463
19468
  _proto.release = function release() {
@@ -19493,6 +19498,7 @@
19493
19498
  this.renderQueueType = renderQueueType;
19494
19499
  this.elements = new Array();
19495
19500
  this.batchedSubElements = new Array();
19501
+ this.rendererUpdateFlag = ContextRendererUpdateFlag.None;
19496
19502
  }
19497
19503
  var _proto = RenderQueue.prototype;
19498
19504
  _proto.pushRenderElement = function pushRenderElement(element) {
@@ -19512,8 +19518,7 @@
19512
19518
  if (length === 0) {
19513
19519
  return;
19514
19520
  }
19515
- var rendererUpdateFlag = context.rendererUpdateFlag, camera = context.camera;
19516
- var engine = camera.engine, scene = camera.scene, cameraId = camera.instanceId, cameraData = camera.shaderData;
19521
+ var _context_camera = context.camera, engine = _context_camera.engine, scene = _context_camera.scene, cameraId = _context_camera.instanceId, cameraData = _context_camera.shaderData;
19517
19522
  var sceneId = scene.instanceId, sceneData = scene.shaderData, maskManager = scene._maskManager;
19518
19523
  var renderCount = engine._renderCount;
19519
19524
  var rhi = engine._hardwareRenderer;
@@ -19523,11 +19528,11 @@
19523
19528
  var subElement = batchedSubElements[i];
19524
19529
  var renderer = subElement.component, batched = subElement.batched, material = subElement.material;
19525
19530
  // @todo: Can optimize update view projection matrix updated
19526
- if (rendererUpdateFlag & ContextRendererUpdateFlag.WorldViewMatrix || renderer._batchedTransformShaderData != batched) {
19531
+ if (this.rendererUpdateFlag & ContextRendererUpdateFlag.WorldViewMatrix || renderer._batchedTransformShaderData != batched) {
19527
19532
  // Update world matrix and view matrix and model matrix
19528
19533
  renderer._updateTransformShaderData(context, false, batched);
19529
19534
  renderer._batchedTransformShaderData = batched;
19530
- } else if (rendererUpdateFlag & ContextRendererUpdateFlag.ProjectionMatrix) {
19535
+ } else if (this.rendererUpdateFlag & ContextRendererUpdateFlag.ProjectionMatrix) {
19531
19536
  // Only projection matrix need updated
19532
19537
  renderer._updateTransformShaderData(context, true, batched);
19533
19538
  }
@@ -19631,6 +19636,7 @@
19631
19636
  rhi.drawPrimitive(primitive, subElement.subPrimitive, program);
19632
19637
  }
19633
19638
  }
19639
+ this.rendererUpdateFlag = ContextRendererUpdateFlag.None;
19634
19640
  };
19635
19641
  _proto.clear = function clear() {
19636
19642
  this.elements.length = 0;
@@ -20420,7 +20426,9 @@
20420
20426
  sceneShaderData.setVector2(CascadedShadowCasterPass._lightShadowBiasProperty, this._shadowBias);
20421
20427
  sceneShaderData.setVector3(CascadedShadowCasterPass._lightDirectionProperty, light.direction);
20422
20428
  // Every light use self virtual camera
20423
- context.rendererUpdateFlag |= ContextRendererUpdateFlag.viewProjectionMatrix;
20429
+ var _context_camera__renderPipeline__cullingResults = context.camera._renderPipeline._cullingResults, opaqueQueue = _context_camera__renderPipeline__cullingResults.opaqueQueue, alphaTestQueue = _context_camera__renderPipeline__cullingResults.alphaTestQueue;
20430
+ opaqueQueue.rendererUpdateFlag |= ContextRendererUpdateFlag.viewProjectionMatrix;
20431
+ alphaTestQueue.rendererUpdateFlag |= ContextRendererUpdateFlag.viewProjectionMatrix;
20424
20432
  context.applyVirtualCamera(virtualCamera, true);
20425
20433
  };
20426
20434
  return CascadedShadowCasterPass;
@@ -20458,6 +20466,11 @@
20458
20466
  this.alphaTestQueue.sortBatch(RenderQueue.compareForOpaque, batcherManager);
20459
20467
  this.transparentQueue.sortBatch(RenderQueue.compareForTransparent, batcherManager);
20460
20468
  };
20469
+ _proto.setRenderUpdateFlagTrue = function setRenderUpdateFlagTrue(rendererUpdateFlag) {
20470
+ this.opaqueQueue.rendererUpdateFlag |= rendererUpdateFlag;
20471
+ this.transparentQueue.rendererUpdateFlag |= rendererUpdateFlag;
20472
+ this.alphaTestQueue.rendererUpdateFlag |= rendererUpdateFlag;
20473
+ };
20461
20474
  _proto.destroy = function destroy() {
20462
20475
  this.opaqueQueue.destroy();
20463
20476
  this.transparentQueue.destroy();
@@ -20561,7 +20574,7 @@
20561
20574
  * @param mipLevel - Set mip level the data want to write
20562
20575
  * @param ignoreClear - Ignore clear flag
20563
20576
  */ _proto.render = function render(context, cubeFace, mipLevel, ignoreClear) {
20564
- context.rendererUpdateFlag = ContextRendererUpdateFlag.All;
20577
+ this._cullingResults.setRenderUpdateFlagTrue(ContextRendererUpdateFlag.All);
20565
20578
  var camera = this._camera;
20566
20579
  var scene = camera.scene, engine = camera.engine, renderTarget = camera.renderTarget;
20567
20580
  var independentCanvasEnabled = camera._isIndependentCanvasEnabled();
@@ -20586,12 +20599,11 @@
20586
20599
  this._shouldCopyBackgroundColor = independentCanvasEnabled && !(finalClearFlags & CameraClearFlags.Color) && (!this._canUseBlitFrameBuffer || isSRGBBackground);
20587
20600
  if (scene.castShadows && sunlight && sunlight.shadowType !== ShadowType.None) {
20588
20601
  this._cascadedShadowCasterPass.onRender(context);
20589
- context.rendererUpdateFlag = ContextRendererUpdateFlag.None;
20590
20602
  }
20591
20603
  var batcherManager = engine._batcherManager;
20592
20604
  cullingResults.reset();
20593
20605
  // Depth use camera's view and projection matrix
20594
- context.rendererUpdateFlag |= ContextRendererUpdateFlag.viewProjectionMatrix;
20606
+ this._cullingResults.setRenderUpdateFlagTrue(ContextRendererUpdateFlag.viewProjectionMatrix);
20595
20607
  context.applyVirtualCamera(camera._virtualCamera, depthPassEnabled);
20596
20608
  this._prepareRender(context);
20597
20609
  cullingResults.sortBatch(batcherManager);
@@ -20599,7 +20611,6 @@
20599
20611
  if (depthPassEnabled) {
20600
20612
  depthOnlyPass.onConfig(camera);
20601
20613
  depthOnlyPass.onRender(context, cullingResults);
20602
- context.rendererUpdateFlag = ContextRendererUpdateFlag.None;
20603
20614
  } else {
20604
20615
  depthOnlyPass.release();
20605
20616
  camera.shaderData.setTexture(exports.Camera._cameraDepthTextureProperty, engine._basicResources.whiteTexture2D);
@@ -20665,7 +20676,7 @@
20665
20676
  var needFlipProjection = !!internalColorTarget || camera.renderTarget && cubeFace == undefined;
20666
20677
  if (context.flipProjection !== needFlipProjection) {
20667
20678
  // Just add projection matrix update type is enough
20668
- context.rendererUpdateFlag |= ContextRendererUpdateFlag.ProjectionMatrix;
20679
+ cullingResults.setRenderUpdateFlagTrue(ContextRendererUpdateFlag.ProjectionMatrix);
20669
20680
  context.applyVirtualCamera(camera._virtualCamera, needFlipProjection);
20670
20681
  }
20671
20682
  context.setRenderTarget(colorTarget, colorViewport, mipLevel, cubeFace);
@@ -30719,7 +30730,7 @@
30719
30730
  viewE[12] = -position.x, viewE[13] = -position.y;
30720
30731
  Matrix.multiply(virtualCamera.projectionMatrix, virtualCamera.viewMatrix, virtualCamera.viewProjectionMatrix);
30721
30732
  renderContext.applyVirtualCamera(virtualCamera, false);
30722
- renderContext.rendererUpdateFlag |= ContextRendererUpdateFlag.ProjectionMatrix;
30733
+ uiRenderQueue.rendererUpdateFlag |= ContextRendererUpdateFlag.ProjectionMatrix;
30723
30734
  uiCanvas._prepareRender(renderContext);
30724
30735
  uiRenderQueue.pushRenderElement(uiCanvas._renderElement);
30725
30736
  uiRenderQueue.batch(batcherManager);
@@ -44209,7 +44220,7 @@
44209
44220
  var yStart = flipY ? srcHeight - viewport.y * srcHeight - copyHeight : viewport.y * srcHeight;
44210
44221
  var _srcRT__platformRenderTarget__frameBuffer;
44211
44222
  // @ts-ignore
44212
- var frameBuffer = (_srcRT__platformRenderTarget__frameBuffer = srcRT == null ? void 0 : srcRT._platformRenderTarget._frameBuffer) != null ? _srcRT__platformRenderTarget__frameBuffer : null;
44223
+ var frameBuffer = (_srcRT__platformRenderTarget__frameBuffer = srcRT == null ? void 0 : srcRT._platformRenderTarget._frameBuffer) != null ? _srcRT__platformRenderTarget__frameBuffer : this._mainFrameBuffer;
44213
44224
  // @ts-ignore
44214
44225
  gl.bindFramebuffer(gl.FRAMEBUFFER, frameBuffer);
44215
44226
  // @ts-ignore
@@ -51602,7 +51613,7 @@
51602
51613
  ], EXT_texture_webp);
51603
51614
 
51604
51615
  //@ts-ignore
51605
- var version = "1.6.2";
51616
+ var version = "1.6.4";
51606
51617
  console.log("Galacean Engine Version: " + version);
51607
51618
  for(var key in CoreObjects){
51608
51619
  Loader.registerClass(key, CoreObjects[key]);