Fix radiance for sky in GLES stereo rendering
This commit is contained in:
parent
b94eb58d35
commit
e06ac4d40c
2 changed files with 12 additions and 3 deletions
|
@ -976,10 +976,10 @@ void RasterizerSceneGLES3::_update_sky_radiance(RID p_env, const Projection &p_p
|
||||||
glDisable(GL_BLEND);
|
glDisable(GL_BLEND);
|
||||||
glDepthMask(GL_FALSE);
|
glDepthMask(GL_FALSE);
|
||||||
glDisable(GL_DEPTH_TEST);
|
glDisable(GL_DEPTH_TEST);
|
||||||
|
scene_state.current_depth_test = GLES3::SceneShaderData::DEPTH_TEST_DISABLED;
|
||||||
glDisable(GL_SCISSOR_TEST);
|
glDisable(GL_SCISSOR_TEST);
|
||||||
glCullFace(GL_BACK);
|
glDisable(GL_CULL_FACE);
|
||||||
glEnable(GL_CULL_FACE);
|
scene_state.cull_mode = GLES3::SceneShaderData::CULL_DISABLED;
|
||||||
scene_state.cull_mode = GLES3::SceneShaderData::CULL_BACK;
|
|
||||||
|
|
||||||
for (int i = 0; i < 6; i++) {
|
for (int i = 0; i < 6; i++) {
|
||||||
Basis local_view = Basis::looking_at(view_normals[i], view_up[i]);
|
Basis local_view = Basis::looking_at(view_normals[i], view_up[i]);
|
||||||
|
@ -1000,6 +1000,14 @@ void RasterizerSceneGLES3::_update_sky_radiance(RID p_env, const Projection &p_p
|
||||||
sky->reflection_dirty = false;
|
sky->reflection_dirty = false;
|
||||||
} else {
|
} else {
|
||||||
if (sky_mode == RS::SKY_MODE_INCREMENTAL && sky->processing_layer < max_processing_layer) {
|
if (sky_mode == RS::SKY_MODE_INCREMENTAL && sky->processing_layer < max_processing_layer) {
|
||||||
|
glDisable(GL_BLEND);
|
||||||
|
glDepthMask(GL_FALSE);
|
||||||
|
glDisable(GL_DEPTH_TEST);
|
||||||
|
scene_state.current_depth_test = GLES3::SceneShaderData::DEPTH_TEST_DISABLED;
|
||||||
|
glDisable(GL_SCISSOR_TEST);
|
||||||
|
glDisable(GL_CULL_FACE);
|
||||||
|
scene_state.cull_mode = GLES3::SceneShaderData::CULL_DISABLED;
|
||||||
|
|
||||||
_filter_sky_radiance(sky, sky->processing_layer);
|
_filter_sky_radiance(sky, sky->processing_layer);
|
||||||
sky->processing_layer++;
|
sky->processing_layer++;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1121,6 +1121,7 @@ void LightStorage::update_directional_shadow_atlas() {
|
||||||
|
|
||||||
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, directional_shadow.depth, 0);
|
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, directional_shadow.depth, 0);
|
||||||
}
|
}
|
||||||
|
glUseProgram(0);
|
||||||
glDepthMask(GL_TRUE);
|
glDepthMask(GL_TRUE);
|
||||||
glBindFramebuffer(GL_FRAMEBUFFER, directional_shadow.fbo);
|
glBindFramebuffer(GL_FRAMEBUFFER, directional_shadow.fbo);
|
||||||
RasterizerGLES3::clear_depth(1.0);
|
RasterizerGLES3::clear_depth(1.0);
|
||||||
|
|
Loading…
Reference in a new issue