uniform mat4 uWorld; uniform vec3 uSkydomeCenter; attribute vec2 uv0; varying vec4 vPosition; varying vec4 vUVYLength; void main(void) { gl_Position = vPosition = ftransform(); vec3 objectSpacePosition = (uWorld * vPosition).xyz - uSkydomeCenter; vUVYLength.xy = uv0; vUVYLength.z = objectSpacePosition.y; vUVYLength.w = length(objectSpacePosition); }