Forráskód Böngészése

Adding throw on material library if material is not baked.

clementlandrin 6 hónapja
szülő
commit
8159f2e497
1 módosított fájl, 9 hozzáadás és 2 törlés
  1. 9 2
      hrt/prefab/l3d/ModelLibrary.hx

+ 9 - 2
hrt/prefab/l3d/ModelLibrary.hx

@@ -245,8 +245,15 @@ class ModelLibraryInstance {
 				batchCache.push(batch);
 			}
 
-			batches.push( batchID );
-			materials.push( library.getBakedMat(material, cast(mesh.primitive, h3d.prim.HMDModel), mesh.name) );
+			batches.push(batchID);
+			var hmdModel = cast(mesh.primitive, h3d.prim.HMDModel);
+			var bakedMat = library.getBakedMat(material, hmdModel, mesh.name);
+			if ( bakedMat == null ) {
+				var modelPath = @:privateAccess hmdModel.lib.resource.entry.path;
+				var libPath = @:privateAccess library.getPrim().lib.resource.entry.path;
+				throw 'Can\'t emit ${modelPath} because ${material.name} was not baked in ${libPath}';
+			}
+			materials.push(bakedMat);
 		}
 
 		return @:privateAccess new MeshEmitter(this, batches, materials, mesh);