v1.14.0
Added
- Splat renders view-dependent colour — captures trained with spherical-harmonic bands (
f_rest_*in the.ply, the default for most 3DGS trainers) now re-shade as the camera orbits, instead of showing one flat colour per splat. Sheen, glare and the way a surface turns as you move around it come through. Degree 1, 2 and 3 captures are all read; DC-only scenes and.splatfiles are unaffected and cost nothing extra. Ash1/sh2/sh3badge in the particle panel shows what the loaded scene carries. - New Splat
roundnessparameter, and the drop now rounds the shatter — a trained capture is made of flat slivers, so an exploding scene used to shred into fur. The drop now morphs each shard toward a sphere as it flies apart and relaxes back, so it breaks into particles instead. The slider adds a permanent amount on top, from 0 (the capture's true shape, unchanged at rest) up to a soft "galaxy" of round points. Setaudio_reactivityto 0 for the slider alone. - Splat loads scene captures without the milky haze — a capture of a room or a landscape carries a far field of huge, nearly opaque splats standing in for sky and background. They surround the camera at every distance, so the scene rendered as if seen through milk and no amount of backing off helped. Those are now dropped at load: on a test room capture that is 2.2% of the splats but essentially all of the covered area, and contrast went up 2.5×. Masked object captures are unaffected. Tunable per-effect via
far_clipin the.pfxsplatblock (0 disables).
Fixed
- Splat rendered every scene mirrored — the camera's right vector was negated, so a loaded capture was a left-right flip of the real thing. Anything asymmetric — text, a face, a logo, which hand holds what — was reversed. Scenes now match how they look in the viewer you authored them in.
- Bright shimmering streaks across a capture at close range — the flattest splats, which should be nearly invisible edge-on, were rendered up to 187× too bright as long moving needles. The covariance was stored in a format too narrow for real capture data (19.8% of values collapsed to zero on the demo scene); it now survives intact.
- Splat got substantially faster — 800K splats at 1080p went from 314 to 721 FPS at the default framing, and from 74 to 315 FPS zoomed in close, because each splat now draws a quad shaped like the splat instead of an oversized square box around it.
- Picking an effect left the loaded preset's bindings driving it — clicking an effect in the browser reset its sliders to defaults, and the preset's audio map moved them again on the very next frame, so there was no way back to an effect's stock look. Bindings aimed at that layer now go with the effect it replaced; other layers keep theirs, and Global-scope bindings are untouched. The preset shows as unsaved, so re-selecting it brings them back.
Changed
- Splat's published clips and demo preset re-shot on the current renderer — every Splat frame on the README and in the gallery was filmed before the fixes above, so the scene on the page was mirrored, flat-shaded and made of slivers. The shipped demo preset is rebuilt too: eleven bindings put each frequency band on its own parameter,
roundnessis full so the capture breaks into round points rather than fur, and it now resolves its scene wherever it is installed.
Downloads
| Platform | File | Notes |
|---|---|---|
| macOS | .dmg |
Universal binary (Apple Silicon + Intel) |
| Linux x86_64 | .tar.gz |
glibc 2.35+ (Ubuntu 22.04+, Debian 12+) |
| Windows x64 | .zip |
Windows 10+ |
Getting started
macOS: Open the DMG, drag Fosfora.app to Applications (or run directly). Signed and notarized.
Linux / Windows: Extract, run fosfora from the extracted directory. The assets/ folder must be next to the binary.
Requirements
- GPU: Vulkan (Linux/Windows) or Metal (macOS)
- Audio: Built-in mic or line-in for audio-reactive visuals
- NDI® (optional): NDI® SDK runtime for network video output
- Video playback (optional):
ffmpegon PATH for media layers
NDI® is a registered trademark of Vizrt NDI AB.