rendered paste body public static ModelObject Load(GraphicsDevice Device)
{
StreamReader reader = new StreamReader("belltower.obj");
List<VertexPositionTexture> vptVerticies = new List<VertexPositionTexture>();
List<Vector3> verticies = new List<Vector3>();
List<Vector2> uvcoords = new List<Vector2>();
while (!reader.EndOfStream)
{
string line = reader.ReadLine();
line = line.Trim();
if (line.Length < 1)
continue;
switch (line[0])
{
case 'v':
if (line[1] == 't')
{
string data = line.Substring(3);
string[] values = data.Split(' ');
Vector2 coord = new Vector2(float.Parse(values[0]), float.Parse(values[1]));
uvcoords.Add(coord);
}
else
{
string data = line.Substring(2);
string[] values = data.Split(' ');
Vector3 vert = new Vector3(float.Parse(values[0]), float.Parse(values[1]), float.Parse(values[2]));
verticies.Add(vert);
}
break;
case 'f':
string fData = line.Substring(2);
string[] fValues = fData.Split(' ');
for (int i = 0; i < fValues.Length; i++)
{
string[] index = fValues[i].Split('/');
int vIndex = int.Parse(index[0]);
int uvIndex = int.Parse(index[1]);
vptVerticies.Add(new VertexPositionTexture(verticies[vIndex - 1], uvcoords[uvcoords.Count + uvIndex]));
}
break;
}
}
}