Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

off-axis-experiments

Off-axis (asymmetric-frustum) projection demo: a virtual "window" into a wireframe room whose perspective follows your viewpoint, creating a glasses-free 3D illusion.

Pick a model from the bar at the top — the procedural RGB wireframe cube, or real glTF models (shoe, toy car, damaged helmet, duck, avocado) streamed from the Khronos glTF-Sample-Models repo.

Move the viewpoint with:

  • Mouse / touch — move the pointer or drag; scroll wheel changes depth
  • Device tilt — opt-in on mobile
  • Webcam head tracking — opt-in, via MediaPipe FaceMesh

The projection math follows Robert Kooima's Generalized Perspective Projection: the screen is a fixed rectangle in world space and the camera frustum is recomputed from the tracked eye position every frame.

Running

It's a static site — serve the repo root and open index.html:

python3 -m http.server 8000
# → http://localhost:8000

Browsers without WebGL get a Canvas-2D wireframe fallback (?fallback=1 forces it), which supports the cube only.

Releases

Packages

Used by

Contributors

Languages