Option: ignore fullbright globally (render fullbright faces as normally lit) #566

Closed
opened 2026-10-08 19:48:23 +00:00 by sky_line · 1 comment
Owner

Add a viewer option to ignore fullbright globally: render every face as if its fullbright flag were off, so it's lit by sun, moon, local lights and probes like any other surface. Fullbright surfaces otherwise glow at night, wash out photos, and ignore the environment.

Behaviour:

  • New setting, e.g. SlipstreamIgnoreFullbright (default off), with a checkbox in Preferences > Graphics (and maybe Photo Studio).
  • When on, treat the fullbright bit as 0 for every legacy (Blinn-Phong) face.
    • Decide whether PBR emissive stays as authored, since emissive isn't fullbright; probably yes, possibly with a separate option.
    • Glow stays as authored unless a follow-up wants a separate toggle.
  • Applies to world objects, attachments and avatars. HUDs are excluded: HUD fullbright is UI and stays.
  • Takes effect live with no relog. Ideally it's a shader-side override (a frame-info flag checked where the fullbright bit is read) rather than re-ingesting faces.
  • Check the cases that rely on fullbright: invisiprims and alpha tricks; media faces, where fullbright media should probably stay readable (consider exempting media faces); particles, which aren't a face flag (out of scope unless trivial).

Where:

  • the clean pipeline's fullbright handling in indra/vkclean/shaders (lightSurface / the fullbright branch in clean_draw / clean_surface_light);
  • how the fullbright bit reaches the GPU (instance or material flags in llvovolume ingest);
  • deferred G-buffer flags.

Done when: toggling the option turns every fullbright surface into a normally lit one immediately and back again, with HUDs unaffected.

Add a viewer option to **ignore fullbright globally**: render every face as if its fullbright flag were off, so it's lit by sun, moon, local lights and probes like any other surface. Fullbright surfaces otherwise glow at night, wash out photos, and ignore the environment. **Behaviour:** - New setting, e.g. `SlipstreamIgnoreFullbright` (default **off**), with a checkbox in Preferences > Graphics (and maybe Photo Studio). - When on, treat the fullbright bit as 0 for every legacy (Blinn-Phong) face. - Decide whether PBR **emissive** stays as authored, since emissive isn't fullbright; probably yes, possibly with a separate option. - **Glow** stays as authored unless a follow-up wants a separate toggle. - Applies to world objects, attachments and avatars. HUDs are excluded: HUD fullbright is UI and stays. - Takes effect live with no relog. Ideally it's a shader-side override (a frame-info flag checked where the fullbright bit is read) rather than re-ingesting faces. - Check the cases that rely on fullbright: invisiprims and alpha tricks; media faces, where fullbright media should probably stay readable (consider exempting media faces); particles, which aren't a face flag (out of scope unless trivial). **Where:** - the clean pipeline's fullbright handling in `indra/vkclean/shaders` (`lightSurface` / the fullbright branch in clean_draw / clean_surface_light); - how the fullbright bit reaches the GPU (instance or material flags in llvovolume ingest); - deferred G-buffer flags. **Done when:** toggling the option turns every fullbright surface into a normally lit one immediately and back again, with HUDs unaffected.
sky_line added this to the Slipstream project 2026-10-08 19:48:23 +00:00
Author
Owner

Done: b407e8fd68 (SLIgnoreFullbright: Preferences > Advanced > Ignore fullbright) and 67e32ca5ce (the toggle now applies immediately instead of on the next object update). Verified by the owner. Lands in 1.2.0 Beta 8.

Done: b407e8fd68 (SLIgnoreFullbright: Preferences > Advanced > Ignore fullbright) and 67e32ca5ce (the toggle now applies immediately instead of on the next object update). Verified by the owner. Lands in 1.2.0 Beta 8.
sky_line 2026-10-09 22:36:59 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#566
No description provided.