private void BuildRoomGeometryBuffers() { var v = new Basic32[30]; // Floor v[0] = new Basic32(new Vector3(-3.5f, 0, -10), new Vector3(0, 1, 0), new Vector2(0, 4)); v[1] = new Basic32(new Vector3(-3.5f, 0, 0), new Vector3(0, 1, 0), new Vector2(0, 0)); v[2] = new Basic32(new Vector3(7.5f, 0, 0), new Vector3(0, 1, 0), new Vector2(4, 0)); v[3] = new Basic32(new Vector3(-3.5f, 0, -10), new Vector3(0, 1, 0), new Vector2(0, 4)); v[4] = new Basic32(new Vector3(7.5f, 0, 0), new Vector3(0, 1, 0), new Vector2(4, 0)); v[5] = new Basic32(new Vector3(7.5f, 0, -10), new Vector3(0, 1, 0), new Vector2(4, 4)); // Wall v[6] = new Basic32(new Vector3(-3.5f, 0, 0), new Vector3(0, 0, -1), new Vector2(0, 2)); v[7] = new Basic32(new Vector3(-3.5f, 4, 0), new Vector3(0, 0, -1), new Vector2(0, 0)); v[8] = new Basic32(new Vector3(-2.5f, 4, 0), new Vector3(0, 0, -1), new Vector2(0.5f, 0)); v[9] = new Basic32(new Vector3(-3.5f, 0, 0), new Vector3(0, 0, -1), new Vector2(0, 2)); v[10] = new Basic32(new Vector3(-2.5f, 4, 0), new Vector3(0, 0, -1), new Vector2(0.5f, 0)); v[11] = new Basic32(new Vector3(-2.5f, 0, 0), new Vector3(0, 0, -1), new Vector2(0.5f, 2.0f)); v[12] = new Basic32(new Vector3(2.5f, 0, 0), new Vector3(0, 0, -1), new Vector2(0, 2)); v[13] = new Basic32(new Vector3(2.5f, 4, 0), new Vector3(0, 0, -1), new Vector2(0, 0)); v[14] = new Basic32(new Vector3(7.5f, 4, 0), new Vector3(0, 0, -1), new Vector2(2, 0)); v[15] = new Basic32(new Vector3(2.5f, 0, 0), new Vector3(0, 0, -1), new Vector2(0, 2)); v[16] = new Basic32(new Vector3(7.5f, 4, 0), new Vector3(0, 0, -1), new Vector2(2, 0)); v[17] = new Basic32(new Vector3(7.5f, 0, 0), new Vector3(0, 0, -1), new Vector2(2, 2)); v[18] = new Basic32(new Vector3(-3.5f, 4.0f, 0), new Vector3(0, 0, -1), new Vector2(0, 1)); v[19] = new Basic32(new Vector3(-3.5f, 6, 0), new Vector3(0, 0, -1), new Vector2(0, 0)); v[20] = new Basic32(new Vector3(7.5f, 6, 0), new Vector3(0, 0, -1), new Vector2(6, 0)); v[21] = new Basic32(new Vector3(-3.5f, 4, 0), new Vector3(0, 0, -1), new Vector2(0, 1)); v[22] = new Basic32(new Vector3(7.5f, 6, 0), new Vector3(0, 0, -1), new Vector2(6, 0)); v[23] = new Basic32(new Vector3(7.5f, 4, 0), new Vector3(0, 0, -1), new Vector2(6, 1)); // Mirror v[24] = new Basic32(new Vector3(-2.5f, 0, 0), new Vector3(0, 0, -1), new Vector2(0, 1)); v[25] = new Basic32(new Vector3(-2.5f, 4, 0), new Vector3(0, 0, -1), new Vector2(0, 0)); v[26] = new Basic32(new Vector3(2.5f, 4, 0), new Vector3(0, 0, -1), new Vector2(1, 0)); v[27] = new Basic32(new Vector3(-2.5f, 0, 0), new Vector3(0, 0, -1), new Vector2(0, 1)); v[28] = new Basic32(new Vector3(2.5f, 4, 0), new Vector3(0, 0, -1), new Vector2(1, 0)); v[29] = new Basic32(new Vector3(2.5f, 0, 0), new Vector3(0, 0, -1), new Vector2(1, 1)); var vbd = new BufferDescription { Usage = ResourceUsage.Immutable, SizeInBytes = Basic32.Stride * 30, BindFlags = BindFlags.VertexBuffer, CpuAccessFlags = CpuAccessFlags.None, OptionFlags = ResourceOptionFlags.None, StructureByteStride = 0 }; _roomVB = new Buffer(Device, new DataStream(v.ToArray(), false, false), vbd); }
private void BuildFullScreenQuad() { var v = new Basic32[4]; // normal.X contains frustum corner array index v[0] = new Basic32(new Vector3(-1, -1, 0), new Vector3(0, 0, 0), new Vector2(0, 1)); v[1] = new Basic32(new Vector3(-1, +1, 0), new Vector3(1, 0, 0), new Vector2(0, 0)); v[2] = new Basic32(new Vector3(+1, +1, 0), new Vector3(2, 0, 0), new Vector2(1, 0)); v[3] = new Basic32(new Vector3(+1, -1, 0), new Vector3(3, 0, 0), new Vector2(1, 1)); var vbd = new BufferDescription(Basic32.Stride * 4, ResourceUsage.Immutable, BindFlags.VertexBuffer, CpuAccessFlags.None, ResourceOptionFlags.None, 0); _screenQuadVB = new Buffer(_device, new DataStream(v, false, false), vbd); var indices = new short[] { 0, 1, 2, 0, 2, 3 }; var ibd = new BufferDescription(sizeof(short) * 6, ResourceUsage.Immutable, BindFlags.IndexBuffer, CpuAccessFlags.None, ResourceOptionFlags.None, 0); _screenQuadIB = new Buffer(_device, new DataStream(indices, false, false), ibd); }
private void BuildRoomGeometryBuffers() { var v = new Basic32[30]; // Floor v[0] = new Basic32(new Vector3(-3.5f, 0, -10), new Vector3(0,1,0), new Vector2(0, 4) ); v[1] = new Basic32(new Vector3(-3.5f, 0, 0), new Vector3(0, 1, 0), new Vector2(0, 0)); v[2] = new Basic32(new Vector3(7.5f, 0, 0), new Vector3(0, 1, 0), new Vector2(4, 0)); v[3] = new Basic32(new Vector3(-3.5f, 0, -10), new Vector3(0, 1, 0), new Vector2(0, 4)); v[4] = new Basic32(new Vector3(7.5f, 0, 0), new Vector3(0, 1, 0), new Vector2(4, 0)); v[5] = new Basic32(new Vector3(7.5f, 0, -10), new Vector3(0, 1, 0), new Vector2(4, 4)); // Wall v[6] = new Basic32(new Vector3(-3.5f, 0, 0), new Vector3(0, 0, -1), new Vector2(0, 2)); v[7] = new Basic32(new Vector3(-3.5f, 4, 0), new Vector3(0, 0, -1), new Vector2(0, 0)); v[8] = new Basic32(new Vector3(-2.5f, 4, 0), new Vector3(0, 0, -1), new Vector2(0.5f, 0)); v[9] = new Basic32(new Vector3(-3.5f, 0, 0), new Vector3(0, 0, -1), new Vector2(0, 2)); v[10] = new Basic32(new Vector3(-2.5f, 4, 0), new Vector3(0, 0, -1), new Vector2(0.5f, 0)); v[11] = new Basic32(new Vector3(-2.5f, 0, 0), new Vector3(0, 0, -1), new Vector2(0.5f, 2.0f)); v[12] = new Basic32(new Vector3(2.5f, 0, 0), new Vector3(0, 0, -1), new Vector2(0, 2)); v[13] = new Basic32(new Vector3(2.5f, 4, 0), new Vector3(0, 0, -1), new Vector2(0, 0)); v[14] = new Basic32(new Vector3(7.5f, 4, 0), new Vector3(0, 0, -1), new Vector2(2, 0)); v[15] = new Basic32(new Vector3(2.5f, 0, 0), new Vector3(0, 0, -1), new Vector2(0, 2)); v[16] = new Basic32(new Vector3(7.5f, 4, 0), new Vector3(0, 0, -1), new Vector2(2, 0)); v[17] = new Basic32(new Vector3(7.5f, 0, 0), new Vector3(0, 0, -1), new Vector2(2, 2)); v[18] = new Basic32(new Vector3(-3.5f, 4.0f, 0), new Vector3(0, 0, -1), new Vector2(0, 1)); v[19] = new Basic32(new Vector3(-3.5f, 6, 0), new Vector3(0, 0, -1), new Vector2(0, 0)); v[20] = new Basic32(new Vector3(7.5f, 6, 0), new Vector3(0, 0, -1), new Vector2(6, 0)); v[21] = new Basic32(new Vector3(-3.5f, 4, 0), new Vector3(0, 0, -1), new Vector2(0, 1)); v[22] = new Basic32(new Vector3(7.5f, 6, 0), new Vector3(0, 0, -1), new Vector2(6, 0)); v[23] = new Basic32(new Vector3(7.5f, 4, 0), new Vector3(0, 0, -1), new Vector2(6, 1)); // Mirror v[24] = new Basic32(new Vector3(-2.5f, 0, 0), new Vector3(0, 0, -1), new Vector2(0, 1)); v[25] = new Basic32(new Vector3(-2.5f, 4, 0), new Vector3(0, 0, -1), new Vector2(0, 0)); v[26] = new Basic32(new Vector3(2.5f, 4, 0), new Vector3(0, 0, -1), new Vector2(1, 0)); v[27] = new Basic32(new Vector3(-2.5f, 0, 0), new Vector3(0, 0, -1), new Vector2(0, 1)); v[28] = new Basic32(new Vector3(2.5f, 4, 0), new Vector3(0, 0, -1), new Vector2(1, 0)); v[29] = new Basic32(new Vector3(2.5f, 0, 0), new Vector3(0, 0, -1), new Vector2(1, 1)); var vbd = new BufferDescription { Usage = ResourceUsage.Immutable, SizeInBytes = Basic32.Stride * 30, BindFlags = BindFlags.VertexBuffer, CpuAccessFlags = CpuAccessFlags.None, OptionFlags = ResourceOptionFlags.None, StructureByteStride = 0 }; _roomVB= new Buffer(Device, new DataStream(v.ToArray(), false, false), vbd); }