Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New algorithm for 360° projection #10

Open
jariq opened this issue Feb 25, 2024 · 1 comment
Open

New algorithm for 360° projection #10

jariq opened this issue Feb 25, 2024 · 1 comment
Assignees

Comments

@jariq
Copy link
Owner

jariq commented Feb 25, 2024

Current implementation of SphereViewer inspired by PanoDotNet project maps the image onto a geometric mesh approximation of a sphere:

image

This approach has quite a few downsides. As described in #4, straight lines in the images can be deformed when the number of mesh fragments is too low. As described in #2, nadir and zenith is deformed when the number of mesh fragments is too low. Obviously these issues could be partially resolved by increasing the number of mesh fragments but that would decrease the performance of 360° projection at the same time 🤷🏻‍♂️

So I guess it's time to abandon the current implementation (which by the way makes it also hard to support huge panoramas in #1) and look for a better alternative.

I would like to experiment with algorithm used in pannellum which I'm using to display equirectangular images on my website and which does not seem to suffer from the issues described above.

@jariq jariq self-assigned this Feb 25, 2024
@jariq jariq pinned this issue Feb 25, 2024
@jariq
Copy link
Owner Author

jariq commented Feb 26, 2024

I just published a new experimental branch 10-new-algorithm-for-360-projection which contains new 360 viewer that runs pannellum in WebView2. I expected rather a poor performance from this kind of setup but it is surprisingly fast and smooth. Regardless I'd like to try to port pannellum (javascript + WebGL) to .NET (C# + OpenGL).

@jariq jariq unpinned this issue Mar 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant