-
-
Notifications
You must be signed in to change notification settings - Fork 20.2k
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
HDRI Sky has weird visual artifacts/bright sparklies #36171
Comments
3.2 is a huge improvement over 3.1. It should look as smooth as possible, but it is extremely hard to generate accurately filtered environment maps in a short amount of time. You can increase the quality of those reflections by increasing BTW those sparkly effects in the 3.1 version are called "fireflies" and they are not supposed to be there. It's actually a huge problem that they are visible. |
@clayjohn I didn't know the sparklys were bad I just thought I maybe had a bad material. I'm not necessarily wanting to improve the quality of the reflections, I'm more concerned with the bad streaking on the clothes and boots and his skin. I'm only noticing this effect on 3.2 with an HDRI. |
@aclave1 If you prefer the look from the left image you can something closer to it by turning off |
Ah, thats too bad. You should still try my above suggestion |
Having this problem as well, unfortunately. It seems to go away if you bake a lightmap (and I imagine global illumination might fix it as well), at least for static geometry, but I feel like it should be possible to not use baked lighting or GI and still have something that looks decent. The current results aren't very usable. |
@varkatope the real issue lies with the HDRI you are using. The artifact is a result of having a single extremely bright point on the HDRI. The only way to solve it is to take more samples when generating the radiance map. However, that is extremely slow. Alternatively, you can use an HDRI with better luminance balance. Godot 4.0 improves the situation dramatically by allowing users to specify how many samples they want, it also provides an alternative algorithm that handles bright spots better. |
@clayjohn Ah, that's good to know. That's indeed likely the issue in my current HDRI. I'll test out some other ones and see if I can get better results. Or look into generating my own. Looking forward to 4.0 as well. Thanks for the answer! |
@clayjohn thank you for your tip. I will look into the HDRI situation. I did notice that the issue was more/less pronounced when I changed HDRIs. I will test with some other HDRIs and close out the issue if that fixes it. |
@aclave1 Did you manage to fix it by using another HDRI? |
@Calinou no - I was able to develop a minimal reproduction project a few days ago with a simple blender cube and a texture. I tested free HDRIs from texture haven and other websites. It notice the affect is most apparent when a model is textured using solid colors with no variation, like what you'd achieve with blender's paint bucket tool. |
Reproduction project: bug_hdri_repro.zip |
My apologies for not updating this post earlier. A proper fix for HDRI fireflies required us to redo our system for generating radiance maps from HDRIs. Accordingly, a proper fix is out of scope for 3.2 (you can see this issue was milestoned for 4.0). Generating radiance maps is a tradeoff between quality and time. Proper radiance maps (like in blender) involve performing a large integration over the entire unit sphere. It can take several seconds to do so. In Godot our time budget is in the range of milliseconds, not seconds, so we have to accept worse quality. The proper solution in 3.2 is to reduce the brightness of the sun area of the HDRI. The artifacts are caused by having small areas that are substantially brighter than surrounding areas. Luckily, since we are improving rendering so much for 4.0 we were able to take the time to properly fix this issue in #36588. Note the artifacts in the images on this PR are the same as the ones you are seeing but even more exaggerated. This PR uses a different method for generating radiance maps that reduce the firefly artifacts to almost nothing. Further, you can still use the regular approach, but you have more control over the number of samples and the quality of the generation so you can find your own balance between time and quality. Again, sorry for not updating this earlier and thanks for the taking the time to create an MRP and update this issue. Closed by: #36588 |
Godot version:
Version 3.2
Works fine in 3.1.1
OS/device including version:
Windows 10, Desktop PC GTX 1070
Issue description:
In godot 3.2, when using a panorama sky with an HDRI panorama, weird artifacts appear. In the screenshot I posted, the model has albedo and roughness textures on all the meshes and also metallic on the armor. I am noticing these issues with 2 different meshes, each of which is a rigged character mesh.
I'm not an expert in lighting or graphics/hdri, but I think the problem is related to the resolution of some framebuffer in a shader? When i look at 3.1, I can clearly see very fine reflections from the hdri in things like the metal, and the clothes look very flat as expected. When I look at 3.2, the shading looks pixelated and stretched.
Steps to reproduce:
Minimal reproduction project:
Here's a screenshot of the same scene with Godot 3.1 on the left and 3.2 on the right.
The text was updated successfully, but these errors were encountered: