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(); } }
private void initializeGraphicsAPI() { mContext = mStage3D.getContext3D(); mContext.setEnableErrorChecking(mEnableErrorChecking); mPrograms = new AsDictionary(); updateViewPort(); AsGlobal.trace("[Starling] Initialization complete."); AsGlobal.trace("[Starling] Display Driver:", mContext.getDriverInfo()); dispatchEventWith(starling.events.Event.CONTEXT3D_CREATE, false, mContext); }