godotengine / godotengine/godot

Error when moving a mesh with "Dynamic" GI mode into a rotated VoxelGI node

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

Image

### 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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.