I already know how to do a dot product between world up vector and normal vector, a tad simpler is my solution:<br><br>
vec3 up = vec3(0, 1, 0);<br>vec3 world_normal = (INV_CAMERA_MATRIX * vec4(NORMAL, 0)).xyz;<br>EMISSION = vec3(max(0, dot(world_normal, up)));
<br>But I'm not looking for this. I was looking for a calculation that assigns 0 to bottom most vertex and 1 to upper most, with all the others in between of course, so a gradient from 0 to 1 in world. I have no idea how to achieve that :D, I thought that CurveMap might help me but seems not. Anyway, thanks for the interest :)