public void BuildSphere_Test() { var center = Vector3.Zero; float radius = 2; var geo = GeometryBuilder.BuildSphere(center, radius); ObjExports.ExportMesh(geo.Positions.ToArray(), geo.Indices.ToArray(), @"D:\debug\sphere.obj"); }
public static VisualSphereObject SphereGeo(IContextState context, ElementTag tag, Data data) { var geo = GeometryBuilder.BuildSphere(data.Center, data.Radius); var geoId = context.GetGeometryPool() .AddGeometry(geo); var en = context.GetEntityManager() .CreateEntity(tag) .AddComponent(RenderableComponent.AsTriangleColored(SharpDX.Direct3D.PrimitiveTopology.TriangleStrip)) .AddComponent(TransformComponent.Identity()) .AddComponent(MaterialColorComponent.Create(data.Color)) .AddComponent(geoId) ; return(new VisualSphereObject(en.Tag)); }
public static VisualSphereObject Create(IContextState context, ElementTag elet, Data data) { var geo = GeometryBuilder.BuildSphere(data.Center, data.Radius); var geoId = context.GetGeometryPool() .AddGeometry(geo); var tag = context.GetEntityManager() .CreateEntity(elet) .AddComponent(SpherePointComponent.Create(data.Center, data.Radius)) .AddComponent(MaterialColorComponent.Create(data.Color)) .AddComponent(GeometryBoundsComponent.Create(AxisAlignedBox.FromSphere(data.Center, data.Radius))) .AddComponent(RenderableComponent.AsPoints()) .AddComponent(TransformComponent.Identity()) .Tag; return(new VisualSphereObject(tag)); }