Cylindrical panorama viewer - Click and drag/arrow keys to look around. - Space to render high-res image. - Click to exit high-res image. - Move mouse to the bottom of the scene to view framerate and access FOV slider. I got the idea to make this from the 360 degree image project by @awesome-llama-test: https://scratch.mit.edu/projects/572191509/ The perspective projection on the x-axis is achieved by increasing the x-distance between the pixels with the distance from the screen center (proportionally to tan(img dist)), decreasing the amount of operations that have to be performed (the image x coordinate doesn't have to be calculated using complex geometry, since it changes linearly) while still giving correct projection. An additional benefit from this is that the screen resolution is greater closer to the screen center, where our eyes will focus. The image y coordinate still has to be calculated using (relatively) expensive operations. EDIT 2024-08-29: Now x/y res ratio is better (more square). EDIT 2024-09-02: Made a tiny tiny tiny optimisation cuz I was bored.
Image: https://www.dreamstime.com/cape-cave-sunset-ice-lake-baikal-olkhon-island-cylindrical-panorama-image175287487 I used this to import the image: https://xeltalliv.github.io/ScratchTools/Img2list/#dc1