public VolumetricRendererGame()
        {
            Debug.OnAssert += new EventHandler<DebugEventArgs>(HandleAssert);
            //Debug.BlockAfterAssert = true;

            // Set up and run initial threads.
            //mainThread = Thread.CurrentThread;
            //mainThread.Name = "Main";

            //updateLock = new object();
            //updateThread = new Thread(new ThreadStart(UpdateThread));
            //updateThread.Name = "Update";
            //updateThread.IsBackground = true;
            //updateThread.Start();

            //drawLock = new object();
            //drawThread = new Thread(new ThreadStart(DrawThread));
            //drawThread.Name = "Draw";
            //drawThread.IsBackground = true;
            //drawThread.Start();

            // Set up the game.
            updateMethod = Update_Normal;
            drawMethod = Draw_Normal;
            assertHandled = false;

            Content.RootDirectory = "Content";

            graphicsDM = new GraphicsDeviceManager(this);
            graphicsDM.PreferredBackBufferWidth = 1280;
            graphicsDM.PreferredBackBufferHeight = 960;
            graphicsDM.PreferMultiSampling = false;
            graphicsDM.SynchronizeWithVerticalRetrace = false;
            graphicsDM.IsFullScreen = false;

            input = new InputState();
            screenManager = new ScreenManager(this, input);
            Components.Add(screenManager);

            IsMouseVisible = true;
        }