DarkerNodes icon indicating copy to clipboard operation
DarkerNodes copied to clipboard

Issue with shaders compilation for Buttons / Some Editor Buttons are invisible (max/min/Close...)

Open LaurentOngaro opened this issue 3 years ago • 4 comments

Hi, When I activate Darker Nodes, the Minimize/Maximize/Close buttons of the editor are present (I can click on them) but invisible (probably missing textures).

missingButtons

My system is: Manjaro Linux Up to date with Gnome 40.4 desktop. Unreal Engine 4.25 compiled from sources

I see the some "compile shader" errors in the startup console of the engine. This is a part of that log:

[2021.10.01-14.09.21:701][ 0]LogShaderCompilers: Warning: Failed to compile Material /DarkerNodes/Materials/Button.Button for platform SF_VULKAN_SM5, Default Material will be used in game. [2021.10.01-14.09.21:701][ 0]LogShaderCompilers: Display: Can't map virtual shader source path "/DarkerNodes/Button.usf". Directory mappings are: /Engine -> /mnt/R/UnrealEngine/4.25/Engine/Shaders /Plugin/FX/Niagara -> /mnt/R/UnrealEngine/4.25/Engine/Plugins/FX/Niagara/Shaders [2021.10.01-14.09.21:701][ 0]LogShaderCompilers: Display: /Engine/Generated/Material.ush(1853): error: Can't open include file "/DarkerNodes/Button.usf" #include "/DarkerNodes/Button.usf" from /Engine/Private/TranslucentShadowDepthShaders.usf: 8: #include "/Engine/Generated/Material.ush" [2021.10.01-14.09.21:702][ 0]LogShaderCompilers: Display: 1 err0r in preprocessor. [2021.10.01-14.09.21:702][ 0]LogShaderCompilers: Display: /Engine/Generated/Material.ush(1853): error: Can't open include file "/DarkerNodes/Button.usf" #include "/DarkerNodes/Button.usf" from /Engine/Private/BasePassPixelShader.usf: 28: #include "/Engine/Generated/Material.ush" [2021.10.01-14.09.21:702][ 0]LogShaderCompilers: Display: /Engine/Generated/Material.ush(1853): error: Can't open include file "/DarkerNodes/Button.usf" #include "/DarkerNodes/Button.usf" from /Engine/Private/BasePassVertexCommon.ush: 15: #include "/Engine/Generated/Material.ush" from /Engine/Private/BasePassVertexShader.usf: 7: #include "BasePassVertexCommon.ush" [2021.10.01-14.09.21:702][ 0]LogShaderCompilers: Display: /Engine/Generated/Material.ush(1853): error: Can't open include file "/DarkerNodes/Button.usf" #include "/DarkerNodes/Button.usf" from /Engine/Private/SlateShaderCommon.ush: 4: #include "/Engine/Generated/Material.ush" from /Engine/Private/SlateVertexShader.usf: 5: #include "SlateShaderCommon.ush" [2021.10.01-14.09.21:702][ 0]LogShaderCompilers: Display: /Engine/Generated/Material.ush(1853): error: Can't open include file "/DarkerNodes/Button.usf" #include "/DarkerNodes/Button.usf" from /Engine/Private/SlateShaderCommon.ush: 4: #include "/Engine/Generated/Material.ush" from /Engine/Private/SlateElementPixelShader.usf: 6: #include "SlateShaderCommon.ush" [2021.10.01-14.09.21:702][ 0]LogShaderCompilers: Warning: Failed to compile Material /DarkerNodes/Materials/ButtonCut.ButtonCut for platform SF_VULKAN_SM5, Default Material will be used in game. [2021.10.01-14.09.21:702][ 0]LogShaderCompilers: Display: Can't map virtual shader source path "/DarkerNodes/ButtonCut.usf". Directory mappings are: /Engine -> /mnt/R/UnrealEngine/4.25/Engine/Shaders /Plugin/FX/Niagara -> /mnt/R/UnrealEngine/4.25/Engine/Plugins/FX/Niagara/Shaders [2021.10.01-14.09.21:702][ 0]LogShaderCompilers: Display: /Engine/Generated/Material.ush(1853): error: Can't open include file "/DarkerNodes/ButtonCut.usf" #include "/DarkerNodes/ButtonCut.usf" from /Engine/Private/TranslucentShadowDepthShaders.usf: 8: #include "/Engine/Generated/Material.ush" [2021.10.01-14.09.21:702][ 0]LogShaderCompilers: Display: 1 err0r in preprocessor. [2021.10.01-14.09.21:702][ 0]LogShaderCompilers: Display: /Engine/Generated/Material.ush(1853): error: Can't open include file "/DarkerNodes/ButtonCut.usf" #include "/DarkerNodes/ButtonCut.usf" from /Engine/Private/SlateShaderCommon.ush: 4: #include "/Engine/Generated/Material.ush" from /Engine/Private/SlateElementPixelShader.usf: 6: #include "SlateShaderCommon.ush" [2021.10.01-14.09.21:702][ 0]LogShaderCompilers: Display: /Engine/Generated/Material.ush(1853): error: Can't open include file "/DarkerNodes/ButtonCut.usf" #include "/DarkerNodes/ButtonCut.usf" from /Engine/Private/BasePassVertexCommon.ush: 15: #include "/Engine/Generated/Material.ush" from /Engine/Private/BasePassVertexShader.usf: 7: #include "BasePassVertexCommon.ush" [2021.10.01-14.09.21:702][ 0]LogShaderCompilers: Display: /Engine/Generated/Material.ush(1853): error: Can't open include file "/DarkerNodes/ButtonCut.usf" #include "/DarkerNodes/ButtonCut.usf" from /Engine/Private/BasePassPixelShader.usf: 28: #include "/Engine/Generated/Material.ush" [2021.10.01-14.09.21:702][ 0]LogShaderCompilers: Display: /Engine/Generated/Material.ush(1853): error: Can't open include file "/DarkerNodes/ButtonCut.usf" #include "/DarkerNodes/ButtonCut.usf" from /Engine/Private/SlateShaderCommon.ush: 4: #include "/Engine/Generated/Material.ush" from /Engine/Private/SlateVertexShader.usf: 5: #include "SlateShaderCommon.ush" [2021.10.01-14.09.21:702][ 0]LogShaderCompilers: Display: /DarkerNodes/lib/Shapes.usf(12): error: syntax error, unexpected STATIC [2021.10.01-14.09.21:702][ 0]LogShaderCompilers: Warning: Failed to compile Material /DarkerNodes/Materials/Box.Box for platform SF_VULKAN_SM5, Default Material will be used in game. [2021.10.01-14.09.21:702][ 0]LogShaderCompilers: Display: /DarkerNodes/lib/Shapes.usf(12): error: syntax error, unexpected STATIC [2021.10.01-14.09.21:702][ 0]LogShaderCompilers: Warning: Failed to compile Material /DarkerNodes/Materials/HeaderBox.HeaderBox for platform SF_VULKAN_SM5, Default Material will be used in game. [2021.10.01-14.09.21:702][ 0]LogShaderCompilers: Display: /DarkerNodes/lib/Shapes.usf(12): error: syntax error, unexpected STATIC [2021.10.01-14.09.21:702][ 0]LogShaderCompilers: Warning: Failed to compile Material /DarkerNodes/Materials/Panel.Panel for platform SF_VULKAN_SM5, Default Material will be used in game. [2021.10.01-14.09.21:702][ 0]LogShaderCompilers: Display: /DarkerNodes/lib/Shapes.usf(12): error: syntax error, unexpected STATIC [2021.10.01-14.09.21:703][ 0]LogShaderCompilers: Warning: Failed to compile Material /DarkerNodes/Materials/CenterUVs.CenterUVs for platform SF_VULKAN_SM5, Default Material will be used in game. [2021.10.01-14.09.21:703][ 0]LogShaderCompilers: Display: /DarkerNodes/CenterUVs.usf(7): error: syntax error, unexpected STATIC

LaurentOngaro avatar Oct 01 '21 14:10 LaurentOngaro

It seems that the loading error in Buttons.usf is due to build errors in Shapes.usf. the #12 line static float IsInRectangle(float2 Location, float2 Start, float2 End) in Shapes.usf throws the following error: error: syntax error, unexpected STATIC

LaurentOngaro avatar Oct 01 '21 16:10 LaurentOngaro

This issue does not occur when using UE 4.27 built on the same system. So for me, it's a good solution: I'll upgrade the engine version I use IMO, the code you use in your struct is not compliant with the linux toolchain required for UE 4.25, but it's OK for the 4.27 toolchain.

LaurentOngaro avatar Oct 01 '21 17:10 LaurentOngaro

Wow, sorry for that, that's really weird... If you're ok to update to UE 4.27, it's perfect! If you need to stay on UE 4.25, I'll create a custom shader code for Linux user (as it works as expected on Windows). Keep me posted on!

hugoattal avatar Oct 03 '21 07:10 hugoattal

If you could find a solution for UE 4.25 it could be great, because some other plugins I use are not compatible with 4.27 till now . I think the issue is due to differences in the C++ versions (and theirs features) allowed in both versions, on linux only because the toolchain used evolves with the engine version. I can easily compile new plugin code on linux if needed. I've created a bach script for that. You can find it on my public gitlab

LaurentOngaro avatar Oct 03 '21 13:10 LaurentOngaro