public (GeometryComponent, TransformComponent, BoundingSphereComponent) Create(GeometryModel model) { var entity = this.Entities.Create(); var geometry = new GeometryComponent(entity, model); var transform = new TransformComponent(entity, Vector3.Zero, 1.0f); var bounds = new BoundingSphereComponent(entity, BoundingSphere.CreateMerged(new BoundingSphere(Vector3.Zero, 0.0f), model.Bounds).Radius); this.Components.Add(geometry, transform, bounds); return(geometry, transform, bounds); }
public (GeometryComponent, TransformComponent, BoundingSphereComponent, InstancingComponent instances) Create(GeometryModel model, Matrix[] instances) { var entity = this.Entities.Create(); var geometry = new GeometryComponent(entity, model); var transform = new TransformComponent(entity, Vector3.Zero, 1.0f); var bounds = new BoundingSphereComponent(entity, Merge(model.Bounds, instances).Radius); var instancing = InstancingComponent.Create(entity, instances); this.Components.Add(geometry, transform, bounds, instancing); return(geometry, transform, bounds, instancing); }