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

BRDF Correctness #45

Closed
MilchRatchet opened this issue Oct 31, 2021 · 3 comments
Closed

BRDF Correctness #45

MilchRatchet opened this issue Oct 31, 2021 · 3 comments
Labels
Bug Something isn't working GPU Runs on the GPU Visual

Comments

@MilchRatchet
Copy link
Owner

MilchRatchet commented Oct 31, 2021

The current material workflow, especially the weighing of directions, is shotty and probably mostly inaccurate. (Fog is so bad I don't even want to start talking about it)

There are material models that combine specular and diffuse BRDF. This probably better than the current approach. The current BRDF has quite a significant energy loss.

@MilchRatchet MilchRatchet added Bug Something isn't working Visual GPU Runs on the GPU labels Oct 31, 2021
@MilchRatchet MilchRatchet added this to the Initial Release milestone Dec 28, 2021
@MilchRatchet MilchRatchet changed the title Ray Distribution Weights BRDF Correctness Jan 31, 2022
@MilchRatchet
Copy link
Owner Author

The BRDF was massively improved in 416f981. However, there is now also a new bug with metallic materials with almost 1 albedo. The refraction BRDF looks mostly fine but it is probably worth taking a closer look once more.

These two things are the remaining things for this issue. The fog will be handled in another issue.

@MilchRatchet
Copy link
Owner Author

The bug with metallic materials is somewhat fixed in a917341. The issue is that the multiscattering compensation assumes valid reflection which is not always the case with light sampling. A more rigid solution may be good here but that is something for the future.

@MilchRatchet
Copy link
Owner Author

I reworked the refraction BRDF a bit in 388f5fa. It is now conserving more energy and takes albedo into account. It is still not a good implementation but since refraction is only used by the toy and the ocean, it is less important and thus I will close this issue for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something isn't working GPU Runs on the GPU Visual
Projects
None yet
Development

No branches or pull requests

1 participant