setup() {

		const dir = this.dirNode;

		const u = dir.z.atan( dir.x ).mul( 1 / ( Math.PI * 2 ) ).add( 0.5 );
		const v = dir.y.clamp( -1, 1.0 ).asin().mul( 1 / Math.PI ).add( 0.5 );

		return vec2( u, v );

	}
A direction vector for sampling why is by default `positionWorldDirection`.

@type {Node<vec3>}