public virtual void render()
        {
            makeCurrent();
            updateNativeOverlay();
            mSupport.nextFrame();
            if (mContext == null || mContext.getDriverInfo() == "Disposed")
            {
                return;
            }
            if (!mShareContext)
            {
                AsRenderSupport.clear(mStage.getColor(), 1.0f);
            }
            float scaleX = mViewPort.width / mStage.getStageWidth();
            float scaleY = mViewPort.height / mStage.getStageHeight();

            mContext.setDepthTest(false, AsContext3DCompareMode.ALWAYS);
            mContext.setCulling(AsContext3DTriangleFace.NONE);
            mSupport.setRenderTarget(null);
            mSupport.setOrthographicProjection(mViewPort.x < 0 ? -mViewPort.x / scaleX : 0.0f, mViewPort.y < 0 ? -mViewPort.y / scaleY : 0.0f, mViewPortClipped.width / scaleX, mViewPortClipped.height / scaleY);
            mStage.render(mSupport, 1.0f);
            mSupport.finishQuadBatch();
            if (mStatsDisplay != null)
            {
                mStatsDisplay.setDrawCount(mSupport.getDrawCount());
            }
            if (!mShareContext)
            {
                mContext.present();
            }
        }