expose the tonemap #125
No reviewers
Labels
No labels
animation
audio
blocked
bug report
controversial
documentation
easy
feature request
hard
medium
multiplayer
physics
ui
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
elsie/liuverse!125
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/86-90-use-the-normal-maps-the-assets-ship"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
closes #86 closes #90
What the worker did
Left out on purpose: tangent attributes at import (the issue lists the derivative route first, and it keeps
Asset/the scene builder out of it); the distance filtering (#76, already onmain) and the model variety (#87, already onmain) are separate issues.#90 — Expose the tonemap
Commit:
0808994—(slop) expose the tonemap(closes #90)What changed:
liuverse-render/src/shaders.rs: the present pass multiplies the HDR colour byG.params.wbeforetone_mapping(after it, the ACES clamp would swallow the brightening and the knob could only darken).liuverse-render/src/renderer.rs/lib.rs:RenderConfig::exposureandRenderer::set_exposure; the value rides in the globals' padding slot (params.w), so it needs no pipeline or texture.liuverse/src/settings.rs:--exposureand?exposure=, clamped toEXPOSURE_RANGE, NaN and garbage ignored.liuverse/src/hud.rs/main.rs: an "exposure" slider in the pause menu. It applies while it is dragged (wanted_exposureprefers the menu's copy while the menu is open), so the campus can be watched while it is fixed — the other menu rows only apply on close, which would make an exposure knob unusable.A human sees: a brightness knob in the pause menu, and
--exposure 1.5/?exposure=1.5for a deliberate screenshot or a dim monitor.Left out on purpose: auto-exposure (the issue names it as the follow-up, and it needs the bloom/downsample work); per-preset exposure and fading — there is no preset concept in the code yet, and #92 owns that.
Notes for the coordinator
just checkpasses on the branch (fmt, clippy-D warningson--workspace --all-targets,cargo test --workspace,cargo deny).main:mainhas since landed #76 (linear mip filtering/anisotropy), #77 (present-pass dither) and #87 (per-instance tree tint). Mergingmaininto this branch conflicts in three files —ARCHITECTURE.md,liuverse-render/src/renderer.rs,liuverse-render/src/shaders.rs. I resolved all three in a throwaway worktree (both sides kept:globals_paramsalongsidelit_sampler; the tint multiply alongside the normal-map block;exposure → tone_mapping → ditherin the post pass) and the result compiles, passes clippy and passes every test. The resolutions are mechanical.assets/baked/valla.binwas not touched.How to test
See the issues for the acceptance criteria. The branch is
feat/86-90-use-the-normal-maps-the-assets-ship.A 👍 reaction on this pull request flags it for merge.
0808994ca5toc76ab9b065