Hololuminescent Display (HLD) Output¶
Module: quiltwright.hld
Downstream CLI: waverider-voxel-viz --hld
Source: src/quiltwright/hld.py
"On an HLD, white is the new alpha."
HLD vs. light-field: two different devices¶
Looking Glass sells two unrelated display technologies -- know which one you're rendering for:
| Hololuminescent (HLD) | Light-field (LFD) | |
|---|---|---|
| Models | 16" / 27" / 86" Portrait HLD | Portrait, Go, 16"/27"/32"/65" LFD |
| Content | ordinary 2-D video | multi-view quilts |
| True 3-D parallax | no -- fixed holographic "alcove" effect | yes -- ~48-100 views across a cone |
| Software | HLD Author + USB media player | Bridge / Studio |
| WaveRider module | quiltwright.hld (this page) |
quiltwright.lfd |
The HLD is an LCD with a fixed holographic volume -- a stage-like "alcove" -- embedded in its optical stack. Your flat video is multiply-blended into it: pure white pixels become invisible, showing only the glowing alcove; darker pixels appear as a subject standing inside it.
What the device wants¶
From the official media spec and content guidelines (https://hlddocs.lookingglassfactory.com/):
- Master: 3840×2160 (16:9 landscape) MP4, HEVC, 30 or 60 fps, bt709. HLD Author requires landscape input; one 4K master serves all sizes.
- White background -- white is transparent on the device. Busy or dark backgrounds kill the effect.
- Centered subject inside safe margins (~9% top, 3% bottom/sides) so it stays within the alcove.
- Contact shadow on the floor ("crucial for the 3D effect").
- Slow turntable orbit, otherwise static camera.
render_hld_video() / --hld handles all of this: white background,
safe-area framing, contact shadow, a seamless 360° orbit, and
spec-exact encoding at 3840×2160.
Usage¶
# 10-second rotating manifold for the HLD (300 frames @ 30 fps)
waverider-voxel-viz --dataset iris --hld --out iris --volume
# -> iris_hld.mp4 (3840x2160, HEVC, bt709)
# Faster render for previews
waverider-voxel-viz --dataset iris --hld --frames 90 --out preview
From Python, for any PyVista scene:
import pyvista as pv
from quiltwright import render_hld_video, style_plotter_for_hld
p = pv.Plotter(off_screen=True)
p.add_mesh(pv.ParametricTorus(), color="teal")
style_plotter_for_hld(p) # white bg + 16:9 + safe-area framing
render_hld_video(p, "torus") # torus_hld.mp4
p.close()
render_hld_video() also takes on_frame(i) for custom animation and
orbit_degrees=0 to disable the turntable.
Getting it on the display¶
- Install HLD Author (free, Win/Mac, from the HLD docs site). Open the
rendered
*_hld.mp4-- it previews the video inside a virtual HLD, validates the spec, rotates it for the player, and exports*_HLD_encoded.mp4. - Copy that file onto the USB drive that shipped with the display and plug it into the bundled Raspberry Pi player. Videos loop in alphanumeric filename order; hot-swap works.
- Alternatively: drive the HLD directly over HDMI/DisplayPort as a normal portrait monitor (1080×1920 for the 16", 2160×3840 for 27"/86") and play the un-rotated master full-screen.
Note: Looking Glass Bridge and quilts do not apply to HLDs -- those are for the light-field line (see lfd.md).
Composition tips¶
- The subject is whatever isn't white. Saturated, mid-to-dark colors pop; near-white detail washes out.
- Don't let the subject touch the frame edges or it visibly clips against the alcove walls.
- The default scene shadow (
--no-shadowto disable) is a soft procedural disc; it sells the "standing on the alcove floor" illusion. - 8-12 s per loop reads well in ambient/signage settings; the player loops seamlessly with a 360° orbit.