Planetarium Dome Visuals — Project Summary
The Project
Live, real-time visuals for a planetarium dome theatre, streamed over NDI from Unreal Engine. Concept: audience is inside a capsule that descends from air into the sea — water ripple/drip shader, camera passes through the water surface partway through.
Confirmed Technical Specs
| Item | Value |
|---|---|
| Output resolution | 4096×4096 (“4K” fulldome — refers to the ~4096 dimension, not equivalent to 4K flat video pixel count) |
| Frame rate | 30fps |
| Projection format | Domemaster / fisheye (equidistant azimuthal) |
| NDI format | Full NDI (SpeedHQ codec) — confirmed acceptable by theatre, HX not required |
| Source OS | Windows (required — Unreal Engine doesn't run on Linux/Mac in a way that fits this pipeline) |
| Receiver OS | Windows (confirmed by theatre IT) |
| Dome type | Planetarium dome (standard hemisphere, not a tilted theatre-style dome) |
| Audio | None — visuals only |
Computer / GPU
- Water/ripple shaders are procedural (fragment-shader-bound) — no heavy geometry or lighting, much lighter load than a lit 3D environment at the same resolution
- Resolution (16.8MP/frame at 4096×4096) still dominates cost even for simple shaders
- 30fps (not 60fps) gives more render budget per frame (~33ms) than a 60fps target would
- Working target: RTX 4070/4080-class GPU, 12GB+ VRAM — a reasonable floor for this content type, not a hard spec
- No hard benchmark data exists for this exact combination (Unreal + 4096² + OWL fisheye capture + NDI encode) — build a small test scene at target complexity early and measure actual frame time before buying/renting hardware
- NDI encode (SpeedHQ, CPU-based) adds overhead on top of the render itself — factor in decent multicore CPU, not just GPU
Projection Math — You Don't Need It
- OWL's 360 camera rig handles the fisheye/domemaster projection automatically — no manual polar-coordinate (radius/angle) math needed in the shader or scene
- Sphere vs. hemisphere is just OWL's adjustable “dome angle” setting (1–360°) on the camera rig — not a geometry decision you need to model yourself
Domemaster Coordinate System
- Center of the 4096×4096 image (2048, 2048) = zenith (straight up)
- Edge of the inscribed circle (radius 2048) = horizon, 360° around
- Corners of the square (outside the circle) = unused, black
- Quadrants (per theatre's handout): Q1 = bottom-left, Q2 = bottom-right, Q3 = top-right, Q4 = top-left
- Q1/Q2 boundary (bottom-center of the circle) = audience-front/center
- Q1 = audience-left, Q2 = audience-right (IT “pretty sure,” worth final confirmation)
- Top half (Q3/Q4) = behind the audience
Content Placement Guidance (from theatre + OWL's own dome docs)
- Avoid dead center/zenith — geometrically simple but causes neck strain, hardest place for audience to look
- Avoid the very edge/horizon — peripheral, easy to miss
- Primary content/action belongs in a ring roughly 30–45° above horizon, weighted toward the lower half (Q1/Q2)
- Camera motion: no roll, minimal/no pitch-down (motion sickness risk), yaw only slow and anchored
Software Pipeline
Unreal Engine (Windows) — build the scene normally in 3D (sky, water plane, underwater environment). No dome-shaped geometry needed; you don't manually place content in the flat 4096×4096 canvas.
OWL Live-Streaming Toolkit — Pro tier (~$350, one-time/perpetual, per machine)
- Confirmed via OWL docs + support: 360 camera supports domemaster/fisheye projection directly
- 360 camera is a Pro-only feature (not in Beginner)
- NDI Sender included in same product, outputs BGRA or UYVY under the SpeedHQ codec (Full NDI only)
- HX/HX-3 sending is in alpha (not needed — theatre confirmed Full NDI is fine)
- Standard Unreal Sequencer keyframing works normally with the 360 camera (camera moves, transitions)
Camera/scene logic:
- Camera = the “viewer” position; place scene geometry (sky, water plane, underwater world) around it in normal 3D space
- The 360 camera rig auto-captures everything around itself and outputs the correct domemaster render target — no manual warping
- Descent = animate the camera moving downward through the water plane's height via Sequencer
- Rotate the camera rig so world-forward aligns with the theatre's audience-front (Q1/Q2 boundary)
Network
- Wired Ethernet required — Full/SpeedHQ NDI at this resolution needs a stable, high-bandwidth connection; not reliable over Wi-Fi
- NDI discovery normally works via mDNS on the same subnet; theatre's IT is testing whether an explicit NDI Discovery Server is needed on their network
- Both ends being Windows means Discovery Server (if needed) is configured via NDI Access Manager GUI — no workaround needed
- Known issue to flag later (not yet raised with IT): Windows Update KB5063878 has caused NDI drops for some; fix is switching Access Manager's Receive Mode from Auto (RUDP) to Single-TCP
Quest 2 Preview Setup
- App: Dome Viewer (prefrontalcortex/DomeTools) — free, confirmed compatible with Quest 2/3/Pro (Meta App Lab + SideQuest listings both confirm Quest 2 explicitly)
- Receives NDI streams directly; select via Media Sources > NDI in-app
- Can also play local files (jpg/png/mp4) placed in
Download/DomeViewerfolder — useful fallback with no network needed - Hardware: Cable Matters 5-Port USB-C Hub On-The-Go — top recommendation from QuestNav's tested adapter list (community-verified for Quest headsets doing standalone Android networking, not PC VR/Link). List is officially scoped to Quest 3/3s; Quest 2 compatibility is a reasonable bet (same Android base) but not directly confirmed — test on arrival.
- Provides Ethernet + power passthrough (keeps headset charged during testing)
- Avoid direct PC-to-Quest Ethernet with no DHCP — a documented Quest firmware bug can prevent the headset from getting a valid IPv4 address in that config. Use a cheap switch/router with DHCP enabled, or Windows Internet Connection Sharing (ICS) on the PC.
- This setup is unrelated to Oculus Link/PC VR — Quest runs Dome Viewer as a standalone Android app, not as a USB peripheral
Open Items — Still Need Answers
- [ ] Confirm Q1 = audience-left (IT said “pretty sure,” not fully certain)
- [ ] Exact elevation cutoff angle — full 90° hemisphere, or does their dome stop short of true horizon?
- [ ] Result of IT's Discovery Server test (mDNS sufficient, or explicit server needed?)
- [ ] Color/gamma expectations for their projector system
- [ ] On-site test window before the actual show date
- [ ] Whether the “green zone” placement guidance = confirmation that bottom half is literally audience-facing (currently an inference from the handout's coloring, not an explicit IT statement)
Purchases Needed
- OWL Live-Streaming Toolkit Pro (~$350)
- Cable Matters 5-Port USB-C Hub On-The-Go (for Quest 2)
- Ethernet cable(s) + a basic switch/router (if not using PC-side ICS)