/// <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 FreeCamera(new Vector3(0.0f, 0.0f, 0.0f));
            camera.NearPlane = 1.0f;
            camera.FarPlane = 10000f;
            camera.Speed = 500f;
            camera.TurnSpeed = 15;
            camera.Angle = new Vector3(0.0f, 0.0f, 0.0f);

            stat = Status.Automatic;

            base.Initialize();
        }
        public SkyDome(Game game, ref FreeCamera camera)
            : base(game)
        {
            this.game = game;
            this.camera = camera;
            this.domeModel = game.Content.Load<Model>("Content/Models/skydome");
            domeEffect = game.Content.Load<Effect>("Content/Effects/Sky");

            this.day = game.Content.Load<Texture2D>("content/Textures/SkyDay");
            this.sunset = game.Content.Load<Texture2D>("content/Textures/Sunset");
            this.night = game.Content.Load<Texture2D>("content/Textures/SkyNight");

            domeEffect.CurrentTechnique = domeEffect.Techniques["SkyDome"];

            RemapModel(domeModel, domeEffect);

            realTime = false;
            
            parameters = new SkyDomeParameters();
        }