Changeset View
Changeset View
Standalone View
Standalone View
source/renderer/Renderer.cpp
Show First 20 Lines • Show All 1,358 Lines • ▼ Show 20 Lines | void CRenderer::RenderSubmissions(const CBoundingBoxAligned& waterScissor) | ||||
// render other debug-related overlays before water (so they can be seen when underwater) | // render other debug-related overlays before water (so they can be seen when underwater) | ||||
m->overlayRenderer.RenderOverlaysBeforeWater(); | m->overlayRenderer.RenderOverlaysBeforeWater(); | ||||
ogl_WarnIfError(); | ogl_WarnIfError(); | ||||
RenderModels(context, cullGroup); | RenderModels(context, cullGroup); | ||||
ogl_WarnIfError(); | ogl_WarnIfError(); | ||||
// We need to resolve the MSAA framebuffer before the transparent pass to | |||||
// make it cheaper. Because most of transparent models have transparent | |||||
// or semi-transparent edges. | |||||
if (g_RenderingOptions.GetPostProc() && g_Renderer.GetPostprocManager().IsMultisampleEnabled()) | |||||
g_Renderer.GetPostprocManager().ResolveMultisampleFramebuffer(); | |||||
// render water | // render water | ||||
if (m_WaterManager->m_RenderWater && g_Game && waterScissor.GetVolume() > 0) | if (m_WaterManager->m_RenderWater && g_Game && waterScissor.GetVolume() > 0) | ||||
{ | { | ||||
// render transparent stuff, but only the solid parts that can occlude block water | // render transparent stuff, but only the solid parts that can occlude block water | ||||
RenderTransparentModels(context, cullGroup, TRANSPARENT_OPAQUE, false); | RenderTransparentModels(context, cullGroup, TRANSPARENT_OPAQUE, false); | ||||
ogl_WarnIfError(); | ogl_WarnIfError(); | ||||
m->terrainRenderer.RenderWater(context, cullGroup, &m->shadow); | m->terrainRenderer.RenderWater(context, cullGroup, &m->shadow); | ||||
▲ Show 20 Lines • Show All 595 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator