Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Global Shader Parameter Undefined Behavior in Editor #74255

Closed
cuckydev opened this issue Mar 2, 2023 · 0 comments · Fixed by #74937
Closed

Global Shader Parameter Undefined Behavior in Editor #74255

cuckydev opened this issue Mar 2, 2023 · 0 comments · Fixed by #74937

Comments

@cuckydev
Copy link

cuckydev commented Mar 2, 2023

Godot version

4.0.stable.mono

System information

Windows 10, NVIDIA RTX 2060 (Driver 30.0.14.7284), Vulkan 1.2.175 Forward+ (Editor)

Issue description

When changing certain Global Shader Parameters (in this case, a mat4) in the Project Settings, the value sent to the editor 3D view appears to be undefined, resulting in garbage values sent to the shaders.

As an example here, I'm using a mat4 to describe global light directions for a lighting shader
Note that the shader receives a different value even when the editor is being set to the same values
https://user-images.githubusercontent.com/44537737/222551889-b7c7ca63-ef65-484c-818f-c6ce47a7d3c0.mp4

Setting the global parameter from a script does pass the correct value to the shaders
image

I have also determined the shaders in the editor also do not get correct values from the project.godot when loading the project.

Steps to reproduce

  • Create a Global Shader Parameter of mat4 type (Project > Project Settings... > Shader Globals)
  • Create a shader that visualizes the value of the mat4 (global uniform mat4 global_mat)
  • Attempt to modify the global in the same Project Settings menu, the shader will receive garbage values

Minimal reproduction project

GlobalShaderParameters.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants