@galacean/engine 1.2.0-beta.5 → 1.2.0-beta.6

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
@@ -8847,6 +8847,7 @@
8847
8847
  var program = this._glProgram;
8848
8848
  var uniformInfos = this._getUniformInfos();
8849
8849
  var attributeInfos = this._getAttributeInfos();
8850
+ var basicResources = this._engine._basicResources;
8850
8851
  uniformInfos.forEach(function(param) {
8851
8852
  var name1 = param.name, size = param.size, type = param.type;
8852
8853
  var shaderUniform = new ShaderUniform(_this._engine);
@@ -8940,16 +8941,16 @@
8940
8941
  var defaultTexture;
8941
8942
  switch(type){
8942
8943
  case gl.SAMPLER_2D:
8943
- defaultTexture = _this._engine._magentaTexture2D;
8944
+ defaultTexture = basicResources.whiteTexture2D;
8944
8945
  break;
8945
8946
  case gl.SAMPLER_CUBE:
8946
- defaultTexture = _this._engine._magentaTextureCube;
8947
+ defaultTexture = basicResources.whiteTextureCube;
8947
8948
  break;
8948
8949
  case gl.UNSIGNED_INT_SAMPLER_2D:
8949
- defaultTexture = _this._engine._uintMagentaTexture2D;
8950
+ defaultTexture = basicResources.uintWhiteTexture2D;
8950
8951
  break;
8951
8952
  case gl.SAMPLER_2D_ARRAY:
8952
- defaultTexture = _this._engine._magentaTexture2DArray;
8953
+ defaultTexture = basicResources.whiteTexture2DArray;
8953
8954
  break;
8954
8955
  case gl.SAMPLER_2D_SHADOW:
8955
8956
  defaultTexture = _this._engine._depthTexture2D;
@@ -11259,14 +11260,15 @@
11259
11260
  }
11260
11261
  this._endLoop(swapFn);
11261
11262
  };
11262
- _proto.forEachAndClean = function forEachAndClean(callbackFn) {
11263
+ _proto.forEachAndClean = function forEachAndClean(callbackFn, swapFn) {
11263
11264
  this._startLoop();
11265
+ var preEnd = this.length;
11264
11266
  var elements = this._elements;
11265
- for(var i = 0, n = this.length; i < n; i++){
11267
+ for(var i = 0, n = preEnd; i < n; i++){
11266
11268
  var element = elements[i];
11267
11269
  element && callbackFn(element);
11268
11270
  }
11269
- this._endLoopAndClear();
11271
+ this._endLoopAndClean(preEnd, elements, swapFn);
11270
11272
  };
11271
11273
  _proto.sort = function sort(compareFn) {
11272
11274
  Utils._quickSort(this._elements, 0, this.length, compareFn);
@@ -11299,9 +11301,17 @@
11299
11301
  this._blankCount = 0;
11300
11302
  }
11301
11303
  };
11302
- _proto._endLoopAndClear = function _endLoopAndClear() {
11304
+ _proto._endLoopAndClean = function _endLoopAndClean(preEnd, elements, swapFn) {
11305
+ var index = 0;
11306
+ for(var i = preEnd, n = this.length; i < n; i++){
11307
+ var element = elements[i];
11308
+ if (!element) continue;
11309
+ elements[index] = element;
11310
+ swapFn(element, index);
11311
+ index++;
11312
+ }
11303
11313
  this._isLooping = false;
11304
- this.length = 0;
11314
+ this.length = index;
11305
11315
  this._blankCount = 0;
11306
11316
  };
11307
11317
  return DisorderedArray;
@@ -20636,6 +20646,26 @@
20636
20646
  this.blitMesh = this._createBlitMesh(engine, vertices);
20637
20647
  this.flipYBlitMesh = this._createBlitMesh(engine, flipYVertices);
20638
20648
  this.blitMaterial = blitMaterial;
20649
+ // Create white and magenta textures
20650
+ var whitePixel = new Uint8Array([
20651
+ 255,
20652
+ 255,
20653
+ 255,
20654
+ 255
20655
+ ]);
20656
+ this.whiteTexture2D = this._create1x1Texture(engine, 0, exports.TextureFormat.R8G8B8A8, whitePixel);
20657
+ this.whiteTextureCube = this._create1x1Texture(engine, 1, exports.TextureFormat.R8G8B8A8, whitePixel);
20658
+ var isWebGL2 = engine._hardwareRenderer.isWebGL2;
20659
+ if (isWebGL2) {
20660
+ this.whiteTexture2DArray = this._create1x1Texture(engine, 2, exports.TextureFormat.R8G8B8A8, whitePixel);
20661
+ var whitePixel32 = new Uint32Array([
20662
+ 255,
20663
+ 255,
20664
+ 255,
20665
+ 255
20666
+ ]);
20667
+ this.uintWhiteTexture2D = this._create1x1Texture(engine, 0, exports.TextureFormat.R32G32B32A32_UInt, whitePixel32);
20668
+ }
20639
20669
  };
20640
20670
  var _proto = BasicResources.prototype;
20641
20671
  _proto._createBlitMesh = function _createBlitMesh(engine, vertices) {
@@ -20648,8 +20678,63 @@
20648
20678
  mesh.addSubMesh(0, 4, exports.MeshTopology.TriangleStrip);
20649
20679
  return mesh;
20650
20680
  };
20681
+ _proto._create1x1Texture = function _create1x1Texture(engine, type, format, pixel) {
20682
+ var texture;
20683
+ switch(type){
20684
+ case 0:
20685
+ var texture2D = new Texture2D(engine, 1, 1, format, false);
20686
+ texture2D.setPixelBuffer(pixel);
20687
+ texture = texture2D;
20688
+ break;
20689
+ case 2:
20690
+ var texture2DArray = new Texture2DArray(engine, 1, 1, 1, format, false);
20691
+ texture2DArray.setPixelBuffer(0, pixel);
20692
+ texture = texture2DArray;
20693
+ break;
20694
+ case 1:
20695
+ var textureCube = new TextureCube(engine, 1, format, false);
20696
+ for(var i = 0; i < 6; i++){
20697
+ textureCube.setPixelBuffer(exports.TextureCubeFace.PositiveX + i, pixel);
20698
+ }
20699
+ texture = textureCube;
20700
+ break;
20701
+ default:
20702
+ throw "Invalid texture type";
20703
+ }
20704
+ texture.isGCIgnored = true;
20705
+ engine.resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
20706
+ var _class = function _class() {
20707
+ return ContentRestorer.call(this, texture);
20708
+ };
20709
+ _inherits$2(_class, ContentRestorer);
20710
+ var _proto = _class.prototype;
20711
+ _proto.restoreContent = function restoreContent() {
20712
+ switch(type){
20713
+ case 0:
20714
+ this.resource.setPixelBuffer(pixel);
20715
+ break;
20716
+ case 2:
20717
+ this.resource.setPixelBuffer(0, pixel);
20718
+ break;
20719
+ case 1:
20720
+ for(var i = 0; i < 6; i++){
20721
+ this.resource.setPixelBuffer(exports.TextureCubeFace.PositiveX + i, pixel);
20722
+ }
20723
+ break;
20724
+ }
20725
+ };
20726
+ return _class;
20727
+ }(ContentRestorer))());
20728
+ return texture;
20729
+ };
20651
20730
  return BasicResources;
20652
20731
  }();
20732
+ var TextureType;
20733
+ (function(TextureType) {
20734
+ TextureType[TextureType["Texture2D"] = 0] = "Texture2D";
20735
+ TextureType[TextureType["TextureCube"] = 1] = "TextureCube";
20736
+ TextureType[TextureType["Texture2DArray"] = 2] = "Texture2DArray";
20737
+ })(TextureType || (TextureType = {}));
20653
20738
  /**
20654
20739
  * @internal
20655
20740
  * Rendering context.
@@ -25099,7 +25184,6 @@
25099
25184
  _this.xrManager = new XRManager();
25100
25185
  _this.xrManager._initialize(_assert_this_initialized(_this), xrDevice);
25101
25186
  }
25102
- _this._initMagentaTextures(hardwareRenderer);
25103
25187
  if (!hardwareRenderer.canIUse(exports.GLCapabilityType.depthTexture)) {
25104
25188
  _this._macroCollection.enable(Engine._noDepthTextureMacro);
25105
25189
  } else {
@@ -25335,99 +25419,6 @@
25335
25419
  };
25336
25420
  /**
25337
25421
  * @internal
25338
- * Standalone for CanvasRenderer plugin.
25339
- */ _proto._initMagentaTextures = function _initMagentaTextures(hardwareRenderer) {
25340
- var whitePixel = new Uint8Array([
25341
- 255,
25342
- 255,
25343
- 255,
25344
- 255
25345
- ]);
25346
- var whiteTexture2D = new Texture2D(this, 1, 1, exports.TextureFormat.R8G8B8A8, false);
25347
- whiteTexture2D.setPixelBuffer(whitePixel);
25348
- whiteTexture2D.isGCIgnored = true;
25349
- var magentaPixel = new Uint8Array([
25350
- 255,
25351
- 0,
25352
- 255,
25353
- 255
25354
- ]);
25355
- var magentaTexture2D = new Texture2D(this, 1, 1, exports.TextureFormat.R8G8B8A8, false);
25356
- magentaTexture2D.setPixelBuffer(magentaPixel);
25357
- magentaTexture2D.isGCIgnored = true;
25358
- this.resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
25359
- var _class = function _class() {
25360
- return ContentRestorer.call(this, magentaTexture2D);
25361
- };
25362
- _inherits$2(_class, ContentRestorer);
25363
- var _proto = _class.prototype;
25364
- _proto.restoreContent = function restoreContent() {
25365
- this.resource.setPixelBuffer(magentaPixel);
25366
- };
25367
- return _class;
25368
- }(ContentRestorer))());
25369
- var magentaTextureCube = new TextureCube(this, 1, exports.TextureFormat.R8G8B8A8, false);
25370
- for(var i = 0; i < 6; i++){
25371
- magentaTextureCube.setPixelBuffer(exports.TextureCubeFace.PositiveX + i, magentaPixel);
25372
- }
25373
- magentaTextureCube.isGCIgnored = true;
25374
- this.resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
25375
- var _class = function _class() {
25376
- return ContentRestorer.call(this, magentaTextureCube);
25377
- };
25378
- _inherits$2(_class, ContentRestorer);
25379
- var _proto = _class.prototype;
25380
- _proto.restoreContent = function restoreContent() {
25381
- for(var i = 0; i < 6; i++){
25382
- this.resource.setPixelBuffer(exports.TextureCubeFace.PositiveX + i, magentaPixel);
25383
- }
25384
- };
25385
- return _class;
25386
- }(ContentRestorer))());
25387
- this._whiteTexture2D = whiteTexture2D;
25388
- this._magentaTexture2D = magentaTexture2D;
25389
- this._magentaTextureCube = magentaTextureCube;
25390
- if (hardwareRenderer.isWebGL2) {
25391
- var magentaPixel32 = new Uint32Array([
25392
- 255,
25393
- 0,
25394
- 255,
25395
- 255
25396
- ]);
25397
- var uintMagentaTexture2D = new Texture2D(this, 1, 1, exports.TextureFormat.R32G32B32A32_UInt, false);
25398
- uintMagentaTexture2D.setPixelBuffer(magentaPixel32);
25399
- uintMagentaTexture2D.isGCIgnored = true;
25400
- this.resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
25401
- var _class = function _class() {
25402
- return ContentRestorer.call(this, uintMagentaTexture2D);
25403
- };
25404
- _inherits$2(_class, ContentRestorer);
25405
- var _proto = _class.prototype;
25406
- _proto.restoreContent = function restoreContent() {
25407
- this.resource.setPixelBuffer(magentaPixel32);
25408
- };
25409
- return _class;
25410
- }(ContentRestorer))());
25411
- var magentaTexture2DArray = new Texture2DArray(this, 1, 1, 1, exports.TextureFormat.R8G8B8A8, false);
25412
- magentaTexture2DArray.setPixelBuffer(0, magentaPixel);
25413
- magentaTexture2DArray.isGCIgnored = true;
25414
- this.resourceManager.addContentRestorer(new /*#__PURE__*/ (function(ContentRestorer) {
25415
- var _class = function _class() {
25416
- return ContentRestorer.call(this, magentaTexture2DArray);
25417
- };
25418
- _inherits$2(_class, ContentRestorer);
25419
- var _proto = _class.prototype;
25420
- _proto.restoreContent = function restoreContent() {
25421
- this.resource.setPixelBuffer(0, magentaPixel);
25422
- };
25423
- return _class;
25424
- }(ContentRestorer))());
25425
- this._uintMagentaTexture2D = uintMagentaTexture2D;
25426
- this._magentaTexture2DArray = magentaTexture2DArray;
25427
- }
25428
- };
25429
- /**
25430
- * @internal
25431
25422
  */ _proto._pendingGC = function _pendingGC() {
25432
25423
  if (this._frameInProcess) {
25433
25424
  this._waitingGC = true;
@@ -26061,6 +26052,8 @@
26061
26052
  script._started = true;
26062
26053
  _this.removeOnStartScript(script);
26063
26054
  script.onStart();
26055
+ }, function(element, index) {
26056
+ element._onStartIndex = index;
26064
26057
  });
26065
26058
  }
26066
26059
  };
@@ -28974,7 +28967,7 @@
28974
28967
  depthOnlyPass.onConfig(camera);
28975
28968
  depthOnlyPass.onRender(context, cullingResults);
28976
28969
  } else {
28977
- camera.shaderData.setTexture(exports.Camera._cameraDepthTextureProperty, engine._whiteTexture2D);
28970
+ camera.shaderData.setTexture(exports.Camera._cameraDepthTextureProperty, engine._basicResources.whiteTexture2D);
28978
28971
  }
28979
28972
  // Check if need to create internal color texture
28980
28973
  var independentCanvasEnabled = camera.independentCanvasEnabled;
@@ -42947,7 +42940,8 @@
42947
42940
  var blendShapeWeights = entityInfo.weights || glTFMesh.weights;
42948
42941
  var materialPromises = new Array(rendererCount);
42949
42942
  for(var i = 0; i < rendererCount; i++){
42950
- materialPromises[i] = context.get(exports.GLTFParserType.Material, glTFMeshPrimitives[i].material);
42943
+ var _glTFMeshPrimitives_i_material;
42944
+ materialPromises[i] = context.get(exports.GLTFParserType.Material, (_glTFMeshPrimitives_i_material = glTFMeshPrimitives[i].material) != null ? _glTFMeshPrimitives_i_material : -1);
42951
42945
  }
42952
42946
  return Promise.all([
42953
42947
  context.get(exports.GLTFParserType.Mesh, meshID),
@@ -45092,7 +45086,7 @@
45092
45086
  ], KHR_materials_anisotropy);
45093
45087
 
45094
45088
  //@ts-ignore
45095
- var version = "1.2.0-beta.5";
45089
+ var version = "1.2.0-beta.6";
45096
45090
  console.log("Galacean engine version: " + version);
45097
45091
  for(var key in CoreObjects){
45098
45092
  Loader.registerClass(key, CoreObjects[key]);