diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2023-02-17 00:34:37 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-02-17 00:34:37 +0100 |
commit | f1cda3a01667675650e985bbe6e482137c98cce4 (patch) | |
tree | c74ba5eefb5b744c10199a9cb00ea57ed7f38991 | |
parent | 2aaa6f6728f0010114ec9645e0b5d3aa767e74f7 (diff) | |
parent | 7f8fa79e9454a7b8769f9159810067141e17dbba (diff) |
Merge pull request #73465 from rsjtdrjgfuzkfg/gles3-culling
OpenGL: fix culling without depth prepass
-rw-r--r-- | drivers/gles3/rasterizer_scene_gles3.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gles3/rasterizer_scene_gles3.cpp b/drivers/gles3/rasterizer_scene_gles3.cpp index 1a18f35e64..6cc6b8224c 100644 --- a/drivers/gles3/rasterizer_scene_gles3.cpp +++ b/drivers/gles3/rasterizer_scene_gles3.cpp @@ -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); |