Shader/math ref, curvilinear coords:
2D (x, y) cartesian -> polar coordinates:
> (distance ρ, angle θ);
3D (x, y, z) world -> spherical coordinates:
> (distance ρ, elevation φ, azimuth θ)
ρ = length(pos);
φ = acos(pos.z / ρ);
θ = atan2(pos.y, pos.x);
#gamedev #realtimevfx