Build Errors, first shader related, then render path related

New Armory user here.

I was getting errors regarding some shaders when I tried to build a scene I built with the EEVEE workflow as an Armory 3d project.

Here’s an extract from the console log:

debug\temp\cwGlass_EEVEE2_shadowmap.frag.hlsl(18,11-25): error X4000: variable ‘dotNV’ used without having been completely initialized

Compiling shader 230 of 257 (cwGlass_EEVEE2_shadowmap.frag.glsl) failed:
Shader compiler error.
(node:21948) UnhandledPromiseRejectionWarning: Shader compiler error.

I simplified the cwGlass_EEVEE2 shader so only one principled shader node fed into the output, cleaned the project, and tried again, this time, I got an error about a missing .py file from the sdk (can’t remember which one). I downloaded a fresh copy of the sdk and tried to build again after cleaning the project and now this is the error I get consistently after the shaders compile:

C:\Dev\ArmorySDK1907\ArmorySDK\iron\Sources/iron/RenderPath.hx:374: characters 36-42 : Type not found : Object
D:\GTBHq_Rec_BlenderProject\Sources/Main.hx:3: lines 3-23 : Defined in this class
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/RenderPathForward.hx:51: characters 4-19 : iron.RenderPath has no field loadShader
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/RenderPathForward.hx:57: characters 4-26 : iron.RenderPath has no field createDepthBuffer
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/RenderPathForward.hx:67: characters 4-27 : iron.RenderPath has no field createRenderTarget (Suggestion: depthToRenderTarget)
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/RenderPathForward.hx:84: characters 5-20 : iron.RenderPath has no field loadShader
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/RenderPathForward.hx:102: characters 5-28 : iron.RenderPath has no field createRenderTarget (Suggestion: depthToRenderTarget)
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/Inc.hx:170: characters 3-25 : iron.RenderPath has no field createDepthBuffer
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/Inc.hx:180: characters 3-26 : iron.RenderPath has no field createRenderTarget (Suggestion: depthToRenderTarget)
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/Inc.hx:190: characters 3-26 : iron.RenderPath has no field createRenderTarget (Suggestion: depthToRenderTarget)
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/Inc.hx:192: characters 3-18 : iron.RenderPath has no field loadShader
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/RenderPathForward.hx:135: characters 4-27 : iron.RenderPath has no field createRenderTarget (Suggestion: depthToRenderTarget)
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/RenderPathForward.hx:145: characters 4-27 : iron.RenderPath has no field createRenderTarget (Suggestion: depthToRenderTarget)
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/RenderPathForward.hx:150: characters 4-19 : iron.RenderPath has no field loadShader
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/RenderPathForward.hx:151: characters 4-19 : iron.RenderPath has no field loadShader
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/RenderPathForward.hx:152: characters 4-19 : iron.RenderPath has no field loadShader
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/Inc.hx:79: characters 10-33 : iron.RenderPath has no field createRenderTarget (Suggestion: depthToRenderTarget)
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/Inc.hx:94: characters 10-33 : iron.RenderPath has no field createRenderTarget (Suggestion: depthToRenderTarget)
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/Inc.hx:46: characters 4-19 : iron.RenderPath has no field bindTarget
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/Inc.hx:51: characters 4-19 : iron.RenderPath has no field bindTarget
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/Inc.hx:55: characters 4-19 : iron.RenderPath has no field bindTarget
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/Inc.hx:216: characters 3-18 : iron.RenderPath has no field bindTarget
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/Inc.hx:217: characters 3-18 : iron.RenderPath has no field bindTarget
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/Inc.hx:218: characters 3-18 : iron.RenderPath has no field drawShader (Suggestion: drawOrder)
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/RenderPathForward.hx:488: characters 5-20 : iron.RenderPath has no field bindTarget
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/RenderPathForward.hx:489: characters 5-20 : iron.RenderPath has no field drawShader (Suggestion: drawOrder)
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/RenderPathForward.hx:502: characters 5-20 : iron.RenderPath has no field bindTarget
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/RenderPathForward.hx:503: characters 5-20 : iron.RenderPath has no field drawShader (Suggestion: drawOrder)
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/RenderPathForward.hx:507: characters 5-20 : iron.RenderPath has no field bindTarget
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/RenderPathForward.hx:508: characters 5-20 : iron.RenderPath has no field drawShader (Suggestion: drawOrder)
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/RenderPathForward.hx:511: characters 5-20 : iron.RenderPath has no field bindTarget
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/RenderPathForward.hx:512: characters 5-20 : iron.RenderPath has no field bindTarget
C:\Dev\ArmorySDK1907\ArmorySDK\armory\Sources/armory/renderpath/RenderPathForward.hx:513: characters 5-20 : iron.RenderPath has no field drawShader (Suggestion: drawOrder)
C:\Dev\ArmorySDK1907\ArmorySDK\iron\Sources/iron/data/Data.hx:71: characters 34-58 : iron.RenderPath has no field unload
Build failed, check console

Please what do I need to do to fix this? What steps do I need to take when building a blender scene with EEVEE intended for Armory to prevent the sort of shader compiling issues that started this?

The scene giving issues is for an architectural visualization so there are lots of objects and shaders and light probes in the scene. I have no issues compiling and running a separate simple scene with much fewer objects and no custom shaders.

Any tips would be appreciated.

Bumping this in case anyone can help with debugging this. It’s either I’ve done something particularly silly or this is just not a common issue, because searching about this kind of error brings me back to my own posts!:man_facepalming:t5:

I’m not sure what would be causing your issue exactly, but

light probes support for Armory is yet to be added, so maybe that’s causing the issue.

If that’s not the issue, one thing I do sometimes that worked for me to find what is causing the problem is create a new file and append bit by bit (objects then materials then lights, etc) and create a build each time.

Hope that helps.

Thanks, I’m tring this out, will update on the outcome.

Just quick shout out that your tips helped. I appended everything apart from the light probes and irradiance volumes into a new file and the project compiled afterwards. Hopefully support for light probes and irradiance volumes would come through soon. Many thanks.

1 Like