// initialize the depth buffer to depth-test the low-res particles against void SceneRenderer::renderLowResSceneDepth(const MatrixStorage& mats) { if (m_params.useDepthPrepass && glBlitFramebufferFunc) downsampleSceneDepth(mats, m_fbos->m_sceneFbo, m_fbos->m_particleFbo); if (getParticleParams()->render) renderSceneDepth(mats, m_fbos->m_particleFbo); CHECK_GL_ERROR(); }
// initialize the depth buffer to depth-test the low-res particles against void SceneRenderer::renderLowResSceneDepth() { // if the scene-resolution depth buffer can be used as a depth pre-pass // to speedup the forward shading passes, then it may make sense to // render the opaque geometry in full resolution first, and then // downsample the full-resolution depths to the particle resolution. if (m_params.useDepthPrepass) { renderSceneDepth(m_fbos->m_sceneFbo); downsampleSceneDepth(m_fbos->m_sceneFbo, m_fbos->m_particleFbo); } else { renderSceneDepth(m_fbos->m_particleFbo); } }