@galacean/engine-loader 1.0.0-beta.6 → 1.0.0-beta.8

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 CHANGED
@@ -502,6 +502,12 @@ function _create_for_of_iterator_helper_loose(o, allowArrayLike) {
502
502
  this.vertexBuffers = [];
503
503
  this.blendShapes = [];
504
504
  };
505
+ /**
506
+ * @internal
507
+ */ var BufferRestoreInfo = function BufferRestoreInfo(buffer, data) {
508
+ this.buffer = buffer;
509
+ this.data = data;
510
+ };
505
511
  /**
506
512
  * @internal
507
513
  */ var BufferDataRestoreInfo = function BufferDataRestoreInfo(main, typeSize, sparseCount, sparseIndices, sparseValues) {
@@ -1849,6 +1855,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
1849
1855
  vertexBuffer = new engineCore.Buffer(engine, engineCore.BufferBindFlag.VertexBuffer, vertices.byteLength, engineCore.BufferUsage.Static);
1850
1856
  vertexBuffer.setData(vertices);
1851
1857
  accessorBuffer.vertexBuffer = vertexBuffer;
1858
+ meshRestoreInfo.vertexBuffers.push(new BufferRestoreInfo(vertexBuffer, accessorBuffer.restoreInfo));
1852
1859
  }
1853
1860
  mesh.setVertexBufferBinding(vertexBuffer, stride, bufferBindIndex);
1854
1861
  vertexBindingInfos[meshId] = bufferBindIndex++;
@@ -1860,6 +1867,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
1860
1867
  vertexElement = new engineCore.VertexElement(attribute, elementOffset, elementFormat, bufferBindIndex);
1861
1868
  var vertexBuffer1 = new engineCore.Buffer(engine, engineCore.BufferBindFlag.VertexBuffer, vertices.byteLength, engineCore.BufferUsage.Static);
1862
1869
  vertexBuffer1.setData(vertices);
1870
+ meshRestoreInfo.vertexBuffers.push(new BufferRestoreInfo(vertexBuffer1, accessorBuffer.restoreInfo));
1863
1871
  mesh.setVertexBufferBinding(vertexBuffer1, accessorBuffer.stride, bufferBindIndex);
1864
1872
  vertexBindingInfos[meshId] = bufferBindIndex++;
1865
1873
  }
@@ -2032,14 +2040,7 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
2032
2040
  camera.enabled = false;
2033
2041
  };
2034
2042
  _proto._createRenderer = function _createRenderer(context, glTFNode, entity) {
2035
- var glTFResource = context.glTFResource, glTF = context.glTF;
2036
- var glTFMeshes = glTF.meshes;
2037
- var engine = glTFResource.engine, meshes = glTFResource.meshes, materials = glTFResource.materials, skins = glTFResource.skins;
2038
- var meshID = glTFNode.mesh, skinID = glTFNode.skin;
2039
- var glTFMesh = glTFMeshes[meshID];
2040
- var glTFMeshPrimitives = glTFMesh.primitives;
2041
- var blendShapeWeights = glTFNode.weights || glTFMesh.weights;
2042
- for(var i = 0; i < glTFMeshPrimitives.length; i++){
2043
+ var _loop = function(i) {
2043
2044
  var gltfPrimitive = glTFMeshPrimitives[i];
2044
2045
  var mesh = meshes[meshID][i];
2045
2046
  var renderer = void 0;
@@ -2061,8 +2062,22 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
2061
2062
  var materialIndex = gltfPrimitive.material;
2062
2063
  var material = (materials == null ? void 0 : materials[materialIndex]) || GLTFSceneParser._getDefaultMaterial(engine);
2063
2064
  renderer.setMaterial(material);
2065
+ // Enable vertex color if mesh has COLOR_0 vertex element
2066
+ mesh.vertexElements.forEach(function(element) {
2067
+ if (element.semantic === "COLOR_0") {
2068
+ renderer.enableVertexColor = true;
2069
+ }
2070
+ });
2064
2071
  GLTFParser.executeExtensionsAdditiveAndParse(gltfPrimitive.extensions, context, renderer, gltfPrimitive);
2065
- }
2072
+ };
2073
+ var glTFResource = context.glTFResource, glTF = context.glTF;
2074
+ var glTFMeshes = glTF.meshes;
2075
+ var engine = glTFResource.engine, meshes = glTFResource.meshes, materials = glTFResource.materials, skins = glTFResource.skins;
2076
+ var meshID = glTFNode.mesh, skinID = glTFNode.skin;
2077
+ var glTFMesh = glTFMeshes[meshID];
2078
+ var glTFMeshPrimitives = glTFMesh.primitives;
2079
+ var blendShapeWeights = glTFNode.weights || glTFMesh.weights;
2080
+ for(var i = 0; i < glTFMeshPrimitives.length; i++)_loop(i);
2066
2081
  };
2067
2082
  _proto._createAnimator = function _createAnimator(context) {
2068
2083
  if (!context.hasSkinned && !context.glTFResource.animations) {
@@ -4121,7 +4136,7 @@ var SpriteAtlasLoader = /*#__PURE__*/ function(Loader) {
4121
4136
  var atlasItem = atlasItems[i];
4122
4137
  if (atlasItem.img) {
4123
4138
  chainPromises.push(resourceManager.load({
4124
- url: atlasItem.img,
4139
+ url: engineCore.Utils.resolveAbsoluteUrl(item.url, atlasItem.img),
4125
4140
  type: engineCore.AssetType.Texture2D,
4126
4141
  params: {
4127
4142
  format: format,