/// <summary> /// 创建顶点对象 /// </summary> /// <param name="vertex"></param> /// <returns></returns> private static SWVertex CreateSWVertex(Vertex vertex) { if (vertex == null) { return(null); } SWVertex swVertex = new SWVertex(); double[] point = vertex.GetPoint(); if (point != null) { /* * swVertex.Point = new SWPoint() { * X = point[0], * Y = point[1], * Z = point[2] * }; * */ swVertex.X = point[0]; swVertex.Y = point[1]; swVertex.Z = point[2]; } return(swVertex); }
public static List <VertexPositionNormalTexture> ToXna(this SWVertex swv) { var verts = new List <VertexPositionNormalTexture>(); if (swv.UVs == null || swv.UVs.Count == 0) { var v = new VertexPositionNormalTexture(); v.Position = swv.Origin.ToXna(); v.TextureCoordinate = Vector2.Zero; v.Normal = swv.Normal.ToXna(); //v.Color = Color.White; verts.Add(v); return(verts); } for (var idx = 0; idx < swv.UVs.Count; idx++) { var v = new VertexPositionNormalTexture(); v.Position = swv.Origin.ToXna(); v.TextureCoordinate = new Vector2(swv.UVs[idx].U, swv.UVs[idx].V); v.Normal = swv.Normal.ToXna(); //v.Color = Color.White; verts.Add(v); } return(verts); }
public static Vertex Get(SWVertex swv) { var vertex = new Vertex(swv); if (!Enabled) { return(vertex); } return(Get(vertex)); }
public static SWVertex CreateMutable(DatLoader.Entity.SWVertex _vertex) { var vertex = new SWVertex(); vertex.NormalX = _vertex.NormalX; vertex.NormalY = _vertex.NormalY; vertex.NormalZ = _vertex.NormalZ; // ignore texture coordinate u/v vertex.X = _vertex.X; vertex.Y = _vertex.Y; vertex.Z = _vertex.Z; return(vertex); }
public static List <VertexPositionColor> ToWireframeXna(this SWVertex swv) { var verts = new List <VertexPositionColor>(); if (swv.UVs == null || swv.UVs.Count == 0) { var v = new VertexPositionColor(); v.Position = swv.Origin.ToXna(); v.Color = Color.White; verts.Add(v); return(verts); } for (var idx = 0; idx < swv.UVs.Count; idx++) { var v = new VertexPositionColor(); v.Position = swv.Origin.ToXna(); v.Color = Color.White; verts.Add(v); } return(verts); }
public static Vertex Get(SWVertex swv) { return(Get(new Vertex(swv))); }