public void CreateGraphicsContext(int deviceWidth, int deviceHeight)
        {
            GraphicsDeviceManager m_Manager = new GraphicsDeviceManager(game);
            m_Manager.PreferredBackBufferWidth = deviceWidth;
            m_Manager.PreferredBackBufferHeight = deviceHeight;

            if (m_XNA_GraphicsDevice != null)
                return false;
            //create an XNA graphics device
            m_XNA_GraphicsDevice = m_Manager.GraphicsDevice();

            //check if graphics device was created
            Debug.Assert(m_XNA_GraphicsDevice != null, "XNA Graphics Device did not Initialize");

            m_EffectPool = new EffectPool();
            m_BasicEffect = new BasicEffect(m_XNA_GraphicsDevice, m_EffectPool);

            //set the model matrix to identity
            m_BasicEffect.World = Matrix.Identity;
            m_BasicEffect.View = Matrix.Identity;
            m_BasicEffect.Projection = Matrix.Identity;
            m_XNA_GraphicsDevice.RenderState.DepthBufferEnable = true;
            m_XNA_GraphicsDevice.RenderState.DepthBufferWriteEnable = true;

            return true;
        }