An open API service indexing awesome lists of open source software.

https://github.com/dynobo/sphereview

Image viewer for 360° equirectangular photospheres and panoramas.
https://github.com/dynobo/sphereview

3d-viewer application image-viewer panorama photosphere

Last synced: 6 months ago
JSON representation

Image viewer for 360° equirectangular photospheres and panoramas.

Awesome Lists containing this project

README

          


SphereView


Image viewer for 360° equirectangular photospheres and panoramas.


CI/CD
CodeQL
GitHub
Flathub


Links: Source Code |
Releases |
Changelog



This my very first Rust Application. It stands on the shoulders of the fabulous JavaScript library [Photo Sphere Viewer](https://photo-sphere-viewer.js.org/) which deserves all credits for the image rendering and controls. SphereView just wraps it in a GTK interface to provide a desktop integration.

## Installation

You can install stable builds of SphereView from [Flathub](https://flathub.org) by using this command:

```sh
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub io.github.dynobo.sphereview
```

## Features

- View panoramas and photospheres interactively
- Lean interface with minimal features
- 100% offline, no telemetry
- Supports Equirectanglar projection (e.g. used by Google Camera)
- Supports formats like JPEG, PNG, WEBP

## Screencast


Screencast of SphereView in action

## Development

```sh
# Install dependencies (Debian/Ubuntu)
sudo apt install -y \
rustup \
nodejs npm \
libgtk-4-dev \
libadwaita-1-dev \
libglib2.0-dev \
libwebkitgtk-6.0-dev \
blueprint-compiler

# Clone repo
git clone https://github.com/dynobo/sphereview.git

# Change into directory with html/js
cd sphereview/resources/photosphereviewer

# Install node.js dependencies
npm install

# Change back to repository root
cd ../..

# Install rust dependencies and run application
cargo run
```

For debugging the viewer logic in the browser:

```sh
cp resources/assets/demo.webp resources/photosphereviewer/dist
cd resources/photosphereviewer
python -m http.server --bind 127.0.0.1 8000
xdg-open http://127.0.0.1:8000/index.html # /index.html is important!
```

## Similar projects

- [FSPViewer](https://www.fsoft.it/FSPViewer/)

## Credits

- [Photo Sphere Viewer](https://github.com/mistic100/Photo-Sphere-Viewer) - Displays 360° sphere panoramas.
- [three.js](https://github.com/mrdoob/three.js) - 3D rendering engine.
- [GTK4](https://www.gtk.org/), [libadwaita](https://github.com/GNOME/libadwaita) and their [rust](https://docs.rs/gtk4/latest/gtk4/) [bindings](https://docs.rs/libadwaita/latest/libadwaita/) - UI Framework.
- [Poly Haven](https://polyhaven.com) - CC0 Licensed 3D assets. Source of the demo image.

## Certifications

![WOMM](https://raw.githubusercontent.com/dynobo/lmdiag/master/badge.png)