A WebGL-powered 3D image gallery built with Three.js. Images are arranged on a curved spherical grid that scrolls infinitely in all directions with seamless wrapping.
Right-click drag — Pan across the gallery
Scroll wheel — Zoom in and out
Left-click — Open image in a full-screen lightbox
Hover — Semi-transparent outline highlights the card
Click any card to open a full-screen overlay with backdrop blur. Each image can optionally display a title and description below the preview. Click the background or the ✕ button to close.
Infinite wrapping — The grid repeats seamlessly with no visible edges
Momentum scrolling — Drag and release to glide with configurable momentum
Spherical bend — Cards curve along a sphere surface for a concave 3D effect
Cover-fit rendering — Images maintain their original aspect ratio via a custom shader
Dynamic grid — Automatically rebuilds when zooming to ensure full coverage