Merge pull request #73465 from rsjtdrjgfuzkfg/gles3-culling

OpenGL: fix culling without depth prepass
This commit is contained in:
Rémi Verschelde 2023-02-17 00:34:37 +01:00
commit f1cda3a016
No known key found for this signature in database
GPG Key ID: C3336907360768E1

View File

@ -1895,6 +1895,10 @@ void RasterizerSceneGLES3::render_scene(const Ref<RenderSceneBuffers> &p_render_
glBindFramebuffer(GL_FRAMEBUFFER, rt->fbo);
glViewport(0, 0, rb->width, rb->height);
glCullFace(GL_BACK);
glEnable(GL_CULL_FACE);
scene_state.cull_mode = GLES3::SceneShaderData::CULL_BACK;
// Do depth prepass if it's explicitly enabled
bool use_depth_prepass = config->use_depth_prepass;
@ -1910,9 +1914,6 @@ void RasterizerSceneGLES3::render_scene(const Ref<RenderSceneBuffers> &p_render_
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LEQUAL);
glDisable(GL_SCISSOR_TEST);
glCullFace(GL_BACK);
glEnable(GL_CULL_FACE);
scene_state.cull_mode = GLES3::SceneShaderData::CULL_BACK;
glColorMask(0, 0, 0, 0);
glClearDepth(1.0f);