godotengine / godot

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

SDFGI produces wildly inaccurate and extreme lighting intensities on Intel Windows drivers #86833

Open aaandreeew opened 6 months ago

aaandreeew commented 6 months ago

Tested versions

Reproducible in Godot 4.2.1 (.NET). Anecdotally this has been an issue for me since SDFGI was released, and has been present for me in every version of Godot 4 I have tried, which were previously non-.NET versions.

System information

Godot v4.2.1.stable.mono - Windows 10.0.19044 - Vulkan (Forward+) - integrated Intel(R) UHD Graphics 620 (Intel Corporation; 31.0.101.2115) - Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz (8 Threads)

Issue description

When enabling SDFGI, it doesn't appear how I expect. I am demonstrating this bug in @WickedInsignia's Godot Garden global illumination test scene, as it is a widely available benchmark with many images of how it should look.

How it should look (from Godot Garden issue linked above) image

How it looks for me GI Comparisons

You may notice a lack of directional shadows in my images. I have the DirectionalLight3D visible, so I have no idea why this is but it's not relevant to this bug report.

This type of issue is present any time I have used SDFGI, in every version of Godot 4 I have tried, including v4.2.1.

I have made slight changes to the original Godot Garden project. I added a camera and saved the main scene to view the scene at runtime. This bug was present from the moment I opened the project. I also don't think this is a result of using a project from v4.0a12 in v4.2.1. I have replicated this bug in a fresh 4.2.1 project too, and in many previous versions of Godot 4.

I have a feeling this issue is a result of me using Intel integrated graphics. I haven't been able to find this same bug reported yet, but of course I could have missed it. I'm not doing anything weird — just using SDFGI out of the box from another well-known project, and yet I have such a catastrophic result. I think the only weird thing I'm doing is using an Intel laptop with a rare issue. That said, nothing would delight me more than someone else confirming these results.

Edit: I know SDFGI is going to be replaced in 4.3, so I don't expect major effort to be invested in fixing this likely niche bug.

Steps to reproduce

  1. Download the Godot Garden project from Issue #63374 or the original Dropbox link or my personal project.
  2. Open in Godot 4.2.1 (Note: the original project is intended for Godot v4.0a12, but I don't think this is relevant as this issue persists in my own projects made in Godot 4.2.1, or any version of Godot 4 I've tried)
  3. Notice how bad it looks.

Minimal reproduction project (MRP)

Original Godot Garden project Dropbox link (for Godot v4.0a12) My specific project (slight changes mentioned above)

Calinou commented 6 months ago

I can't reproduce this on 4.3 13a0d6e9b (Linux, GeForce RTX 4090 with NVIDIA 545.29.06):

No GI

Screenshot_20240105_164931 webp

SDFGI

Screenshot_20240105_164903 webp

VoxelGI

Screenshot_20240105_164921 webp

SDFGI + VoxelGI

Screenshot_20240105_164957 webp

I've removed .godot/ from the project folder before opening the editor.

Can you try removing the .godot/ folder while the editor is closed, then reopen the project? This will force all resources to be reimported. This is sometimes needed for projects created with pre-4.0 versions (sometimes pre-4.1).

aaandreeew commented 6 months ago

Thank you for the tip. This did not fix the SDFGI bug, but it did fix the DirectionalLight3D.

image

I thought this issue might be related to #84738 Reflection Probe Too Glossy wIth Panorama Sky, as this scene is also using a PanoramaSkyMaterial. However, when I change to a procedural sky, the issue doesn't go away.

image

RBbooms commented 5 months ago

Yeah so I honestly can't say I'm helping on this subject, I can only say that I also use an intel integrated PC and have been having the exact same issues with meshes and SDFGI interactions (Godot v 4.2.1), and my only theory is that Intel has some sort of weird problem with Vulkan (Godot's rendering engine for SDFGI), and that this could be potentially a hardware bug which I'll look into at a later time.

Also, here's a screenshot of my issues so that hopefully you're sure we're having the same issue. I'm SOOOOOOO glad someone else had this bug lol.

Scene with no SDFGI (Directional light on .1 intensity and sky influence at .5) image

Scene with above settings but with SDFGI enabled image

RBbooms commented 5 months ago

Yeah so I honestly can't say I'm helping on this subject, I can only say that I also use an intel integrated PC and have been having the exact same issues with meshes and SDFGI interactions (Godot v 4.2.1), and my only theory is that Intel has some sort of weird problem with Vulkan (Godot's rendering engine for SDFGI), and that this could be potentially a hardware bug which I'll look into at a later time.

Also, here's a screenshot of my issues so that hopefully you're sure we're having the same issue. I'm SOOOOOOO glad someone else had this bug lol.

Scene with no SDFGI (Directional light on .1 intensity and sky influence at .5) image

Scene with above settings but with SDFGI enabled image

Okay, so I'm currently installing new graphics drivers for intel integrated, will update you soon!

RBbooms commented 5 months ago

Okay so sadly the update didn't fix any troubles, so I believe that sadly it is just a problem with the integrated graphics hardware on intel chips, we might need to upgrade our potatoes Andrew

RBbooms commented 5 months ago

Hey guys, me again. After some research I found that Godot v 4.2.1 and most likely all older godot 4 versions are using Vulkan 1.3, which was released 2 years ago in Q1 2022. ALL Intel integrated only support up to Vulkan v1.2, with only the newest, highest end GPU's from Intel supporting Vulkan 1.3. This is not a Godot bug but merely an oversight by us and not doing our proper research on our PC's.

Supported graphics (Source : Intel website) image

image

Sorry @aaandrewww but we might just need a computer upgrade. I'm requesting simply a feature which tells you if your PC specs are compatible with ALL of godot's 3d features (i.e. what Unreal does where it tells me that my PC doesn't support Nanite and has its features turned off). I don't know how engine programming works, and with Godot not requiring an install I don't know if it's possible, but for developer's sakes that is definitely a necessary feature.

Calinou commented 5 months ago

some research I found that Godot v 4.2.1 and most likely all older godot 4 versions are using Vulkan 1.3, which was released 2 years ago in Q1 2022.

Godot only requires Vulkan 1.0 to run Forward+/Mobile, and it aims to keep its Vulkan requirements as low as possible. We don't intend to introduce a Vulkan 1.3 requirement anytime soon for this reason, although 1.2 could end up being required in the long run on desktop (it's already ubiquitous in practice).

On the other hand, it's true that Intel stopped maintaining Vulkan drivers for your IGP a long time ago. Intel doesn't support its drivers for very long compared to AMD and especially NVIDIA.