Post

Replies

Boosts

Views

Activity

Reply to visionOS : any non-nil preferredSurroundingsEffect enables a light-spill halo around VideoPlayerComponent video
Thanks for the quick response! Use case: I'm building PrismXR, a third-party media player for Apple Vision Pro. It plays local / SMB / WebDAV / Emby media inside custom immersive environments (a virtual theater: our own room geometry plus a virtual screen). Video is decoded by our own pipeline (FFmpeg demux + VideoToolbox) and presented with AVSampleBufferVideoRenderer + VideoPlayerComponent — the AVKit "dock in a scene" path isn't usable for us because we deliver our own sample buffers (network streaming, seek/rate control, real-time 3D, color grading). Each environment declares its own surroundings appearance: room dimming in passthrough mode (.dim / .colorMultiply), and previously a subtle colorMultiply tint in the virtual studio / cinema rooms. Does the halo bleed into other content? Yes — three ways: It bleeds onto our custom environment geometry. Our rooms implement their own screen light / reflection (floor light spill computed in the scene's shader). The system halo shows up as a second, uncontrolled video-colored glow around the screen edge, layered on top of ours. We can't tune its color, radius or falloff to match the environment, so it reads as a duplicate light source coming from nowhere in the scene. In fully immersive spaces it pollutes what should be black. We deliberately use a pure black surrounding for focused viewing; the halo paints a video-colored glow into it. It makes the screen edge itself look hazy. On a large virtual cinema screen the edge glow reduces perceived contrast and reads as a display artifact — and it is visible even when the surroundings effect itself is visually a no-op (.dim(intensity: 0)). Practical impact: because the halo is gated on "the app declared any non-nil preferredSurroundingsEffect", we had to remove our surroundings declarations in the studio / cinema / ATV environments to get rid of it — losing the intended tint there. Only passthrough mode still declares one (the room-dimming slider is a real feature there) and that mode simply has to live with the halo. I can attach A/B captures (same video, with and without the surroundings modifier) and, if useful, a minimal sample project to the feedback ticket — happy to provide whichever helps most. Thanks!
Topic: Spatial Computing SubTopic: General Tags:
2w
Reply to visionOS : any non-nil preferredSurroundingsEffect enables a light-spill halo around VideoPlayerComponent video
Thanks for the quick response! Use case: I'm building PrismXR, a third-party media player for Apple Vision Pro. It plays local / SMB / WebDAV / Emby media inside custom immersive environments (a virtual theater: our own room geometry plus a virtual screen). Video is decoded by our own pipeline (FFmpeg demux + VideoToolbox) and presented with AVSampleBufferVideoRenderer + VideoPlayerComponent — the AVKit "dock in a scene" path isn't usable for us because we deliver our own sample buffers (network streaming, seek/rate control, real-time 3D, color grading). Each environment declares its own surroundings appearance: room dimming in passthrough mode (.dim / .colorMultiply), and previously a subtle colorMultiply tint in the virtual studio / cinema rooms. Does the halo bleed into other content? Yes — three ways: It bleeds onto our custom environment geometry. Our rooms implement their own screen light / reflection (floor light spill computed in the scene's shader). The system halo shows up as a second, uncontrolled video-colored glow around the screen edge, layered on top of ours. We can't tune its color, radius or falloff to match the environment, so it reads as a duplicate light source coming from nowhere in the scene. In fully immersive spaces it pollutes what should be black. We deliberately use a pure black surrounding for focused viewing; the halo paints a video-colored glow into it. It makes the screen edge itself look hazy. On a large virtual cinema screen the edge glow reduces perceived contrast and reads as a display artifact — and it is visible even when the surroundings effect itself is visually a no-op (.dim(intensity: 0)). Practical impact: because the halo is gated on "the app declared any non-nil preferredSurroundingsEffect", we had to remove our surroundings declarations in the studio / cinema / ATV environments to get rid of it — losing the intended tint there. Only passthrough mode still declares one (the room-dimming slider is a real feature there) and that mode simply has to live with the halo. I can attach A/B captures (same video, with and without the surroundings modifier) and, if useful, a minimal sample project to the feedback ticket — happy to provide whichever helps most. Thanks!
Topic: Spatial Computing SubTopic: General Tags:
Replies
Boosts
Views
Activity
2w