Skip to content

Conversation

@JMS55
Copy link
Contributor

@JMS55 JMS55 commented Dec 29, 2025

  • Add a small profiling overlay to the Solari example that times different parts of Solari's GPU work (DLSS-RR not added because wgpu timestamps aren't working correctly with wgpu_hal work, I need to fix that as a separate thing)
  • Add a many-lights stress test to the Solari example (100 lights) inspired by https://x.com/Roystoncinemo/status/1841917611833229411. Currently somewhat unusable, but this will ideally be a bigger focus for Solari 0.19.
  • Changed emissive to have exposure applied, as if emissive_exposure_weight was always set to 1.0 (StandardMaterial defaults to 0.0 which I'm not convinced is a good idea, but that's a separate topic). If we didn't do this, the emissive meshes would render as insanely bright white to the point of overflowing the texture and breaking DLSS-RR. I think the new behavior is more what people expect to happen, and matches the pathtracer result now.
image

@JMS55 JMS55 requested a review from SparkyPotato December 29, 2025 02:28
@JMS55 JMS55 added C-Bug An unexpected or incorrect behavior A-Rendering Drawing game state to the screen C-Examples An addition or correction to our examples labels Dec 29, 2025
@JMS55 JMS55 added this to the 0.18 milestone Dec 29, 2025
@JMS55 JMS55 added the S-Needs-Review Needs reviewer attention (from anyone!) to move forward label Dec 29, 2025
Copy link
Contributor

@ChristopherBiscardi ChristopherBiscardi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no dlss:

image

dlss:

image

without flag still works

image

@ChristopherBiscardi ChristopherBiscardi added S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it and removed S-Needs-Review Needs reviewer attention (from anyone!) to move forward labels Dec 29, 2025
@alice-i-cecile alice-i-cecile added this pull request to the merge queue Dec 30, 2025
Merged via the queue into bevyengine:main with commit b4deee2 Dec 30, 2025
36 checks passed
mockersf pushed a commit that referenced this pull request Dec 30, 2025
* Add a small profiling overlay to the Solari example that times
different parts of Solari's GPU work (DLSS-RR not added because wgpu
timestamps aren't working correctly with wgpu_hal work, I need to fix
that as a separate thing)
* Add a many-lights stress test to the Solari example (100 lights)
inspired by https://x.com/Roystoncinemo/status/1841917611833229411.
Currently somewhat unusable, but this will ideally be a bigger focus for
Solari 0.19.
* Changed emissive to have exposure applied, as if
`emissive_exposure_weight` was always set to 1.0 (StandardMaterial
defaults to 0.0 which I'm not convinced is a good idea, but that's a
separate topic). If we didn't do this, the emissive meshes would render
as insanely bright white to the point of overflowing the texture and
breaking DLSS-RR. I think the new behavior is more what people expect to
happen, and matches the pathtracer result now.
<img width="3206" height="1875" alt="image"
src="https://github.com/user-attachments/assets/af3990d6-ae2d-4520-a7cd-f04041685152"
/>

---------

Co-authored-by: Chris Biscardi <[email protected]>
Co-authored-by: Alice Cecile <[email protected]>
mockersf pushed a commit that referenced this pull request Dec 30, 2025
* Add a small profiling overlay to the Solari example that times
different parts of Solari's GPU work (DLSS-RR not added because wgpu
timestamps aren't working correctly with wgpu_hal work, I need to fix
that as a separate thing)
* Add a many-lights stress test to the Solari example (100 lights)
inspired by https://x.com/Roystoncinemo/status/1841917611833229411.
Currently somewhat unusable, but this will ideally be a bigger focus for
Solari 0.19.
* Changed emissive to have exposure applied, as if
`emissive_exposure_weight` was always set to 1.0 (StandardMaterial
defaults to 0.0 which I'm not convinced is a good idea, but that's a
separate topic). If we didn't do this, the emissive meshes would render
as insanely bright white to the point of overflowing the texture and
breaking DLSS-RR. I think the new behavior is more what people expect to
happen, and matches the pathtracer result now.
<img width="3206" height="1875" alt="image"
src="https://github.com/user-attachments/assets/af3990d6-ae2d-4520-a7cd-f04041685152"
/>

---------

Co-authored-by: Chris Biscardi <[email protected]>
Co-authored-by: Alice Cecile <[email protected]>
mockersf pushed a commit that referenced this pull request Dec 30, 2025
* Add a small profiling overlay to the Solari example that times
different parts of Solari's GPU work (DLSS-RR not added because wgpu
timestamps aren't working correctly with wgpu_hal work, I need to fix
that as a separate thing)
* Add a many-lights stress test to the Solari example (100 lights)
inspired by https://x.com/Roystoncinemo/status/1841917611833229411.
Currently somewhat unusable, but this will ideally be a bigger focus for
Solari 0.19.
* Changed emissive to have exposure applied, as if
`emissive_exposure_weight` was always set to 1.0 (StandardMaterial
defaults to 0.0 which I'm not convinced is a good idea, but that's a
separate topic). If we didn't do this, the emissive meshes would render
as insanely bright white to the point of overflowing the texture and
breaking DLSS-RR. I think the new behavior is more what people expect to
happen, and matches the pathtracer result now.
<img width="3206" height="1875" alt="image"
src="https://github.com/user-attachments/assets/af3990d6-ae2d-4520-a7cd-f04041685152"
/>

---------

Co-authored-by: Chris Biscardi <[email protected]>
Co-authored-by: Alice Cecile <[email protected]>
mockersf pushed a commit that referenced this pull request Dec 30, 2025
* Add a small profiling overlay to the Solari example that times
different parts of Solari's GPU work (DLSS-RR not added because wgpu
timestamps aren't working correctly with wgpu_hal work, I need to fix
that as a separate thing)
* Add a many-lights stress test to the Solari example (100 lights)
inspired by https://x.com/Roystoncinemo/status/1841917611833229411.
Currently somewhat unusable, but this will ideally be a bigger focus for
Solari 0.19.
* Changed emissive to have exposure applied, as if
`emissive_exposure_weight` was always set to 1.0 (StandardMaterial
defaults to 0.0 which I'm not convinced is a good idea, but that's a
separate topic). If we didn't do this, the emissive meshes would render
as insanely bright white to the point of overflowing the texture and
breaking DLSS-RR. I think the new behavior is more what people expect to
happen, and matches the pathtracer result now.
<img width="3206" height="1875" alt="image"
src="https://github.com/user-attachments/assets/af3990d6-ae2d-4520-a7cd-f04041685152"
/>

---------

Co-authored-by: Chris Biscardi <[email protected]>
Co-authored-by: Alice Cecile <[email protected]>
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 C-Bug An unexpected or incorrect behavior C-Examples An addition or correction to our examples S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants