Lighting is wrong and missing volumetric effects #226

Closed
opened 2026-11-07 16:39:01 +00:00 by kiraikari9 · 2 comments
kiraikari9 commented 2026-11-07 16:39:01 +00:00 (Migrated from github.com)

GPU : rtx 4090
CPU : Intel Core i7-13700KF
RAM: 32 GB

First off ,thank you for your efforts. It appears that the lighting is wrong/ overblown. Also the volumetic fog/mist is entirely missing. I have attached 2 screenshots of how it looks vs how it's supposed to look.

recompilation:

Image

Switch 2:

Image
GPU : rtx 4090 CPU : Intel Core i7-13700KF RAM: 32 GB First off ,thank you for your efforts. It appears that the lighting is wrong/ overblown. Also the volumetic fog/mist is entirely missing. I have attached 2 screenshots of how it looks vs how it's supposed to look. recompilation: <img width="5120" height="2880" alt="Image" src="https://github.com/user-attachments/assets/5c4884a3-6fa6-48cd-969d-380c50caa247" /> Switch 2: <img width="5120" height="2880" alt="Image" src="https://github.com/user-attachments/assets/35605b60-dff8-47cc-a0b6-834b81d04a35" />
Mabec-games commented 2026-11-07 17:31:44 +00:00 (Migrated from github.com)

Same symptoms here on NVIDIA / Linux: one flat, overblown light in Kokiri Forest, no soft falloff and no cast shadows. Light flashing and VRAM stalls are gone since today's lighting/VRAM commits, but this part remains, so it doesn't look vendor- or OS-specific.

Setup

  • RTX 3080 Laptop GPU (8 GB), NVIDIA 615.78, Vulkan 1.4 (mesh shaders, cooperative matrix, host memory import, 2D-view-of-3D all present)
  • Linux (CachyOS, KDE Wayland), build from main at 2a9fe7f (Linux support) with SDL3 instead of SDL2. Renderer code is unchanged from main.
  • Game build e0f3ccfa, 5.5 min session in Kokiri Forest, 55 fps average, graphics memory peak 7.7 GB

Possibly related, from the log (a lead, not a confirmed cause)

In one burst at ~184–185 s, compute programs were dispatched with a storage buffer the replay could not bind (vk: storage buffer NOT bound (reads zeros)):

program stage slot size read count
755a777ada52677d 5 c1+0 0 28
78ccf14779ec3efb 5 c1+0 / c1+0x8 0x54 / 0 (written) 1 + 1
7650519f88e59b19 5 c1+0 / c1+0x8 0x54 / 0 (written) 1 + 1
102f5b0abb0f1e63 5 c1+0 / c1+0x8 0x54 / 0 (written) 1 + 1
a54f19e927d8faef 5 c3+0x60 0x3f800000 (written) 1
f0fed2bbccae7bdc, cb2e06ddfb9d7d27, 5b9ba94d1c822e80, 499dbfd0721d2858, 3e6fe279463b020e 5 c1+0 0 (written) 1 each

Notes:

  • The message is capped at 40 per run (vk_draw.cpp), so all 40 were used up in that burst. I can't tell whether these programs keep running unbound afterwards or whether it was only a scene change.
  • a54f19e927d8faef's "size" is 0x3f800000 (float 1.0), so that c3+0x60 slot looks like a constant read as an address/size pair rather than a buffer descriptor.
  • The same run also had 4 texture slot ... is not registered: sampled as the dummy (slots 0x46040, 0x2e000, 0xde040, 0xc6000), and no does not lower programs.

Since volumetric fog and light gathering are usually compute passes, these unbound compute buffers seemed worth flagging next to the missing fog/shadows.

I'm happy to run with RX_VK_DUMP_SSBO / RX_VK_PEEK_PROG=755a777a (or anything else useful) and post the output.

Same symptoms here on **NVIDIA / Linux**: one flat, overblown light in Kokiri Forest, no soft falloff and no cast shadows. Light flashing and VRAM stalls are gone since today's lighting/VRAM commits, but this part remains, so it doesn't look vendor- or OS-specific. **Setup** - RTX 3080 Laptop GPU (8 GB), NVIDIA 615.78, Vulkan 1.4 (mesh shaders, cooperative matrix, host memory import, 2D-view-of-3D all present) - Linux (CachyOS, KDE Wayland), build from `main` at `2a9fe7f` (Linux support) with SDL3 instead of SDL2. Renderer code is unchanged from `main`. - Game build `e0f3ccfa`, 5.5 min session in Kokiri Forest, 55 fps average, graphics memory peak 7.7 GB **Possibly related, from the log** (a lead, not a confirmed cause) In one burst at ~184–185 s, compute programs were dispatched with a storage buffer the replay could not bind (`vk: storage buffer NOT bound (reads zeros)`): | program | stage | slot | size read | count | |---|---|---|---|---| | `755a777ada52677d` | 5 | c1+0 | 0 | 28 | | `78ccf14779ec3efb` | 5 | c1+0 / c1+0x8 | 0x54 / 0 (written) | 1 + 1 | | `7650519f88e59b19` | 5 | c1+0 / c1+0x8 | 0x54 / 0 (written) | 1 + 1 | | `102f5b0abb0f1e63` | 5 | c1+0 / c1+0x8 | 0x54 / 0 (written) | 1 + 1 | | `a54f19e927d8faef` | 5 | c3+0x60 | **0x3f800000** (written) | 1 | | `f0fed2bbccae7bdc`, `cb2e06ddfb9d7d27`, `5b9ba94d1c822e80`, `499dbfd0721d2858`, `3e6fe279463b020e` | 5 | c1+0 | 0 (written) | 1 each | Notes: - The message is capped at 40 per run (`vk_draw.cpp`), so all 40 were used up in that burst. I can't tell whether these programs keep running unbound afterwards or whether it was only a scene change. - `a54f19e927d8faef`'s "size" is `0x3f800000` (float 1.0), so that c3+0x60 slot looks like a constant read as an address/size pair rather than a buffer descriptor. - The same run also had 4 `texture slot ... is not registered: sampled as the dummy` (slots 0x46040, 0x2e000, 0xde040, 0xc6000), and no `does not lower` programs. Since volumetric fog and light gathering are usually compute passes, these unbound compute buffers seemed worth flagging next to the missing fog/shadows. I'm happy to run with `RX_VK_DUMP_SSBO` / `RX_VK_PEEK_PROG=755a777a` (or anything else useful) and post the output.
NotRexed commented 2026-11-07 19:39:25 +00:00 (Migrated from github.com)

Thanks. Lighting that is too bright (bloom, overexposure) or too dark (shadows, faces, NPCs) is tracked in #36. https://github.com/NotRexed/Hookshot/releases/tag/foliage-linux-updater brings EvilOOT's lighting work (Link, signs and ferns are lit again, and the game's own fog), so please try it; what remains is followed in #36. Closing as a duplicate. Mabec-games' finding (storage buffers not bound in 755a777ada52677d and four other programs) is linked from #36.

Thanks. Lighting that is too bright (bloom, overexposure) or too dark (shadows, faces, NPCs) is tracked in #36. https://github.com/NotRexed/Hookshot/releases/tag/foliage-linux-updater brings EvilOOT's lighting work (Link, signs and ferns are lit again, and the game's own fog), so please try it; what remains is followed in #36. Closing as a duplicate. Mabec-games' finding (storage buffers not bound in 755a777ada52677d and four other programs) is linked from #36.
Commenting is not possible because the repository is archived.
No milestone
No assignees
1 participant
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
MagicBeanDev/Hookshot#226
No description provided.