godotengine / godotengine/godot
Alpha hash is very unstable in double precision
- Dominant language
- C++
- Stars
- 117k
- Forks
- 26.8k
- PR merge metrics
- PR metrics pending
Description
### Tested versions
- Reproducible in v4.6.dev.double.custom_build [0fdb93cde]
- Not reproducible in single precision builds
### System information
Godot v4.6.dev.double (0fdb93cde) - Arch Linux #1 SMP PREEMPT_DYNAMIC Mon, 06 Oct 2025 18:48:29 +0000 on X11 - X11 display driver, Multi-window, 2 monitors - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 4070 (nvidia; 580.95.05) - AMD Ryzen 9 9950X 16-Core Processor (32 threads) - 154.8 GiB memory
### Issue description
Using a material with alpha hash enabled, and alpha between 0 and 1, the hash pattern is unstable: totally changing whenever the camera moves.
### Steps to reproduce
Make a mesh instance with a simple shape. Add a standard material, enable alpha hash, and set the albedo alpha to 128. In the view pane, move the camera.
### Minimal reproduction project (MRP)
[alpha-hash_2025-10-26_09-17-58.zip](https://github.com/user-attachments/files/23147744/alpha-hash_2025-10-26_09-17-58.zip)
Contributor guide
Research direction
Start with the attached alpha-hash_2025-10-26_09-17-58.zip minimal reproduction project and reproduce the issue in a v4.6.dev.double build by moving the camera with alpha hash enabled. Compare the behavior with a single-precision build; done means the hash pattern no longer changes unpredictably during camera movement in double precision.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100