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

Opacity of SSR unaffected by material roughness #66285

Closed
aaandreeew opened this issue Sep 23, 2022 · 4 comments · Fixed by #69828
Closed

Opacity of SSR unaffected by material roughness #66285

aaandreeew opened this issue Sep 23, 2022 · 4 comments · Fixed by #69828

Comments

@aaandreeew
Copy link

aaandreeew commented Sep 23, 2022

Godot version

4.0 beta1

System information

Windows 10 (x86_64), Vulkan, Intel Core i5-8265U with UHD Graphics 620 (31.0.101.2111)

Issue description

The roughness of a material does not affect the opacity of screen space reflections seen in the material. This means that a material with a roughness of 1.0 and metallic of 0.0 will still have obvious reflections.

I expected that these parameters would produce a completely matte material, but I can't make any completely matte materials at all. However, reflections from VoxelGI nodes or SDFGI do consider roughness for reflection opacity, and a roughness of 1.0 will produce a completely matte material.

Screen Space Reflections have equal opacity on 3 floor materials with metallic 0.0 and roughness 1.0, 0.5 and 0.0 left to right
TEMP6

Comparison between VoxelGI reflections (left) and SSR (right). Roughnesses are 1.0, 0.2 and 0.0 left to right.
TEMP7
I think SDFGI behaves correctly too, but I am experiencing a separate visual bug with SDFGI, hence I haven't shown it.

This is apparent in another sample scene with more realistic materials. The ground material has a roughness of 1.0. This issue is ruining any prospects of a realistic scene for me.

SSR in different scene with proper PBR materials — reflections abound
TEMP1

I believe this is the same kind of issue as #49402, which was reported for Godot 3.2.2 and was apparently fixed in the master branch according to #25112, the issue #49402 was merged into. I am still posting this because Vulkan is now being implemented instead of GLES 3 and this bug may be specific to the graphical problems I've experienced with Intel inegrated graphics.

Steps to reproduce

  1. Create a Node3D containing a ground plane MeshInstance3D and box MeshInstance3D.
  2. Create a material (StandardMaterial3D or ORMMaterial3D) with metallic = 0.0 and roughness = 1.0 and apply it to the ground mesh. The albedo doesn't matter.
  3. Enable SSR in a WorldEnvironment node, increasing the Max Steps value to improve visibility.

Minimal reproduction project

ssr_opacity_roughness_bug.zip (for Godot 4.0 beta 1)

@aaandreeew
Copy link
Author

Sorry, I pressed the wrong button :|

@aaandreeew aaandreeew reopened this Sep 23, 2022
@clayjohn clayjohn added this to the 4.0 milestone Sep 23, 2022
@Calinou
Copy link
Member

Calinou commented Sep 23, 2022

Related to #61930 (see its fix #65594).

@josefkaragoli
Copy link

Related to #61930 (see its fix #65594).

That was about a metallic value of 0 not showing any reflections, whilst this issue is about roughness value not having an effect on ssr.

@aaandreeew
Copy link
Author

Woohoo!

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.

4 participants