godotengine / godotengine/godot

Alpha hash is very unstable in double precision

Open
#112,042 3 comments 0 reactions 0 assignees View on GitHub
bug confirmed topic:3d topic:rendering
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.