1: private void AddWall(List<VertexPositionColor> edges, float xOffset, float zOffset, float xSize, float zSize)
2: {
3: var wall = new List<VertexPositionColor>();
4:
5: Vector3 topLeftFront = new Vector3(xOffset, this.Height, zOffset + zSize);
6: Vector3 bottomLeftFront = new Vector3(xOffset, 0.0f, zOffset + zSize);
7: Vector3 topRightFront = new Vector3(xOffset + xSize, this.Height, zOffset + zSize);
8: Vector3 bottomRightFront = new Vector3(xOffset + xSize, 0.0f, zOffset + zSize);
9: Vector3 topLeftBack = new Vector3(xOffset, this.Height, zOffset);
10: Vector3 topRightBack = new Vector3(xOffset + xSize, this.Height, zOffset);
11: Vector3 bottomLeftBack = new Vector3(xOffset, 0.0f, zOffset);
12: Vector3 bottomRightBack = new Vector3(xOffset + xSize, 0.0f, zOffset);
13:
14: Color c1 = Color.FromNonPremultiplied(200, 200, 200, 255);
15: Color c2 = Color.FromNonPremultiplied(150, 150, 150, 255);
16: Color c3 = Color.FromNonPremultiplied(100, 100, 100, 255);
17:
18: // Front face
19: wall.Add(new VertexPositionColor(topRightFront, c1));
20: wall.Add(new VertexPositionColor(bottomLeftFront, c1));
21: wall.Add(new VertexPositionColor(topLeftFront, c1));
22: wall.Add(new VertexPositionColor(topRightFront, c1));
23: wall.Add(new VertexPositionColor(bottomRightFront, c1));
24: wall.Add(new VertexPositionColor(bottomLeftFront, c1));
25:
26: // Back face
27: wall.Add(new VertexPositionColor(bottomLeftBack, c1));
28: wall.Add(new VertexPositionColor(topRightBack, c1));
29: wall.Add(new VertexPositionColor(topLeftBack, c1));
30: wall.Add(new VertexPositionColor(bottomRightBack, c1));
31: wall.Add(new VertexPositionColor(topRightBack, c1));
32: wall.Add(new VertexPositionColor(bottomLeftBack, c1));
33:
34: // Top face
35: wall.Add(new VertexPositionColor(topLeftBack, c2));
36: wall.Add(new VertexPositionColor(topRightBack, c2));
37: wall.Add(new VertexPositionColor(topLeftFront, c2));
38: wall.Add(new VertexPositionColor(topRightBack, c2));
39: wall.Add(new VertexPositionColor(topRightFront, c2));
40: wall.Add(new VertexPositionColor(topLeftFront, c2));
41:
42: // Left face
43: wall.Add(new VertexPositionColor(bottomLeftFront, c3));
44: wall.Add(new VertexPositionColor(bottomLeftBack, c3));
45: wall.Add(new VertexPositionColor(topLeftFront, c3));
46: wall.Add(new VertexPositionColor(topLeftFront, c3));
47: wall.Add(new VertexPositionColor(bottomLeftBack, c3));
48: wall.Add(new VertexPositionColor(topLeftBack, c3));
49:
50: // Right face
51: wall.Add(new VertexPositionColor(bottomRightBack, c3));
52: wall.Add(new VertexPositionColor(bottomRightFront, c3));
53: wall.Add(new VertexPositionColor(topRightFront, c3));
54: wall.Add(new VertexPositionColor(bottomRightBack, c3));
55: wall.Add(new VertexPositionColor(topRightFront, c3));
56: wall.Add(new VertexPositionColor(topRightBack, c3));
57:
58: edges.AddRange(wall);
59: }