Blender Screen Space Normals to World Space Normals


I’m trying to make a material node shader wherein it is possible to apply dust onto a model by mixing the dust material and the base material based on world space normals (and all faces pointing up). But Blender’s material nodes only support the screen space normals of the object. Is there any mathematical trick from resetting the screen space normals to world space normals?

Help is appreciated in advance.


Isn’t that what the geometry node is all about?

Yes, but I can only get it to give me the camera/screen space normals. There is a Global coordinates section, but I cannot choose all faces that point upward via that. What I’m basically trying to get is a node based version of the bakable world normals. I know that the baked normals do work for the situation, but I’d like to do it in real-time if possible.