An experimental Panda3D showcase that turns your monitor into a faux holographic window. HoloFrame combines real-time head tracking, a Cornell box inspired scene, and configurable room dimensions to keep a 3D model anchored in space as you move.
- Head pose tracking (MediaPipe + OpenCV) drives the virtual camera position.
- Full-screen windowed Panda3D viewport with adjustable room dimensions.
- Cornell-style lighting with a ceiling panel placeholder for the key light.
- Minimal HUD with FPS, camera pose readout, and in-app control hints (toggleable).
ESC— Quit the application.f— Toggle fullscreen mode.h— Toggle HUD visibility.?(orShift-/) — Toggle on-screen control help.- Arrow keys — Adjust room width/height.
l/p— Pull/push the back wall to tweak room depth.m— Cycle the active model.
- Install dependencies:
python3 -m pip install --upgrade pip pip install opencv-python mediapipe numpy panda3d
- Launch the app:
python3 HoloFrame.py
Make sure your webcam is accessible; the app will exit if a camera stream cannot be opened.
- Read frames from the default webcam using OpenCV.
- Run face tracking to estimate the user's head position in each frame.
- Convert the detected head pose into the Panda3D coordinate space.
- Update the virtual camera transform so the scene matches the user's viewpoint.
- Render the Cornell box scene and selected model with the new perspective.
