public static ComplexVertex ReadComplexVertex(this BinaryReader reader) { var vertex = new ComplexVertex { position = reader.ReadFloat3(), normal = reader.ReadFloat3(), uv = reader.ReadFloat2() }; var numExtraBytes = 0; if (HasExtra(reader, 8)) { numExtraBytes = 12; } else if (HasExtra(reader, 4)) { numExtraBytes = 8; } else if (HasExtra(reader, 0)) { numExtraBytes = 4; } var extraData = reader.ReadBytes(numExtraBytes); return(vertex); }
public static void WriteComplexVertex(this StreamWriter writer, ComplexVertex vertex) { writer.WriteLine("v " + vertex.position.x + " " + vertex.position.y + " " + vertex.position.z); writer.WriteLine("vn " + vertex.normal.x + " " + vertex.normal.y + " " + vertex.normal.z); writer.WriteLine("vt " + vertex.uv.x + " " + vertex.uv.y); }