private void DrawModel(Vehicle vehicle) { Model vModel = vehicle.GetModel(); Texture2D vTex = vehicle.GetTexture(); Vector3 vPos = vehicle.GetPosition(); Quaternion vRot = vehicle.GetRotation(); Matrix worldMatrix = Matrix.CreateScale(0.05f, 0.05f, 0.05f) * Matrix.CreateRotationY(MathHelper.Pi) * Matrix.CreateFromQuaternion(vRot) * Matrix.CreateTranslation(vPos); Matrix[] xwingTransforms = new Matrix[vModel.Bones.Count]; vModel.CopyAbsoluteBoneTransformsTo(xwingTransforms); foreach (ModelMesh mesh in vModel.Meshes) { foreach (Effect currentEffect in mesh.Effects) { currentEffect.CurrentTechnique = currentEffect.Techniques["Textured"]; currentEffect.Parameters["World"].SetValue(xwingTransforms[mesh.ParentBone.Index] * worldMatrix); currentEffect.Parameters["View"].SetValue(viewMatrix); currentEffect.Parameters["Projection"].SetValue(projectionMatrix); currentEffect.Parameters["EnableLighting"].SetValue(true); currentEffect.Parameters["LightDirection"].SetValue(lightDirection); currentEffect.Parameters["Ambient"].SetValue(0.5f); currentEffect.Parameters["xTexture"].SetValue(vTex); } mesh.Draw(); } }