Пример #1
0
        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);
        }
Пример #2
0
        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);
        }