Skip to content

Improve energy conservation in the solari BRDF#24246

Open
dylansechet wants to merge 2 commits into
bevyengine:mainfrom
dylansechet:solari_brdf_mixing
Open

Improve energy conservation in the solari BRDF#24246
dylansechet wants to merge 2 commits into
bevyengine:mainfrom
dylansechet:solari_brdf_mixing

Conversation

@dylansechet
Copy link
Copy Markdown
Contributor

Objective

This PR is split off from #23818.
It depends on #24243, which is integrated as the first commit here.

There's an issue in the solari BRDF which causes partially metallic objects to lose energy in the white furnace test.

Solution

The current BRDF computes a blended F0 between metallic and dielectric materials, and then uses it it for calculations. It should be evaluating both the metallic and dielectric BRDFs separately and only blend them as a last step.

A similar issue used to be present for IBL and was fixed in the same way, see #23203.

Showcase

White furnace test

With #24243 applied:
layering

This PR:
mixing

@kfc35 kfc35 added A-Rendering Drawing game state to the screen S-Needs-Review Needs reviewer attention (from anyone!) to move forward D-Shaders This code uses GPU shader languages labels May 11, 2026
@github-project-automation github-project-automation Bot moved this to Needs SME Triage in Rendering May 11, 2026
@kfc35 kfc35 removed the S-Needs-Review Needs reviewer attention (from anyone!) to move forward label May 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-Rendering Drawing game state to the screen D-Shaders This code uses GPU shader languages

Projects

Status: Needs SME Triage

Development

Successfully merging this pull request may close these issues.

2 participants