@galacean/effects 1.1.1 → 1.1.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/weapp.mjs CHANGED
@@ -9317,11 +9317,9 @@ var Matrix4$1 = /** @class */ (function () {
9317
9317
  var vX = Matrix4.tempVec0;
9318
9318
  var vY = Matrix4.tempVec1;
9319
9319
  var vZ = Matrix4.tempVec2;
9320
- vZ.subtractVectors(target, eye);
9320
+ vZ.subtractVectors(eye, target);
9321
9321
  vZ.normalize();
9322
- vY.copyFrom(up);
9323
- vY.normalize();
9324
- vX.crossVectors(vY, vZ);
9322
+ vX.crossVectors(up, vZ);
9325
9323
  vX.normalize();
9326
9324
  vY.crossVectors(vZ, vX);
9327
9325
  var te = this.elements;
@@ -16010,7 +16008,7 @@ function loadImage(source) {
16010
16008
  }
16011
16009
  // 2. 非法类型
16012
16010
  if (!url) {
16013
- throw new Error("Invalid url type: ".concat(source));
16011
+ throw new Error("Invalid url type: ".concat(JSON.stringify(source)));
16014
16012
  }
16015
16013
  return [2 /*return*/, new Promise(function (resolve, reject) {
16016
16014
  var img = new Image();
@@ -16029,7 +16027,7 @@ function loadImage(source) {
16029
16027
  if (revokeURL) {
16030
16028
  URL.revokeObjectURL(url);
16031
16029
  }
16032
- return reject("Load image fail: ".concat(e));
16030
+ return reject("Load image fail: ".concat(JSON.stringify(e)));
16033
16031
  };
16034
16032
  img.src = url;
16035
16033
  })];
@@ -19360,18 +19358,19 @@ var SpriteMesh = /** @class */ (function () {
19360
19358
  var uSizeStart = start + 4;
19361
19359
  var uQuatStart = start + 8;
19362
19360
  var uColorStart = start + 12;
19363
- if (!selfData.visible && !init) {
19364
- mainDataArray[uSizeStart + 2] = -1;
19365
- return;
19366
- }
19367
- var uColor = selfData.color || [mainDataArray[uColorStart], mainDataArray[uColorStart + 1], mainDataArray[uColorStart + 2], mainDataArray[uColorStart + 3]];
19368
- // if (selfData.startSize) {
19369
- // selfData.transform.scaleBy(1 / selfData.startSize[0], 1 / selfData.startSize[1], 1);
19370
- // }
19371
19361
  var tempPos = new Vector3();
19372
19362
  var tempQuat = new Quaternion();
19373
19363
  var tempScale = new Vector3();
19374
- selfData.transform.assignWorldTRS(tempPos, tempQuat, tempScale);
19364
+ var uColor = selfData.color || [mainDataArray[uColorStart], mainDataArray[uColorStart + 1], mainDataArray[uColorStart + 2], mainDataArray[uColorStart + 3]];
19365
+ if (selfData.visible) {
19366
+ selfData.transform.assignWorldTRS(tempPos, tempQuat, tempScale);
19367
+ }
19368
+ else {
19369
+ if (!init) {
19370
+ mainDataArray[uSizeStart + 2] = -1;
19371
+ return;
19372
+ }
19373
+ }
19375
19374
  var uPos = __spreadArray$2(__spreadArray$2([], __read$3(tempPos.toArray()), false), [0], false);
19376
19375
  var uSize = __spreadArray$2(__spreadArray$2([], __read$3(tempScale.toArray()), false), [0], false);
19377
19376
  var uQuat = tempQuat.toArray();
@@ -29162,6 +29161,7 @@ var CompositionSourceManager = /** @class */ (function () {
29162
29161
  var e_1, _a;
29163
29162
  this.refCompositions = new Map();
29164
29163
  this.refCompositionProps = new Map();
29164
+ this.mask = 0;
29165
29165
  // 资源
29166
29166
  var jsonScene = scene.jsonScene, renderLevel = scene.renderLevel, textureOptions = scene.textureOptions, pluginSystem = scene.pluginSystem, totalTime = scene.totalTime;
29167
29167
  var compositions = jsonScene.compositions, imgUsage = jsonScene.imgUsage, compositionId = jsonScene.compositionId;
@@ -29200,7 +29200,6 @@ var CompositionSourceManager = /** @class */ (function () {
29200
29200
  this.totalTime = totalTime !== null && totalTime !== void 0 ? totalTime : 0;
29201
29201
  this.imgUsage = imgUsage !== null && imgUsage !== void 0 ? imgUsage : {};
29202
29202
  this.textures = cachedTextures;
29203
- this.mask = 0;
29204
29203
  listOrder = 0;
29205
29204
  this.textureOptions = textureOptions;
29206
29205
  this.sourceContent = this.getContent(this.composition);
@@ -29225,10 +29224,6 @@ var CompositionSourceManager = /** @class */ (function () {
29225
29224
  CompositionSourceManager.prototype.assembleItems = function (composition) {
29226
29225
  var _this = this;
29227
29226
  var items = [];
29228
- var mask = this.mask;
29229
- if (isNaN(mask)) {
29230
- mask = 0;
29231
- }
29232
29227
  composition.items.forEach(function (item) {
29233
29228
  var _a;
29234
29229
  var option = {};
@@ -29244,15 +29239,7 @@ var CompositionSourceManager = /** @class */ (function () {
29244
29239
  option.type = type;
29245
29240
  if (renderContent.renderer) {
29246
29241
  renderContent.renderer = _this.changeTex(renderContent.renderer);
29247
- if (!renderContent.renderer.mask) {
29248
- var maskMode = renderContent.renderer.maskMode;
29249
- if (maskMode === MaskMode$1.MASK) {
29250
- renderContent.renderer.mask = ++mask;
29251
- }
29252
- else if (maskMode === MaskMode$1.OBSCURED || maskMode === MaskMode$1.REVERSE_OBSCURED) {
29253
- renderContent.renderer.mask = mask;
29254
- }
29255
- }
29242
+ _this.processMask(renderContent.renderer);
29256
29243
  var split = renderContent.splits && !renderContent.textureSheetAnimation && renderContent.splits[0];
29257
29244
  if (Number.isInteger(renderContent.renderer.shape)) {
29258
29245
  // TODO: scene.shapes 类型问题?
@@ -29297,16 +29284,18 @@ var CompositionSourceManager = /** @class */ (function () {
29297
29284
  }
29298
29285
  // 处理预合成的渲染顺序
29299
29286
  if (option.type === ItemType$1.composition) {
29287
+ ++_this.mask;
29300
29288
  var refId = item.content.options.refId;
29301
29289
  if (!_this.refCompositions.get(refId)) {
29302
29290
  throw new Error('Invalid Ref Composition id: ' + refId);
29303
29291
  }
29292
+ var ref = _this.getContent(_this.refCompositions.get(refId));
29304
29293
  if (!_this.refCompositionProps.has(refId)) {
29305
- _this.refCompositionProps.set(refId, _this.getContent(_this.refCompositions.get(refId)));
29294
+ _this.refCompositionProps.set(refId, ref);
29306
29295
  }
29307
- var ref = _this.refCompositionProps.get(refId);
29308
29296
  ref.items.forEach(function (item) {
29309
29297
  item.listIndex = listOrder++;
29298
+ _this.processMask(item.content);
29310
29299
  });
29311
29300
  option.items = ref.items;
29312
29301
  }
@@ -29342,6 +29331,23 @@ var CompositionSourceManager = /** @class */ (function () {
29342
29331
  }
29343
29332
  }
29344
29333
  };
29334
+ /**
29335
+ * 处理蒙版和遮挡关系写入 stencil 的 ref 值
29336
+ */
29337
+ CompositionSourceManager.prototype.processMask = function (renderer) {
29338
+ if (renderer.maskMode === MaskMode$1.NONE) {
29339
+ return;
29340
+ }
29341
+ if (!renderer.mask) {
29342
+ var maskMode = renderer.maskMode;
29343
+ if (maskMode === MaskMode$1.MASK) {
29344
+ renderer.mask = ++this.mask;
29345
+ }
29346
+ else if (maskMode === MaskMode$1.OBSCURED || maskMode === MaskMode$1.REVERSE_OBSCURED) {
29347
+ renderer.mask = this.mask;
29348
+ }
29349
+ }
29350
+ };
29345
29351
  CompositionSourceManager.prototype.dispose = function () {
29346
29352
  this.textureOptions = [];
29347
29353
  this.textures = [];
@@ -29416,7 +29422,7 @@ var AssetManager = /** @class */ (function () {
29416
29422
  waitPromise = new Promise(function (resolve, reject) {
29417
29423
  return loadTimer = window$1.setTimeout(function () {
29418
29424
  cancelLoading = true;
29419
- reject("Load time out: ".concat(url));
29425
+ reject("Load time out: ".concat(JSON.stringify(url)));
29420
29426
  }, _this.timeout * 1000);
29421
29427
  });
29422
29428
  hookTimeInfo = function (label, func) { return __awaiter(_this, void 0, void 0, function () {
@@ -29581,7 +29587,7 @@ var AssetManager = /** @class */ (function () {
29581
29587
  if (passRenderLevel(bin.renderLevel, renderLevel)) {
29582
29588
  return _this.loadBins(bin.url);
29583
29589
  }
29584
- throw new Error("Invalid bins source: ".concat(bins));
29590
+ throw new Error("Invalid bins source: ".concat(JSON.stringify(bins)));
29585
29591
  });
29586
29592
  return [2 /*return*/, Promise.all(jobs)];
29587
29593
  });
@@ -29617,7 +29623,7 @@ var AssetManager = /** @class */ (function () {
29617
29623
  case 3:
29618
29624
  _b.sent();
29619
29625
  console.warn({
29620
- content: "Invalid fonts source: ".concat(font.fontURL),
29626
+ content: "Invalid fonts source: ".concat(JSON.stringify(font.fontURL)),
29621
29627
  type: LOG_TYPE,
29622
29628
  });
29623
29629
  return [3 /*break*/, 4];
@@ -29786,7 +29792,7 @@ var AssetManager = /** @class */ (function () {
29786
29792
  return __generator(this, function (_a) {
29787
29793
  return [2 /*return*/, new Promise(function (resolve, reject) {
29788
29794
  _this.downloader.downloadJSON(url, resolve, function (status, responseText) {
29789
- reject("Couldn't load JSON ".concat(url, ": status ").concat(status, ", ").concat(responseText));
29795
+ reject("Couldn't load JSON ".concat(JSON.stringify(url), ": status ").concat(status, ", ").concat(responseText));
29790
29796
  });
29791
29797
  })];
29792
29798
  });
@@ -29798,7 +29804,7 @@ var AssetManager = /** @class */ (function () {
29798
29804
  return __generator(this, function (_a) {
29799
29805
  return [2 /*return*/, new Promise(function (resolve, reject) {
29800
29806
  _this.downloader.downloadBinary(url, resolve, function (status, responseText) {
29801
- reject("Couldn't load bins ".concat(url, ": status ").concat(status, ", ").concat(responseText));
29807
+ reject("Couldn't load bins ".concat(JSON.stringify(url), ": status ").concat(status, ", ").concat(responseText));
29802
29808
  });
29803
29809
  })];
29804
29810
  });
@@ -31144,7 +31150,10 @@ var Ticker = /** @class */ (function () {
31144
31150
  };
31145
31151
  Ticker.prototype.setFPS = function (fps) {
31146
31152
  this.targetFPS = clamp$1(fps, 1, 120);
31147
- this.interval = Math.floor(1000 / fps) - 1;
31153
+ // 注意:-2 的原因是保证帧率稳定
31154
+ // interval 在 fps 为 60 的时候设成 15 累计误差会很大,设成 14 较稳定
31155
+ // requestanimationFrame 在不同的刷新率下时间间隔不一样,120hz 的误差在 8 以内,60hz 的误差在 16 以内
31156
+ this.interval = Math.floor(1000 / fps) - 2;
31148
31157
  };
31149
31158
  /**
31150
31159
  * 获取定时器暂停标志位
@@ -35150,22 +35159,23 @@ var GLRenderer = /** @class */ (function (_super) {
35150
35159
  });
35151
35160
  Object.defineProperty(GLRenderer.prototype, "height", {
35152
35161
  get: function () {
35153
- var _a;
35154
- return ((_a = this.glRenderer) === null || _a === void 0 ? void 0 : _a.height) || 0;
35162
+ var _a, _b;
35163
+ return (_b = (_a = this.glRenderer) === null || _a === void 0 ? void 0 : _a.height) !== null && _b !== void 0 ? _b : 0;
35155
35164
  },
35156
35165
  enumerable: false,
35157
35166
  configurable: true
35158
35167
  });
35159
35168
  Object.defineProperty(GLRenderer.prototype, "width", {
35160
35169
  get: function () {
35161
- var _a;
35162
- return ((_a = this.glRenderer) === null || _a === void 0 ? void 0 : _a.width) || 0;
35170
+ var _a, _b;
35171
+ return (_b = (_a = this.glRenderer) === null || _a === void 0 ? void 0 : _a.width) !== null && _b !== void 0 ? _b : 0;
35163
35172
  },
35164
35173
  enumerable: false,
35165
35174
  configurable: true
35166
35175
  });
35167
35176
  GLRenderer.prototype.renderRenderFrame = function (renderFrame) {
35168
35177
  var e_1, _a, e_2, _b;
35178
+ var _c, _d;
35169
35179
  var frame = renderFrame;
35170
35180
  // TODO 需要一个贴图统一初始化的管理类,避免在渲染逻辑代码中初始化。
35171
35181
  // 初始化renderframe的贴图资源
@@ -35194,9 +35204,9 @@ var GLRenderer = /** @class */ (function (_super) {
35194
35204
  for (var passes_1 = __values$1(passes), passes_1_1 = passes_1.next(); !passes_1_1.done; passes_1_1 = passes_1.next()) {
35195
35205
  var pass = passes_1_1.value;
35196
35206
  var delegate = pass.delegate;
35197
- delegate.willBeginRenderPass && (delegate === null || delegate === void 0 ? void 0 : delegate.willBeginRenderPass(pass, this.renderingData));
35207
+ (_c = delegate.willBeginRenderPass) === null || _c === void 0 ? void 0 : _c.call(delegate, pass, this.renderingData);
35198
35208
  this.renderRenderPass(pass);
35199
- delegate.didEndRenderPass && (delegate === null || delegate === void 0 ? void 0 : delegate.didEndRenderPass(pass, this.renderingData));
35209
+ (_d = delegate.didEndRenderPass) === null || _d === void 0 ? void 0 : _d.call(delegate, pass, this.renderingData);
35200
35210
  }
35201
35211
  }
35202
35212
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -35231,6 +35241,7 @@ var GLRenderer = /** @class */ (function (_super) {
35231
35241
  };
35232
35242
  GLRenderer.prototype.renderMeshes = function (meshes) {
35233
35243
  var e_3, _a;
35244
+ var _b, _c;
35234
35245
  var delegate = this.renderingData.currentPass.delegate;
35235
35246
  try {
35236
35247
  for (var meshes_1 = __values$1(meshes), meshes_1_1 = meshes_1.next(); !meshes_1_1.done; meshes_1_1 = meshes_1.next()) {
@@ -35248,9 +35259,9 @@ var GLRenderer = /** @class */ (function (_super) {
35248
35259
  }
35249
35260
  mesh.material.initialize();
35250
35261
  mesh.geometry.initialize();
35251
- delegate.willRenderMesh && delegate.willRenderMesh(mesh, this.renderingData);
35262
+ (_b = delegate.willRenderMesh) === null || _b === void 0 ? void 0 : _b.call(delegate, mesh, this.renderingData);
35252
35263
  mesh.render(this);
35253
- delegate.didiRenderMesh && delegate.didiRenderMesh(mesh, this.renderingData);
35264
+ (_c = delegate.didRenderMesh) === null || _c === void 0 ? void 0 : _c.call(delegate, mesh, this.renderingData);
35254
35265
  }
35255
35266
  }
35256
35267
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
@@ -36347,9 +36358,9 @@ Renderer.create = function (canvas, framework, renderOptions) {
36347
36358
  Engine.create = function (gl) {
36348
36359
  return new GLEngine(gl);
36349
36360
  };
36350
- var version = "1.1.1";
36361
+ var version = "1.1.3";
36351
36362
  console.info({
36352
- content: '[Galacean Effects Player] version: ' + "1.1.1",
36363
+ content: '[Galacean Effects Player] version: ' + "1.1.3",
36353
36364
  type: LOG_TYPE,
36354
36365
  });
36355
36366