public Model(Mesh[] meshes, Matrix4 state = default, RenderFlags renderFlags = RenderFlags.Solid) { Meshes.AddRange(meshes); State = state == default ? Matrix4.Identity : state; RenderFlags = renderFlags; }
public Model(IModelParser modelParser) { Name = modelParser.ModelName; Materials.AddRange(modelParser.Materials); Meshes.AddRange(modelParser.Meshes); SubMeshes.AddRange(modelParser.SubMeshes); Root.Nodes.AddRange(modelParser.Groups); Root.Name = modelParser.ModelName; }
// Generate a mesh buffer public void GenerateMeshBuffer(NVRNode node) { node.FirstMesh = Meshes.Count; node.MeshCount = node.Meshes.Count; if (node.Children.Count == 0) { Meshes.AddRange(node.Meshes); } else { foreach (NVRNode child in node.Children) { GenerateMeshBuffer(child); } } }