Wanted to see if it would be possible to free the camera to look up and down, while still keeping it only pseudo-3D and still casting only a single horizontal line of rays across the screen. Of course it wasn't initially, because the vertical symmetry was heavily relied on - only the top half of the screen being computated with the bottom half using mirrored results. But ultimately, I've found that it is absolutely still possible (albeit not necessarilly optically correct though still looks reasonably plausible), by computing where the horizon line should go when looking up or down, and computing the full height of the screen with above and below the horizon line computed with respect to where it goes. Performance dropped a bit, but not by that much really, all things considered. CUDA kernel now uses the full screen grid though, as opposed to the half that it previousely used to.