// UE
float2( (1 + atan2(vPos.x, - vPos.y) / 3.14159265) / 2,
acos(vPos.z) / 3.14159265
);
// GL
const vec2 invAtan = vec2(0.1591, 0.3183);
vec2 SampleSphericalMap(vec3 v) // 用世界坐标采HDR投影图
{
vec2 uv = vec2(atan(v.z, v.x), asin(v.y));
uv *= invAtan;
uv += 0.5;
return uv;
}