Skip to content

Poly-Haven/panoviewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

panoviewer

panoviewer is a minimal image viewer made for HDRI panoramas, but supports most image files and camera raw files too.

Controls

  • Left or middle mouse drag: pan/rotate view
  • Mouse wheel: zoom
  • Ctrl + mouse wheel: smooth exposure change
  • ,: exposure -1 stop
  • .: exposure +1 stop
  • Ctrl + ,: gamma -0.1
  • Ctrl + .: gamma +0.1
  • Move cursor to the left edge: open toolbar overlay (open/reload/view transform/file info)
  • P: Toggle 2D projection and equirectangular
  • Home: Reset zoom and pan to the image's original opened view
  • W: In 2D mode, toggle tiled wrapping on/off (both axes, default: off)
  • F: Toggle fisheye and rectilinear lens (rectilinear is default; disabled in 2D mode)
  • T: Toggle view transform
  • F2: Toggle image metadata overlay (top-left)
  • F11 or double-click: Full screen
  • Esc: Exit

For panorama images, (2:1 aspect, hdr or exr) the last view transform used persists. For all others, Standard is always loaded by default.


Development

  • Python 3.11+
  • PyQt6 windowing
  • moderngl renderer
  • OpenImageIO loading
  • rawpy camera RAW decode
  • OpenColorIO v2 display transforms

Setup

python -m venv .venv
# Windows PowerShell
.\.venv\Scripts\Activate.ps1
pip install --upgrade pip
pip install -e .[dev]

Run

panoviewer
# or open directly
panoviewer path/to/file.exr

Tests

pytest

Type checking

mypy hdri_viewer tests

Formatting

black .

OCIO configs

  • Default config: hdri_viewer/resources/config.ocio
  • Custom config folder: hdri_viewer/resources/ocio_configs

Drop a .ocio file in the custom folder and choose Reload from the left-edge toolbar.

About

A modern, minimal HDRI viewer for very large panorama images.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors