playcanvas
Version:
PlayCanvas WebGL game engine
4 lines (2 loc) • 465 B
JavaScript
var sphericalPS = "\n// equirectangular helper functions\nconst PI : f32 = 3.141592653589793;\n\nfn toSpherical(dir: vec3f) -> vec2f {\n let angle_xz = select(0.0, atan2(dir.x, dir.z), any(dir.xz != vec2f(0.0)));\n return vec2f(angle_xz, asin(dir.y));\n}\n\nfn toSphericalUv(dir : vec3f) -> vec2f {\n let uv : vec2f = toSpherical(dir) / vec2f(PI * 2.0, PI) + vec2f(0.5, 0.5);\n return vec2f(uv.x, 1.0 - uv.y);\n}\n";
export { sphericalPS as default };