godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
90.82k stars 21.13k forks source link

texture_array_reflections is broken on mobile (GLES3) #52220

Open AlexRazor1337 opened 3 years ago

AlexRazor1337 commented 3 years ago

Godot version

3.3.3.stable, 3.3.2.stable

System information

Linux Manjaro 21.1.0, Android 10(Xiaomi Redmi 8, arm64-v8a, OpenGL 3.0.2, confirmed to occur on other phones as well), using GLES3

Issue description

For backstory see #52064 texture_array_reflections seems broken on mobile.

On PC:

texture_array_reflections set to true on PC. ![pc](https://user-images.githubusercontent.com/26604491/131252184-1d2ef66a-2a90-4fe5-8d3e-a3e7a5aea900.png)

On mobile:

texture_array_reflections.mobile set to false, looks good. ![photo_2021-08-26_11-44-40](https://user-images.githubusercontent.com/26604491/130931697-e4b44cff-1007-4042-a6d0-1dbad7f24b35.jpg)
texture_array_reflections.mobile set to true, broken. ![photo_2021-08-26_11-45-49](https://user-images.githubusercontent.com/26604491/130931894-4d657ce5-f8be-4fc9-bfdb-4ab09dd264de.jpg)

Steps to reproduce

  1. Create new GLES3 project
  2. Import 3D model
  3. Create new spatial material with albedo texture.
  4. Apply material to the model and save it as a scene.
  5. Instantiate child node in main scene using result of previous step(model with the material).
  6. Create 3D camera in main scene.
  7. Install android build template
  8. Setup export to android.
  9. Export to android and compare result from phone with the result when running F5 or using editor.

Minimal reproduction project

Note: screens in issue description were made with normal/metallic/roughness maps and HDRI, but they are not included in project as they are not necessary to reproduce the bug. reproduce.zip

Calinou commented 3 years ago

Isn't this issue a duplicate of https://github.com/godotengine/godot/issues/52064? I don't understand how this issue and https://github.com/godotengine/godot/issues/52064 differ.

clayjohn commented 3 years ago

@Calinou #52064 is a visual bug on desktop platforms when texture_array_reflections is false.

This is an android bug where the reflections don't work when texture_array_reflections is true.