Quick submesh implementation

This commit is contained in:
ackwell 2023-12-30 18:31:15 +11:00
parent 727fa3c183
commit f7a2c17415
2 changed files with 25 additions and 13 deletions

View file

@ -87,12 +87,13 @@ public sealed class ModelManager : SingleTaskQueue, IDisposable
// TODO: consider other types of mesh?
for (ushort meshOffset = 0; meshOffset < lod.MeshCount; meshOffset++)
{
var meshBuilder = MeshConverter.ToGltf(_mdl, lodIndex, (ushort)(lod.MeshIndex + meshOffset), skeleton?.Names);
var meshBuilders = MeshConverter.ToGltf(_mdl, lodIndex, (ushort)(lod.MeshIndex + meshOffset), skeleton?.Names);
// TODO: use a value from the mesh converter for this check, rather than assuming that it has joints
if (skeleton == null)
scene.AddRigidMesh(meshBuilder, Matrix4x4.Identity);
else
scene.AddSkinnedMesh(meshBuilder, Matrix4x4.Identity, skeleton?.Joints);
foreach (var meshBuilder in meshBuilders)
if (skeleton == null)
scene.AddRigidMesh(meshBuilder, Matrix4x4.Identity);
else
scene.AddSkinnedMesh(meshBuilder, Matrix4x4.Identity, skeleton?.Joints);
}
}