@galacean/effects 1.4.4 → 1.4.5

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
@@ -25633,7 +25633,7 @@ var Composition = /** @class */ (function () {
25633
25633
  }());
25634
25634
 
25635
25635
  /**
25636
- * Engine 基类,负责维护所有 GPU 资源的销毁
25636
+ * Engine 基类,负责维护所有 GPU 资源的管理及销毁
25637
25637
  */
25638
25638
  var Engine = /** @class */ (function () {
25639
25639
  function Engine() {
@@ -25643,6 +25643,10 @@ var Engine = /** @class */ (function () {
25643
25643
  this.geometries = [];
25644
25644
  this.meshes = [];
25645
25645
  this.renderPasses = [];
25646
+ /**
25647
+ * 渲染过程中错误队列
25648
+ */
25649
+ this.renderErrors = new Set();
25646
25650
  }
25647
25651
  Engine.prototype.addTexture = function (tex) {
25648
25652
  if (this.destroyed) {
@@ -26486,7 +26490,6 @@ var GLRendererInternal = /** @class */ (function () {
26486
26490
  var glMaterial = material;
26487
26491
  var program = glMaterial.shader.program;
26488
26492
  if (!program) {
26489
- console.warn('Material ' + glMaterial.name + ' 的shader着色器程序未初始化。');
26490
26493
  return;
26491
26494
  }
26492
26495
  var vao = program.setupAttributes(glGeometry);
@@ -27594,29 +27597,34 @@ var GLMaterial = /** @class */ (function (_super) {
27594
27597
  };
27595
27598
  GLMaterial.prototype.use = function (renderer, globalUniforms) {
27596
27599
  var e_1, _a, e_2, _b;
27600
+ var _c;
27597
27601
  var engine = renderer.engine;
27598
27602
  var pipelineContext = engine.getGLPipelineContext();
27603
+ if (!this.shader.program) {
27604
+ (_c = this.engine) === null || _c === void 0 ? void 0 : _c.renderErrors.add(new Error('Shader program is not initialized'));
27605
+ return;
27606
+ }
27599
27607
  this.shader.program.bind();
27600
27608
  this.setupStates(pipelineContext);
27601
27609
  var name;
27602
27610
  if (globalUniforms) {
27603
27611
  try {
27604
27612
  // 加入全局 uniform 名称
27605
- for (var _c = __values$1(globalUniforms.uniforms), _d = _c.next(); !_d.done; _d = _c.next()) {
27606
- name = _d.value;
27613
+ for (var _d = __values$1(globalUniforms.uniforms), _e = _d.next(); !_e.done; _e = _d.next()) {
27614
+ name = _e.value;
27607
27615
  this.checkUniform(name);
27608
27616
  }
27609
27617
  }
27610
27618
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
27611
27619
  finally {
27612
27620
  try {
27613
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
27621
+ if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
27614
27622
  }
27615
27623
  finally { if (e_1) throw e_1.error; }
27616
27624
  }
27617
27625
  try {
27618
- for (var _e = __values$1(globalUniforms.samplers), _f = _e.next(); !_f.done; _f = _e.next()) {
27619
- name = _f.value;
27626
+ for (var _f = __values$1(globalUniforms.samplers), _g = _f.next(); !_g.done; _g = _f.next()) {
27627
+ name = _g.value;
27620
27628
  if (!this.samplers.includes(name)) {
27621
27629
  this.samplers.push(name);
27622
27630
  this.uniformDirtyFlag = true;
@@ -27626,7 +27634,7 @@ var GLMaterial = /** @class */ (function (_super) {
27626
27634
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
27627
27635
  finally {
27628
27636
  try {
27629
- if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
27637
+ if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
27630
27638
  }
27631
27639
  finally { if (e_2) throw e_2.error; }
27632
27640
  }
@@ -30543,7 +30551,14 @@ var Player = /** @class */ (function () {
30543
30551
  };
30544
30552
  Player.prototype.doTick = function (dt, forceRender) {
30545
30553
  var _this = this;
30546
- var _a, _b, _c;
30554
+ var _a, _b, _c, _d, _e;
30555
+ var renderErrors = this.renderer.engine.renderErrors;
30556
+ // TODO: 临时处理,2.0.0 做优化
30557
+ if (renderErrors.size > 0) {
30558
+ (_a = this.handleRenderError) === null || _a === void 0 ? void 0 : _a.call(this, renderErrors.values().next().value);
30559
+ // 有渲染错误时暂停播放
30560
+ (_b = this.ticker) === null || _b === void 0 ? void 0 : _b.pause();
30561
+ }
30547
30562
  dt = Math.min(dt, 33) * this.speed;
30548
30563
  var comps = this.compositions;
30549
30564
  var skipRender = false;
@@ -30566,8 +30581,8 @@ var Player = /** @class */ (function () {
30566
30581
  }
30567
30582
  this.baseCompositionIndex = this.compositions.length;
30568
30583
  if (skipRender) {
30569
- (_a = this.handleRenderError) === null || _a === void 0 ? void 0 : _a.call(this, new Error('play when texture offloaded'));
30570
- return (_b = this.ticker) === null || _b === void 0 ? void 0 : _b.pause();
30584
+ (_c = this.handleRenderError) === null || _c === void 0 ? void 0 : _c.call(this, new Error('play when texture offloaded'));
30585
+ return (_d = this.ticker) === null || _d === void 0 ? void 0 : _d.pause();
30571
30586
  }
30572
30587
  if (!this.paused || forceRender) {
30573
30588
  var level = this.gpuCapability.level;
@@ -30591,7 +30606,7 @@ var Player = /** @class */ (function () {
30591
30606
  time === null || time === void 0 ? void 0 : time.end();
30592
30607
  time === null || time === void 0 ? void 0 : time.getTime().then(function (t) { var _a; return (_a = _this.reportGPUTime) === null || _a === void 0 ? void 0 : _a.call(_this, t !== null && t !== void 0 ? t : 0); }).catch;
30593
30608
  if (this.autoPlaying) {
30594
- (_c = this.handlePlayableUpdate) === null || _c === void 0 ? void 0 : _c.call(this, {
30609
+ (_e = this.handlePlayableUpdate) === null || _e === void 0 ? void 0 : _e.call(this, {
30595
30610
  player: this,
30596
30611
  playing: true,
30597
30612
  });
@@ -30916,7 +30931,7 @@ Renderer.create = function (canvas, framework, renderOptions) {
30916
30931
  Engine.create = function (gl) {
30917
30932
  return new GLEngine(gl);
30918
30933
  };
30919
- var version = "1.4.4";
30934
+ var version = "1.4.5";
30920
30935
  logger.info('player version: ' + version);
30921
30936
 
30922
30937
  export { AbstractPlugin, AssetManager, BYTES_TYPE_MAP, BezierCurve, BezierCurvePath, COMPRESSED_TEXTURE, COPY_FRAGMENT_SHADER, COPY_MESH_SHADER_ID, COPY_VERTEX_SHADER, CalculateItem, CalculateLoader, CalculateVFXItem, Camera, CameraController, CameraVFXItem, CameraVFXItemLoader, Composition, CompositionSourceManager, DEFAULT_FONTS, DestroyOptions, Downloader, EFFECTS_COPY_MESH_NAME, EVENT_TYPE_CLICK, EVENT_TYPE_TOUCH_END, EVENT_TYPE_TOUCH_MOVE, EVENT_TYPE_TOUCH_START, Engine, EventSystem, FILTER_NAME_NONE, FilterMode, FilterSpriteVFXItem, Float16ArrayWrapper, FrameBuffer, GLEngine, GLGeometry, GLRenderer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, HELP_LINK$1 as HELP_LINK, HitTestType, InteractBehavior$1 as InteractBehavior, InteractItem, InteractLoader, InteractMesh, InteractVFXItem, Item, KTXTexture, LineSegments, LinearValue, Material, MaterialDataBlock, MaterialRenderType, Mesh, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleLoader, ParticleMesh, ParticleSystem, ParticleVFXItem, PassTextureCache, Player, PluginSystem, QCanvasViewer, QText, QTextWrapMode, RENDER_PASS_NAME_PREFIX, RENDER_PREFER_LOOKUP_TEXTURE, RUNTIME_ENV, RandomSetValue, RandomValue, RandomVectorValue, RenderBuffer, RenderFrame, RenderPass, RenderPassAttachmentStorageType, RenderPassDestroyAttachmentType, RenderPassPriorityNormal, RenderPassPriorityPostprocess, RenderPassPriorityPrepare, RenderTargetHandle, RenderTextureFormat, Renderer, SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_0, SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_SIZE_0, SEMANTIC_PRE_COLOR_ATTACHMENT_0, SEMANTIC_PRE_COLOR_ATTACHMENT_SIZE_0, SPRITE_VERTEX_STRIDE, SemanticMap, Shader, ShaderCompileResultStatus, ShaderType, SpriteItem, SpriteLoader, SpriteMesh, SpriteVFXItem, StaticValue, TEMPLATE_USE_OFFSCREEN_CANVAS, TextItem, TextLoader, TextMesh, TextVFXItem, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, Ticker, TimelineComponent, Transform, VFXItem, ValueGetter, addByOrder, addItem, addItemWithOrder, alphaFrameFrag, alphaMaskFrag, assertExist, asserts, blend, bloomMixVert, bloomThresholdVert, calculateTranslation, cameraMove_frag as cameraMoveFrag, cameraMoveVert, canvasPool, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, combineImageTemplate1, combineImageTemplate1Async, combineImageTemplate2, combineImageTemplate2Async, combineImageTemplateAsync, compatible_frag as compatibleFrag, compatible_vert as compatibleVert, convertAnchor, copyFrag, createCopyShader, createFilter, createFilterShaders, createGLContext, createKeyFrameMeta, createShaderWithMarcos, createShape, createVFXItem, createValueGetter, decimalEqual, deepClone, defaultGlobalVolume, defaultPlugins, delayFrag, deserializeMipmapTexture, disableAllPlayer, distortionFrag, distortionVert, earcut, enlargeBuffer, ensureVec3, filters, findPreviousRenderPass, gaussianDown_frag as gaussianDownFrag, gaussianDownHFrag, gaussianDownVFrag, gaussianUpFrag, generateEmptyTypedArray, generateHalfFloatTexture, getActivePlayers, getBackgroundImage, getColorFromGradientStops, getConfig, getDefaultTemplateCanvasPool, getDefaultTextureFactory, getGeometryByShape, getGeometryTriangles, getImageItemRenderInfo, getKTXTextureOptions, getKeyFrameMetaByRawValue, getParticleMeshShader, getPixelRatio, getPlayerByCanvas, getPreMultiAlpha, getStandardComposition, getStandardImage, getStandardItem, getStandardJSON, getTextureSize, glContext, gpuTimer, imageDataFromColor, imageDataFromGradient, initErrors, initGLContext, integrate, interpolateColor, isAndroid, isArray, isCanvasUsedByPlayer, isFunction, isIOS, isObject, isScene, isSceneWithOptions, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isValidFontFamily, isWebGL2, itemFrag, itemFrameFrag, itemVert, loadBinary, loadBlob, loadImage, loadMedia, loadVideo, loadWebPOptional, logger, index as math, maxSpriteMeshItemCount, maxSpriteTextureCount, modifyMaxKeyframeShader, nearestPowerOfTwo, noop, numberToFix, parsePercent$1 as parsePercent, particleFrag, particleOriginTranslateMap, particleUniformTypeMap, particleVert, pluginLoaderMap, pointOnLine, random, registerFilter, registerFilters, registerPlugin, removeItem, requestAsync, rotateVec2, screenMeshVert, setBlendMode, setConfig, setDefaultTextureFactory, setMaskMode, setMaxSpriteMeshItemCount, setRayFromCamera, setSideMode, setSpriteMeshMaxFragmentTextures, setSpriteMeshMaxItemCountByGPU, sortByOrder, index$1 as spec, spriteMeshShaderFromFilter, spriteMeshShaderFromRenderInfo, spriteMeshShaderIdFromRenderInfo, thresholdFrag, throwDestroyedError$1 as throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecAssign, vecFill, vecMulCombine, vecNormalize, version };