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

Vulkan: VoxelGI metallic materials appear as bright as non-metallic materials in reflections #55335

Open
Tracked by #55328
Calinou opened this issue Nov 26, 2021 · 1 comment

Comments

@Calinou
Copy link
Member

Calinou commented Nov 26, 2021

Godot version

4.0.dev (5efe80f)

System information

Fedora 34, GeForce GTX 1080 (NVIDIA 470.74)

Issue description

Metallic materials appear as bright as non-metallic materials in VoxelGI reflections. Since we cannot have reflections within reflections in a performant manner, we should probably try to get closer to the actual rendering of the metallic material somehow. This can likely be done by using a darker color for the voxels (and a less contrasted one somehow, since shadows are less visible on metallic materials).

In addition, this would help make self-reflections less noticeable on metallic materials.

Preview

2021-11-26_01 08 06

Albedo color multiplied by 0.5 on fully metallic material

This was emulated by modifying the sphere material's albedo color, baking the VoxelGI node and resetting the albedo color to its default white.

2021-11-26_01 12 28

Steps to reproduce

  • Add a mesh with a non-rough, fully metallic material. Make sure its bake mode is set to Baked.
  • Add a third mesh with a non-rough, fully metallic material. Make sure its bake mode is set to Baked.
  • Add a VoxelGI node and bake it.
  • Notice how the metallic objects appear as white in their reflections.

Minimal reproduction project

test_gi_texture.zip

@Calinou Calinou added this to the 4.0 milestone Nov 26, 2021
@Calinou Calinou changed the title VoxelGI: Metallic materials appear as bright as non-metallic materials in reflections Vulkan: VoxelGI metallic materials appear as bright as non-metallic materials in reflections Nov 26, 2021
@clayjohn
Copy link
Member

I'm not sure if just tinting will be appropriate. The trouble is metallic objects take their color from specular reflections. So their color is dependent on the environment around them.

I remember reading about how another game engine solved this problem (I think from one of the real time rendering SIGGRAPH presentations). I'll post a follow up if I can find it.

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

No branches or pull requests

2 participants