public static VertexDeclaration ReadVertexDeclaration(XNAGame game, TWXmlNode node) { if (node.Value == "NULL") { return(null); } TWXmlNode elementsNode = node.FindChildNode("Elements"); VertexElement[] elements = new VertexElement[elementsNode.GetAttributeInt("count")]; TWXmlNode[] elementNodes = elementsNode.FindChildNodes("VertexElement"); if (elementNodes.Length != elements.Length) { throw new InvalidOperationException("Invalid XML format!"); } for (int i = 0; i < elementNodes.Length; i++) { TWXmlNode elementNode = elementNodes[i]; VertexElement element = new VertexElement(); element.Offset = short.Parse(elementNode.ReadChildNodeValue("Offset")); element.Stream = short.Parse(elementNode.ReadChildNodeValue("Stream")); element.UsageIndex = byte.Parse(elementNode.ReadChildNodeValue("UsageIndex")); element.VertexElementFormat = (VertexElementFormat)System.Enum.Parse(typeof(VertexElementFormat), elementNode.ReadChildNodeValue("VertexElementFormat")); element.VertexElementMethod = (VertexElementMethod)System.Enum.Parse(typeof(VertexElementMethod), elementNode.ReadChildNodeValue("VertexElementMethod")); element.VertexElementUsage = (VertexElementUsage)System.Enum.Parse(typeof(VertexElementUsage), elementNode.ReadChildNodeValue("VertexElementUsage")); elements[i] = element; } return(new VertexDeclaration(game.GraphicsDevice, elements)); }
public static void TestRunXNAGame() { XNAGame game = new XNAGame(); try { game.Run(); } finally { game.Dispose(); } }
public SpectaterCamera(XNAGame nGame) { game = nGame; game.AddGameObject(this); view = Matrix.Identity;//Matrix.CreateLookAt(new Vector3(0, 0, -4000), Vector3.Zero, Vector3.Up); projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(45.0f), 4 / 3, 1.23456f, 10000.0f); CameraUp = Vector3.Up; CameraDirection = Vector3.Forward; CameraPosition = new Vector3(0, 0, 0); UpdateCameraInfo(); }
public static VertexBuffer ReadVertexBuffer(TWXmlNode node, XNAGame game) { if (node.Value == "NULL") { return(null); } BufferUsage bufferUsage = (BufferUsage)Enum.Parse(typeof(BufferUsage), node.ReadChildNodeValue("BufferUsage")); TWXmlNode dataNode = node.FindChildNode("Data"); int length = dataNode.GetAttributeInt("length"); byte[] data = new byte[length]; data = Convert.FromBase64String(dataNode.ReadCData()); VertexBuffer vb = new VertexBuffer(game.GraphicsDevice, length, bufferUsage); vb.SetData <byte>(data); return(vb); }