/// <summary> /// Draws the model in 3D space using the current camera's view matrix /// and projection matrix. /// </summary> /// <param name="camera">The current camera being used</param> public void Draw(FPSCamera camera) { InputHelper input = new InputHelper(); if (input.KeyDown(Keys.F)) temp += 0.05f; model.CopyAbsoluteBoneTransformsTo(modelTransforms); foreach (ModelMesh mesh in model.Meshes) { foreach (BasicEffect effect in mesh.Effects) { effect.EnableDefaultLighting(); effect.World = worldMatrix * modelTransforms[mesh.ParentBone.Index] * Matrix.CreateTranslation(position); effect.View = camera.ViewMatrix; effect.Projection = camera.ProjectionMatrix; } mesh.Draw(); } }
/// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// This is where it can query for any required services and load any non-graphic /// related content. Calling base.Initialize will enumerate through any components /// and initialize them as well. /// </summary> protected override void Initialize() { levelData.models = new List<GameModel>(); //levelData.positions = new List<Vector3>(); camera = new FPSCamera(GraphicsDevice.Viewport); FPS_Counter_On = config.SettingGroups["DebugFeatures"].Settings["FPSCounterOn"].GetValueAsBool(); string name = config.SettingGroups["Filenames"].Settings["person"].GetValueAsString(); person1 = new DrawableModel(Content.Load<Model>(name), Matrix.Identity); name = config.SettingGroups["Filenames"].Settings["terrain"].GetValueAsString(); terrain = new Model(); terrain = Content.Load<Model>(name); sky = Content.Load<Sky>("Models\\sky1"); // Comment this to remove the framerate counter if (FPS_Counter_On == true) { Components.Add(new FrameRateCounter(this)); } base.Initialize(); }
/// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// This is where it can query for any required services and load any non-graphic /// related content. Calling base.Initialize will enumerate through any components /// and initialize them as well. /// </summary> protected override void Initialize() { camera = new FPSCamera(GraphicsDevice.Viewport); FPS_Counter_On = config.SettingGroups["DebugFeatures"].Settings["FPSCounterOn"].GetValueAsBool(); // Comment this to remove the framerate counter if (FPS_Counter_On == true) { Components.Add(new FrameRateCounter(this)); } base.Initialize(); }