Trying to use a cylinder camera (NOT equirectangular, which the internet sometimes mixes up).

I got as far as a cubemap render, and a GLSL shader that does the same as the projection top, set to Equirectangular.

I think from here it’s just the 3D math, but it’s eluding me. I have this is the main meat:

```
vec2 tc = vUV.st * 2.0-1.0;
// spherical coords from the pixel position
float theta = tc.x * PI;
float phi = PI_2 * tc.y;
vec3 sp = vec3(cos(phi) * cos(theta), sin(phi), cos(phi) * sin(theta));
```

Does anyone have the last piece of the puzzle please? Basically it’s preventing the vertical being “barreled” as it is in Equi.