@galacean/engine-core 1.3.26 → 1.3.28
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 +78 -29
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +78 -29
- package/dist/module.js +78 -29
- package/dist/module.js.map +1 -1
- package/package.json +3 -3
- package/types/asset/AssetPromise.d.ts +30 -5
package/dist/main.js
CHANGED
|
@@ -4073,6 +4073,28 @@ __decorate([
|
|
|
4073
4073
|
*/ Shader.find = function find(name) {
|
|
4074
4074
|
return Shader._shaderMap[name];
|
|
4075
4075
|
};
|
|
4076
|
+
/**
|
|
4077
|
+
* @internal
|
|
4078
|
+
*/ Shader._clear = function _clear(engine) {
|
|
4079
|
+
var shaderMap = Shader._shaderMap;
|
|
4080
|
+
for(var key in shaderMap){
|
|
4081
|
+
var shader = shaderMap[key];
|
|
4082
|
+
var subShaders = shader._subShaders;
|
|
4083
|
+
for(var i = 0, n = subShaders.length; i < n; i++){
|
|
4084
|
+
var passes = subShaders[i].passes;
|
|
4085
|
+
for(var j = 0, m = passes.length; j < m; j++){
|
|
4086
|
+
var pass = passes[j];
|
|
4087
|
+
var passShaderProgramPools = pass._shaderProgramPools;
|
|
4088
|
+
for(var k = passShaderProgramPools.length - 1; k >= 0; k--){
|
|
4089
|
+
var shaderProgramPool = passShaderProgramPools[k];
|
|
4090
|
+
if (shaderProgramPool.engine !== engine) continue;
|
|
4091
|
+
shaderProgramPool._destroy();
|
|
4092
|
+
passShaderProgramPools.splice(k, 1);
|
|
4093
|
+
}
|
|
4094
|
+
}
|
|
4095
|
+
}
|
|
4096
|
+
}
|
|
4097
|
+
};
|
|
4076
4098
|
Shader._applyConstRenderStates = function _applyConstRenderStates(renderState, key, value) {
|
|
4077
4099
|
switch(key){
|
|
4078
4100
|
case exports.RenderStateDataKey.BlendStateEnabled0:
|
|
@@ -8316,6 +8338,7 @@ var /**
|
|
|
8316
8338
|
program.uploadUnGroupTextures();
|
|
8317
8339
|
(pass._renderState || blitMaterial.renderState)._applyStates(engine, false, pass._renderStateDataMap, blitMaterial.shaderData);
|
|
8318
8340
|
rhi.drawPrimitive(blitMesh._primitive, blitMesh.subMesh, program);
|
|
8341
|
+
rendererShaderData.setTexture(PipelineUtils._blitTextureProperty, null);
|
|
8319
8342
|
};
|
|
8320
8343
|
return PipelineUtils;
|
|
8321
8344
|
}();
|
|
@@ -8663,6 +8686,7 @@ exports.Camera = (_Camera = /*#__PURE__*/ function(Component1) {
|
|
|
8663
8686
|
}
|
|
8664
8687
|
this._renderPipeline.render(context, cubeFace, mipLevel, ignoreClearFlags);
|
|
8665
8688
|
engine._renderCount++;
|
|
8689
|
+
context.camera = null;
|
|
8666
8690
|
};
|
|
8667
8691
|
_proto.setReplacementShader = function setReplacementShader(shader, replacementTag, failureStrategy) {
|
|
8668
8692
|
if (failureStrategy === void 0) failureStrategy = exports.ReplacementFailureStrategy.KeepOriginalShader;
|
|
@@ -9412,10 +9436,8 @@ var ContextRendererUpdateFlag;
|
|
|
9412
9436
|
_proto._drawMask = function _drawMask(context, pipelineStageTagValue, master) {
|
|
9413
9437
|
var incrementMaskQueue = MaskManager.getMaskIncrementRenderQueue();
|
|
9414
9438
|
incrementMaskQueue.renderQueueType = this.renderQueueType;
|
|
9415
|
-
incrementMaskQueue.clear();
|
|
9416
9439
|
var decrementMaskQueue = MaskManager.getMaskDecrementRenderQueue();
|
|
9417
9440
|
decrementMaskQueue.renderQueueType = this.renderQueueType;
|
|
9418
|
-
decrementMaskQueue.clear();
|
|
9419
9441
|
var camera = context.camera;
|
|
9420
9442
|
var engine = camera.engine;
|
|
9421
9443
|
camera.scene._maskManager.buildMaskRenderElement(master, incrementMaskQueue, decrementMaskQueue);
|
|
@@ -9423,9 +9445,11 @@ var ContextRendererUpdateFlag;
|
|
|
9423
9445
|
incrementMaskQueue._batch(engine._batcherManager);
|
|
9424
9446
|
primitiveChunkManagerMask.uploadBuffer();
|
|
9425
9447
|
incrementMaskQueue.render(context, pipelineStageTagValue, 1);
|
|
9448
|
+
incrementMaskQueue.clear();
|
|
9426
9449
|
decrementMaskQueue._batch(engine._batcherManager);
|
|
9427
9450
|
primitiveChunkManagerMask.uploadBuffer();
|
|
9428
9451
|
decrementMaskQueue.render(context, pipelineStageTagValue, 2);
|
|
9452
|
+
decrementMaskQueue.clear();
|
|
9429
9453
|
};
|
|
9430
9454
|
RenderQueue.compareForOpaque = function compareForOpaque(a, b) {
|
|
9431
9455
|
return a.priority - b.priority || a.distanceForSort - b.distanceForSort;
|
|
@@ -18766,6 +18790,7 @@ __decorate([
|
|
|
18766
18790
|
* @internal
|
|
18767
18791
|
*/ var BasicResources = /*#__PURE__*/ function() {
|
|
18768
18792
|
function BasicResources(engine) {
|
|
18793
|
+
this.engine = engine;
|
|
18769
18794
|
// prettier-ignore
|
|
18770
18795
|
var vertices = new Float32Array([
|
|
18771
18796
|
-1,
|
|
@@ -18825,6 +18850,11 @@ __decorate([
|
|
|
18825
18850
|
}
|
|
18826
18851
|
}
|
|
18827
18852
|
var _proto = BasicResources.prototype;
|
|
18853
|
+
/**
|
|
18854
|
+
* @internal
|
|
18855
|
+
*/ _proto._getBlinnPhongMaterial = function _getBlinnPhongMaterial() {
|
|
18856
|
+
return this._blinnPhongMaterial || (this._blinnPhongMaterial = new BlinnPhongMaterial(this.engine));
|
|
18857
|
+
};
|
|
18828
18858
|
_proto._createBlitMesh = function _createBlitMesh(engine, vertices) {
|
|
18829
18859
|
var mesh = new ModelMesh(engine);
|
|
18830
18860
|
mesh._addReferCount(1);
|
|
@@ -19580,12 +19610,24 @@ var AssetPromise = /*#__PURE__*/ function() {
|
|
|
19580
19610
|
this._onCancelHandler && this._onCancelHandler();
|
|
19581
19611
|
return this;
|
|
19582
19612
|
};
|
|
19583
|
-
|
|
19584
|
-
|
|
19585
|
-
|
|
19586
|
-
|
|
19587
|
-
|
|
19588
|
-
|
|
19613
|
+
AssetPromise.resolve = function resolve(value) {
|
|
19614
|
+
if (value === undefined) {
|
|
19615
|
+
return new AssetPromise(function(resolve) {
|
|
19616
|
+
return resolve();
|
|
19617
|
+
});
|
|
19618
|
+
} else if (_instanceof(value, AssetPromise) || _instanceof(value, Promise)) {
|
|
19619
|
+
return new AssetPromise(function(resolve, reject) {
|
|
19620
|
+
value.then(function(resolved) {
|
|
19621
|
+
return resolve(resolved);
|
|
19622
|
+
}, reject);
|
|
19623
|
+
});
|
|
19624
|
+
} else {
|
|
19625
|
+
return new AssetPromise(function(resolve) {
|
|
19626
|
+
return resolve(value);
|
|
19627
|
+
});
|
|
19628
|
+
}
|
|
19629
|
+
};
|
|
19630
|
+
AssetPromise.all = function all(values) {
|
|
19589
19631
|
return new AssetPromise(function(resolve, reject, setTaskCompleteProgress) {
|
|
19590
19632
|
var onComplete = function onComplete(index, resultValue) {
|
|
19591
19633
|
completed++;
|
|
@@ -19596,7 +19638,7 @@ var AssetPromise = /*#__PURE__*/ function() {
|
|
|
19596
19638
|
}
|
|
19597
19639
|
};
|
|
19598
19640
|
var onProgress = function onProgress(promise, index) {
|
|
19599
|
-
if (_instanceof(promise,
|
|
19641
|
+
if (_instanceof(promise, AssetPromise) || _instanceof(promise, Promise)) {
|
|
19600
19642
|
promise.then(function(value) {
|
|
19601
19643
|
onComplete(index, value);
|
|
19602
19644
|
}, reject);
|
|
@@ -19606,14 +19648,14 @@ var AssetPromise = /*#__PURE__*/ function() {
|
|
|
19606
19648
|
});
|
|
19607
19649
|
}
|
|
19608
19650
|
};
|
|
19609
|
-
var count =
|
|
19651
|
+
var count = Array.from(values).length;
|
|
19610
19652
|
var results = new Array(count);
|
|
19611
19653
|
var completed = 0;
|
|
19612
19654
|
if (count === 0) {
|
|
19613
19655
|
return resolve(results);
|
|
19614
19656
|
}
|
|
19615
19657
|
for(var i = 0; i < count; i++){
|
|
19616
|
-
onProgress(
|
|
19658
|
+
onProgress(values[i], i);
|
|
19617
19659
|
}
|
|
19618
19660
|
});
|
|
19619
19661
|
};
|
|
@@ -20195,12 +20237,12 @@ var MultiExecutor = /*#__PURE__*/ function() {
|
|
|
20195
20237
|
var obj = this._objectPool[refId];
|
|
20196
20238
|
var promise;
|
|
20197
20239
|
if (obj) {
|
|
20198
|
-
promise =
|
|
20240
|
+
promise = AssetPromise.resolve(obj);
|
|
20199
20241
|
} else {
|
|
20200
20242
|
var resourceConfig = this._editorResourceConfig[refId];
|
|
20201
20243
|
if (!resourceConfig) {
|
|
20202
|
-
Logger.warn("refId:" + refId + " is not find in this.
|
|
20203
|
-
return
|
|
20244
|
+
Logger.warn("refId:" + refId + " is not find in this._idResourceMap.");
|
|
20245
|
+
return AssetPromise.resolve(null);
|
|
20204
20246
|
}
|
|
20205
20247
|
var url = resourceConfig.virtualPath;
|
|
20206
20248
|
if (key) {
|
|
@@ -21156,16 +21198,24 @@ var Collision = function Collision() {
|
|
|
21156
21198
|
}
|
|
21157
21199
|
return shape.collider.entity.layer & layerMask && shape.isSceneQuery;
|
|
21158
21200
|
};
|
|
21201
|
+
var outIDX;
|
|
21202
|
+
var outDistance;
|
|
21203
|
+
var outPosition;
|
|
21204
|
+
var outNormal;
|
|
21159
21205
|
if (hitResult != undefined) {
|
|
21160
21206
|
var result = this._nativePhysicsScene.raycast(ray, distance, onRaycast, function(idx, distance, position, normal) {
|
|
21161
|
-
|
|
21162
|
-
|
|
21163
|
-
|
|
21164
|
-
|
|
21165
|
-
hitResult.normal.copyFrom(normal);
|
|
21166
|
-
hitResult.point.copyFrom(position);
|
|
21207
|
+
outIDX = idx;
|
|
21208
|
+
outDistance = distance;
|
|
21209
|
+
outPosition = position;
|
|
21210
|
+
outNormal = normal;
|
|
21167
21211
|
});
|
|
21168
21212
|
if (result) {
|
|
21213
|
+
var hitShape = this._scene.engine._physicalObjectsMap[outIDX];
|
|
21214
|
+
hitResult.entity = hitShape._collider.entity;
|
|
21215
|
+
hitResult.shape = hitShape;
|
|
21216
|
+
hitResult.distance = outDistance;
|
|
21217
|
+
hitResult.point.copyFrom(outPosition);
|
|
21218
|
+
hitResult.normal.copyFrom(outNormal);
|
|
21169
21219
|
return true;
|
|
21170
21220
|
} else {
|
|
21171
21221
|
hitResult.entity = null;
|
|
@@ -23889,21 +23939,15 @@ ShaderPool.init();
|
|
|
23889
23939
|
var _this_xrManager;
|
|
23890
23940
|
this._sceneManager._destroyAllScene();
|
|
23891
23941
|
this._resourceManager._destroy();
|
|
23892
|
-
this._textDefaultFont = null;
|
|
23893
|
-
this._fontMap = null;
|
|
23894
23942
|
this.inputManager._destroy();
|
|
23895
23943
|
this._batcherManager.destroy();
|
|
23896
23944
|
(_this_xrManager = this.xrManager) == null ? void 0 : _this_xrManager._destroy();
|
|
23897
23945
|
this.dispatch("shutdown", this);
|
|
23898
23946
|
// Cancel animation
|
|
23899
23947
|
this.pause();
|
|
23948
|
+
Shader._clear(this);
|
|
23900
23949
|
this._hardwareRenderer.destroy();
|
|
23901
23950
|
this.removeAllEventListeners();
|
|
23902
|
-
this._animate = null;
|
|
23903
|
-
this._sceneManager = null;
|
|
23904
|
-
this._resourceManager = null;
|
|
23905
|
-
this._canvas = null;
|
|
23906
|
-
this._time = null;
|
|
23907
23951
|
this._waitingDestroy = false;
|
|
23908
23952
|
this._destroyed = true;
|
|
23909
23953
|
};
|
|
@@ -24071,6 +24115,7 @@ ShaderPool.init();
|
|
|
24071
24115
|
this._hardwareRenderer.resetState();
|
|
24072
24116
|
this._lastRenderState = new RenderState();
|
|
24073
24117
|
// Clear shader pools
|
|
24118
|
+
Shader._clear(this);
|
|
24074
24119
|
this._shaderProgramPools.length = 0;
|
|
24075
24120
|
var resourceManager = this.resourceManager;
|
|
24076
24121
|
// Restore graphic resources
|
|
@@ -27190,11 +27235,13 @@ AnimationCurveOwner.registerAssembler(SkinnedMeshRenderer, "blendShapeWeights",
|
|
|
27190
27235
|
* @param time - The time to sample an animation
|
|
27191
27236
|
*/ _proto._sampleAnimation = function _sampleAnimation(entity, time) {
|
|
27192
27237
|
var _this = this, curveBindings = _this._curveBindings;
|
|
27238
|
+
var components = AnimationCurveOwner._components;
|
|
27193
27239
|
for(var i = curveBindings.length - 1; i >= 0; i--){
|
|
27194
27240
|
var curve = curveBindings[i];
|
|
27195
27241
|
var targetEntity = entity.findByPath(curve.relativePath);
|
|
27196
27242
|
if (targetEntity) {
|
|
27197
|
-
var component = curve.typeIndex > 0 ? targetEntity.getComponents(curve.type,
|
|
27243
|
+
var component = curve.typeIndex > 0 ? targetEntity.getComponents(curve.type, components)[curve.typeIndex] : targetEntity.getComponent(curve.type);
|
|
27244
|
+
components.length = 0;
|
|
27198
27245
|
if (!component) {
|
|
27199
27246
|
continue;
|
|
27200
27247
|
}
|
|
@@ -28809,13 +28856,15 @@ exports.AnimatorLayerBlendingMode = void 0;
|
|
|
28809
28856
|
var curveLayerOwner = animatorStateData.curveLayerOwner;
|
|
28810
28857
|
var _animatorState_clip = animatorState.clip, curves = _animatorState_clip._curveBindings;
|
|
28811
28858
|
var layerCurveOwnerPool = animatorLayerData.curveOwnerPool;
|
|
28859
|
+
var components = AnimationCurveOwner._components;
|
|
28812
28860
|
for(var i = curves.length - 1; i >= 0; i--){
|
|
28813
28861
|
var curve = curves[i];
|
|
28814
28862
|
var relativePath = curve.relativePath;
|
|
28815
28863
|
var targetEntity = curve.relativePath === "" ? entity : entity.findByPath(curve.relativePath);
|
|
28816
28864
|
if (targetEntity) {
|
|
28817
28865
|
var _curveOwnerPool, _instanceId, _propertyOwners, _property, _layerCurveOwnerPool, _instanceId1, _layerPropertyOwners, _property1;
|
|
28818
|
-
var component = curve.typeIndex > 0 ? targetEntity.getComponents(curve.type,
|
|
28866
|
+
var component = curve.typeIndex > 0 ? targetEntity.getComponents(curve.type, components)[curve.typeIndex] : targetEntity.getComponent(curve.type);
|
|
28867
|
+
components.length = 0;
|
|
28819
28868
|
if (!component) {
|
|
28820
28869
|
continue;
|
|
28821
28870
|
}
|