Fix shadow mapping with RGBA textures on html
This commit is contained in:
parent
29990d0b1e
commit
6ec7686a0c
2 changed files with 6 additions and 2 deletions
|
@ -131,7 +131,7 @@ void RasterizerSceneGLES2::shadow_atlas_set_size(RID p_atlas, int p_size) {
|
|||
|
||||
//maximum compatibility, renderbuffer and RGBA shadow
|
||||
glGenRenderbuffers(1, &shadow_atlas->depth);
|
||||
glBindRenderbuffer(GL_RENDERBUFFER, directional_shadow.depth);
|
||||
glBindRenderbuffer(GL_RENDERBUFFER, shadow_atlas->depth);
|
||||
glRenderbufferStorage(GL_RENDERBUFFER, storage->config.depth_internalformat, shadow_atlas->size, shadow_atlas->size);
|
||||
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, shadow_atlas->depth);
|
||||
|
||||
|
@ -3769,6 +3769,10 @@ void RasterizerSceneGLES2::render_shadow(RID p_light, RID p_shadow_atlas, int p_
|
|||
glEnable(GL_SCISSOR_TEST);
|
||||
glClearDepth(1.0f);
|
||||
glClear(GL_DEPTH_BUFFER_BIT);
|
||||
if (storage->config.use_rgba_3d_shadows) {
|
||||
glClearColor(1.0, 1.0, 1.0, 1.0);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
}
|
||||
glDisable(GL_SCISSOR_TEST);
|
||||
|
||||
if (light->reverse_cull) {
|
||||
|
|
|
@ -5771,7 +5771,7 @@ void RasterizerStorageGLES2::initialize() {
|
|||
config.support_depth_cubemaps = true;
|
||||
#else
|
||||
config.use_rgba_2d_shadows = !(config.float_texture_supported && config.extensions.has("GL_EXT_texture_rg"));
|
||||
config.support_depth_texture = config.extensions.has("GL_OES_depth_texture");
|
||||
config.support_depth_texture = config.extensions.has("GL_OES_depth_texture") || config.extensions.has("WEBGL_depth_texture");
|
||||
config.use_rgba_3d_shadows = !config.support_depth_texture;
|
||||
config.support_depth_cubemaps = config.extensions.has("GL_OES_depth_texture_cube_map");
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue