I am working on a custom shader, and I need to define a varying vec3 that represents the world position of each vertex without factoring in the world translation or world rotation (so I only want to know the world scale of the model in the .vert shader), but I am having trouble figuring out how to get this value.

A bit more info on what exactly I need to do this for:

I need this vec3 in order to generate a 3D noise value - and I cannot use the vertex coordinates once they have been fully transformed into world sapce, otherwise the return value of the noise equation fluctuates for every pixel as the model is translated or rotated with java code. I also cannot use the modelSpacePos before applying the WorldTransformMatrix, because many of my models using this shader were created by different artists at different scales in blender, and thus the Identity scale of each mesh varies, which also leads to inconsistent visual appearances between different models using the shader.