godotengine / godotengine/godot
Error when moving a mesh with "Dynamic" GI mode into a rotated VoxelGI node
- Dominant language
- C++
- Stars
- 117k
- Forks
- 26.8k
- PR merge metrics
- PR metrics pending
Description
### Tested versions
Tested and reproducible in 4.3, 4.4.1, 4.5.1, and 4.6
### System information
Windows 10 - RX 570 (driver version 23.19.23.11) - Direct3D and Vulkan
### Issue description
When moving a mesh with its GI mode set to "Dynamic" towards the boundaries of a rotated VoxelGI node error messages will appear stating that "Rect2i size is negative" and that "Dispatch amount of Y compute groups (4294967266) is larger than device limit (65535)". When the rendering backend is set to Vulkan, a crash also occurs, but on Direct3D the game/editor continues running. This issue occurs both in-game and in-editor. This issue does not occur when the mesh is set to a different GI mode, nor does it appear when the mesh moves from within the VoxelGI's boundaries. It also does not occur if the mesh is moved along the edges of the VoxelGI boundary box.
This is the error that is printed out:
### Steps to reproduce
**Note: This will crash if the rendering backend is set to Vulkan**
1. Create a MeshInstance3D and give it a mesh.
2. Set its global illumination mode to "Dynamic".
3. Add a VoxelGI node to the scene.
4. Rotate the VoxelGI node.
5. Move the MeshInstance3D into the side boundaries (not the edges) of the VoxelGI node.
### Minimal reproduction project (MRP)
[voxel-gi-rotation_issue.zip](https://github.com/user-attachments/files/24888423/voxel-gi-rotation_issue.zip)
Contributor guide
Research direction
Start with the attached voxel-gi-rotation_issue.zip and reproduce the issue using the listed steps, first with Vulkan and then Direct3D. Investigate the VoxelGI and dynamic GI rendering path around rotated side-boundary movement, using the reported negative Rect2i and compute-group errors as the initial symptoms. Done means the reproduction no longer emits these errors or crashes when the mesh enters the rotated VoxelGI boundary.
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
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100