private void drawObjects(GameTime gameTime, Objects.playerObject player) { Camera.CameraMatrices cam; // init variable // First off draw for player 1 cam = player.Camera; game.GraphicsDevice.Viewport = player.getViewport; // draw skybox fist each time SkyBox.Draw(gameTime, cam); game.GraphicsDevice.RenderState.DepthBufferEnable = true; game.GraphicsDevice.RenderState.DepthBufferWriteEnable = true; game.GraphicsDevice.RenderState.AlphaBlendEnable = false; game.GraphicsDevice.RenderState.AlphaTestEnable = false; // draw all other objects for (i = 0; i < AllObjects.Count; ++i) // if ((AllObjects.ElementAt(i).Position - cam.Position).Length() <= DETAIL_CULL_DISTANCE) AllObjects.ElementAt(i).Draw(gameTime, cam); // we have to draw the huds afterward so that in third person camera the huds will draw above the player (as the dpth buffer is removed) for (i = 0; i < AllObjects.Count; ++i) // if ((AllObjects.ElementAt(i).Position - cam.Position).Length() <= HUD_DETAIL_CULL_DISTANCE) AllObjects.ElementAt(i).drawSuroundingBox(game.sb, cam, player); //draw the players hud now (so that the target boxes wont obscure them) player.drawHud(game.sb, DynamicObjs, gameTime); //draw the sun sun.draw(Matrix.Identity, cam, game.GraphicsDevice); //TODO DEBUG: draw the paths of the AI //drawPaths(gameTime, player.Camera, new BasicEffect(game.GraphicsDevice, null), game.GraphicsDevice); }