Open kayomn opened 3 years ago
I've already had these kind of problems, the solution I found for now: https://www.youtube.com/watch?v=H_DOVS6Wl_o
OS: Fedora 33 GPU: GeForce GTX 1080 (NVIDIA proprietary driver 460.32.03)
I can't reproduce this on 3.2.3 and 3.2
Git ecf432abc (the latter uses the new FBX importer). I made sure to remove the .import/
folder before testing with each Godot version. Even when rotating the camera and modifying blend shape values, I don't see any visual artifacts.
Maybe this only affects AMD graphics cards?
OS: Windows 10 GPU: RTX 2070S (Driver version 461.40)
I also can't reproduce this on 3.2, I tried creating a new project and import the FBX as well and the problem still does not appear no matter what combination of sliders and view angles I use.
This further suggests it might have something to do with AMD cards.
OS: Mageia 8 GPU: Intel HD 630 and AMD Radeon RX Vega M (both with Mesa 20.3.4)
I can't seem to reproduce the issue either on 3.2.3-stable or latest 3.2
with the given steps to reproduce, testing both with Intel and AMD.
I tried playing around with blend shapes in the provided Main.tscn
(where the imported model is baked in, so reimporting won't change it), and in a new scene with the imported FBX as inherited scene (thus staying affected by reimports).
It reminds me of an issue where meshes with blend shape could cause this kind of corruption when reimported (each reimport would corrupt it further), but I can't find it back.
I don't think it's related to AMD graphics cards specifically, we need to dig more to know what we're missing in the reproduction steps.
OS: Mageia 8 GPU: Intel HD 630 and AMD Radeon RX Vega M (both with Mesa 20.3.4)
I can't seem to reproduce the issue either on 3.2.3-stable or latest
3.2
with the given steps to reproduce, testing both with Intel and AMD.I tried playing around with blend shapes in the provided
Main.tscn
(where the imported model is baked in, so reimporting won't change it), and in a new scene with the imported FBX as inherited scene (thus staying affected by reimports).It reminds me of an issue where meshes with blend shape could cause this kind of corruption when reimported (each reimport would corrupt it further), but I can't find it back.
I don't think it's related to AMD graphics cards specifically, we need to dig more to know what we're missing in the reproduction steps.
Maybe, but what I find peculiar is that if I download the reproduction project and open it then the issue remains. However, everyone else that has tried opening it is having no problems. This would seem to imply there is some part of the problem that is conditional on the hardware configuration.
I see you're on Manjaro - are you on proprietary drivers or the open source ones? mhwd or whatever the switcher is...
[kayomn@desktop ~]$ mhwd -l -d
--------------------------------------------------------------------------------
> PCI Device: /devices/pci0000:00/0000:00:03.1/0000:0e:00.0/0000:0f:00.0/0000:10:00.0 (0300:1002:731f)
Display controller ATI Technologies Inc Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT]
--------------------------------------------------------------------------------
> INSTALLED:
NAME: video-linux
ATTACHED: PCI
VERSION: 2018.05.04
INFO: Standard open source drivers.
PRIORITY: 2
FREEDRIVER: true
DEPENDS: -
CONFLICTS: -
CLASSIDS: 0300 0380 0302
VENDORIDS: 1002 8086 10de
To clarify:
Rendering of the model with blend shapes was tested in UE4, Unity, and Godot on Windows as well as Godot on Linux to confirm that the issue was not related to the model itself.
This means that you have the same issue in Godot on Linux and Windows, right? Or is it Linux specific? If the latter, it could indeed be a Mesa bug which might be fixed in more recent versions (mine is the latest stable).
To clarify:
Rendering of the model with blend shapes was tested in UE4, Unity, and Godot on Windows as well as Godot on Linux to confirm that the issue was not related to the model itself.
This means that you have the same issue in Godot on Linux and Windows, right? Or is it Linux specific? If the latter, it could indeed be a Mesa bug which might be fixed in more recent versions (mine is the latest stable).
No, that was poorly worded on my part.
To clarify:
This model was tested on Windows under Unreal Engine 4 using the same graphics card as the problem hardware configuration. There were no problems.
This model was tested under Unity 2019 and Godot 3.2 on Windows using a Nvidia graphics card. There were no problems.
The outlying configuration that hasn't been tested yet with relation to Godot is the same GPU on Windows rendering the model under Godot 3.2. This one hasn't been covered yet simply because, at the time, I didn't think the hardware was playing a role in it. I will confirm whether switching to the AMD drivers for Windows resolves the issue shortly.
I will also amend my wording of the initial issue.
I can confirm that this issue is not happening on Windows.
This is running on the same hardware configuration that is problematic on Linux.
I had the same problem with my RX 5600 XT on Linux with arbitrary blend shapes in Godot in the past too.
The driver was definitely the problem, but I was unsure where precisely the issue was, rebooting for me would make the issue go away periodically.
Would it be safe to say this is a confirmed issue?
Also, if this is a driver problem, I imagine this should be taken up with the AMDGPU devs rather than Godot itself.
I can confirm this happening with NVidia card. Its rare, once in 20th game run, but happens.
@kayomn: there was an issue just half a year before yours. They also had Manjaro with AMD and video-linux. Changing driver to video-vesa fixed it for them: https://github.com/godotengine/godot/issues/41688#issuecomment-685273283
EDIT: so it really sounds like a driver issue
Godot version: 3.2.3 Stable Mono Official
OS/device including version: OS: Manjaro Linux x86_64 Kernel: 5.9.16-1-MANJARO CPU: AMD Ryzen 7 1700X (16) @ 3.400GHz GPU: AMD ATI Radeon RX 5600 XT Backend: GLES3
Issue description:
When applying blend shapes, the model accumulates graphical artefacts in the form of distended polygons reaching out from the face. As the render updates, so too does the direction of the polygons. Moving the camera around also causes the artefacts to change shape in a seemingly random manner.
The issue becomes progressively more noticeable as more blend shapes are applied.
To confirm that the model was not the problem, it has been opened in the following game engines and hardware:
Windows under Unreal Engine 4 using the same graphics card as the problem hardware configuration.
Windows under Unity 2019 and Godot 3.2 using a Nvidia graphics card.
Windows under Godot 3.2 using the same graphics card as the problem hardware configuration.
With the above configurations, no problems rendering the model occur. Additionally, the model was exported as GLB, GLTF, and FBX. I have concluded that the file format does not play a role, as they all behaved identically on the hardware tested.
The issue also persists when the game is running, which leads me to believe this is an AMD Linux-specific renderer bug or file format-wide importing bug.
This issue has also been fixed in
master
branch.Steps to reproduce: Open up the minimal reproduction project and tweak the blend shape sliders in the scene-local instance of the model within Main.tscn.
Minimal reproduction project: BlendShapes.zip