STATION 00 — ENTRY
See the whole cave
before you swim it.
CaveViewer is a free desktop tool for walking through large cave-survey 3D scans — the kind that are too big to load all at once anywhere else. Built by a cave diver, for cave divers and survey teams.
Inside an actual cave scan, fully textured — headlamp and ambient fill lighting both visible, minimap bottom-left, controls bottom-right.
Station 01
The Tool
Built for scans too big to open anywhere else
A multi-gigabyte cave scan will choke most viewers. CaveViewer splits the model into a 3D grid of spatial chunks and only keeps the chunks near your current position loaded — so frame rate stays smooth no matter how large the full system is.
Navigation
Fly through it like you're really there
Free-fly camera with WASD movement, mouse look, vertical movement, and a speed boost — built for covering long passages quickly, then slowing down where it matters.
Lighting
Headlamp, plus an ambient fill when you need it
Adjustable headlamp brightness for the cone in front of you, and a separate global ambient light to wash out shadows across the whole cave when you want to see everything at once.
Orientation
A minimap that knows where the passage actually is
Click anywhere on the minimap to jump there instantly — it lands you inside the actual passage near your current depth, not floating in empty rock.
Inspection
Mesh, texture, or both
Toggle wireframe to inspect scan density and quality, toggle photo texture on or off, or run both together to see the triangulation laid over the real surface.
Shading
Smooth by default, flat when you need the facets
Maps import with smooth shading applied automatically, and a live SHADE button lets you flip to flat shading instantly to inspect the raw triangulation — no reimport required.
Multiple maps
Switch caves without closing the program
Open a different map mid-session with one click. First-time imports show real progress in-window; maps you've opened before load instantly from a local cache.
Always current
Check for updates from the launch screen
One click checks for a newer version and installs it automatically — no separate downloads to track down by hand.
Station 02
Compatibility
Bring your own scan
CaveViewer reads the formats survey and photogrammetry software actually export. Drop in a folder, and it figures out the rest.
Station 03
On Screen
Everything you need is one column, one corner
Every adjustable control — headlamp, global light, render distance, mesh, texture, and shading toggles, the background color picker, switching maps — lives in a single column anchored to the bottom-right corner. A live readout above the minimap shows your current frame rate and how many chunks are loaded, in real time.
Forget a key? Click HELP anytime to bring this back up — it lists every control in one place.
Station 04
Getting In
Install
A one-click installer handles Python and every dependency for you. No prior setup required.
-
Download the latest release
Grab the zip from the Releases page and extract it anywhere.
-
Run the setup script
Double-click
Launch_Setup.batinside thesetupfolder, then click Install. It installs Python (if needed) and every required package automatically. -
Launch CaveViewer
Use the new desktop shortcut, or run
python caveviewer.pyfrom the project folder. Either way, you'll land on the launch screen with a Browse button. -
Point it at your map
Select the folder containing your
.obj+.mtlor.glbfile. First time opening a new map, it imports and caches it once — every open after that is instant.
What you see on launch — click Browse and pick your map folder, or try Sample Maps if you don't have one.
First time opening a new map only — every open after this is instant.
Station 05
Try It
No scan of your own yet? Borrow one of ours
The launch screen has a Sample Maps... button right below Browse. Pick a cave, confirm the download size, and CaveViewer fetches and extracts it automatically — no manual unzipping, no hunting for the right folder.
Once a map's downloaded, its button switches to Open — it's saved locally, so picking it again later never needs the internet.
Confirms the size before anything downloads.
A real progress bar, not a frozen-looking window.
Once downloaded, it hands straight off to the same one-time import process any brand-new map goes through — after that, opening it again is instant.
Station 06
Surface
Built by people who use it
CaveViewer started as a way to actually look at the survey data from real dives, not just collect it.