internal void Render() { mPost.SetTargets(mGD, "SceneDepthMatNorm", "SceneDepth"); mPost.ClearTarget(mGD, "SceneDepthMatNorm", Color.White); mPost.ClearDepth(mGD, "SceneDepth"); mZoneDraw.DrawDMN(mGD, mZone.IsMaterialVisibleFromPos, mZone.GetModelTransform, RenderExternalDMN); mPost.SetTargets(mGD, "SceneColor", "SceneDepth"); mPost.ClearTarget(mGD, "SceneColor", Color.CornflowerBlue); mPost.ClearDepth(mGD, "SceneDepth"); if (mDynLights != null) { mDynLights.SetParameter(); } mShadKeeper.BatchShadowRender(mGD, mStaticMats); mZoneDraw.Draw(mGD, mShadowHelper.GetShadowCount(), mZone.IsMaterialVisibleFromPos, mZone.GetModelTransform, RenderExternal, mShadowHelper.DrawShadows, SetUpAlphaRenderTargets); mPost.SetTargets(mGD, "Outline", "null"); mPost.SetParameter("mNormalTex", "SceneDepthMatNorm"); mPost.DrawStage(mGD, "Outline"); mPost.SetTargets(mGD, "Bloom1", "null"); mPost.SetParameter("mBlurTargetTex", "SceneColor"); mPost.DrawStage(mGD, "BloomExtract"); mPost.SetTargets(mGD, "Bloom2", "null"); mPost.SetParameter("mBlurTargetTex", "Bloom1"); mPost.DrawStage(mGD, "GaussianBlurX"); mPost.SetTargets(mGD, "Bloom1", "null"); mPost.SetParameter("mBlurTargetTex", "Bloom2"); mPost.DrawStage(mGD, "GaussianBlurY"); mPost.SetTargets(mGD, "Bleach", "null"); mPost.SetParameter("mBlurTargetTex", "Bloom1"); mPost.SetParameter("mColorTex", "SceneColor"); mPost.DrawStage(mGD, "BloomCombine"); mPost.SetTargets(mGD, "BackColor", "BackDepth"); mPost.SetParameter("mBlurTargetTex", "Outline"); mPost.SetParameter("mColorTex", "Bleach"); mPost.DrawStage(mGD, "Modulate"); mST.Draw(mGD.DC, Matrix.Identity, mTextProj); }