Merge pull request #80070 from clayjohn/GLES3-depth-prepass
Enable depth writes during shadow pass and depth pass. Disable during color pass
This commit is contained in:
@ -2171,7 +2171,9 @@ void RasterizerSceneGLES3::_render_list_template(RenderListParameters *p_params,
|
|||||||
if (scene_state.current_depth_draw != shader->depth_draw) {
|
if (scene_state.current_depth_draw != shader->depth_draw) {
|
||||||
switch (shader->depth_draw) {
|
switch (shader->depth_draw) {
|
||||||
case GLES3::SceneShaderData::DEPTH_DRAW_OPAQUE: {
|
case GLES3::SceneShaderData::DEPTH_DRAW_OPAQUE: {
|
||||||
glDepthMask(p_pass_mode == PASS_MODE_COLOR);
|
glDepthMask((p_pass_mode == PASS_MODE_COLOR && !GLES3::Config::get_singleton()->use_depth_prepass) ||
|
||||||
|
p_pass_mode == PASS_MODE_DEPTH ||
|
||||||
|
p_pass_mode == PASS_MODE_SHADOW);
|
||||||
} break;
|
} break;
|
||||||
case GLES3::SceneShaderData::DEPTH_DRAW_ALWAYS: {
|
case GLES3::SceneShaderData::DEPTH_DRAW_ALWAYS: {
|
||||||
glDepthMask(GL_TRUE);
|
glDepthMask(GL_TRUE);
|
||||||
|
|||||||
Reference in New Issue
Block a user