Merge pull request #33792 from clayjohn/GLES3-cubemap-fix

Fix GL error by properly using float uniform
This commit is contained in:
Rémi Verschelde 2019-11-21 22:07:03 +01:00 committed by GitHub
commit c352e6f841
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 3 deletions

View file

@ -1853,7 +1853,7 @@ void RasterizerStorageGLES3::sky_set_texture(RID p_sky, RID p_panorama, int p_ra
// Very large Panoramas require way too much effort to compute irradiance so use a mipmap // Very large Panoramas require way too much effort to compute irradiance so use a mipmap
// level that corresponds to a panorama of 1024x512 // level that corresponds to a panorama of 1024x512
shaders.cubemap_filter.set_uniform(CubemapFilterShaderGLES3::SOURCE_MIP_LEVEL, MAX(Math::log(float(texture->width)) / Math::log(2.0f) - 10.0f, 0.0f)); shaders.cubemap_filter.set_uniform(CubemapFilterShaderGLES3::SOURCE_MIP_LEVEL, MAX(Math::floor(Math::log(float(texture->width)) / Math::log(2.0f)) - 10.0f, 0.0f));
for (int i = 0; i < 2; i++) { for (int i = 0; i < 2; i++) {
glViewport(0, i * size, size, size); glViewport(0, i * size, size, size);

View file

@ -35,7 +35,7 @@ uniform sampler2D source_dual_paraboloid; //texunit:0
#endif #endif
#if defined(USE_SOURCE_DUAL_PARABOLOID) || defined(COMPUTE_IRRADIANCE) #if defined(USE_SOURCE_DUAL_PARABOLOID) || defined(COMPUTE_IRRADIANCE)
uniform int source_mip_level; uniform float source_mip_level;
#endif #endif
#if !defined(USE_SOURCE_DUAL_PARABOLOID_ARRAY) && !defined(USE_SOURCE_PANORAMA) && !defined(USE_SOURCE_DUAL_PARABOLOID) #if !defined(USE_SOURCE_DUAL_PARABOLOID_ARRAY) && !defined(USE_SOURCE_PANORAMA) && !defined(USE_SOURCE_DUAL_PARABOLOID)
@ -236,7 +236,7 @@ vec4 textureDualParaboloid(vec3 normal) {
if (norm.z < 0.0) { if (norm.z < 0.0) {
norm.y = 0.5 - norm.y + 0.5; norm.y = 0.5 - norm.y + 0.5;
} }
return textureLod(source_dual_paraboloid, norm.xy, float(source_mip_level)); return textureLod(source_dual_paraboloid, norm.xy, source_mip_level);
} }
#endif #endif