Cycles: Add tests for new volumetric scatter phase functions #25

Merged
Alaska merged 4 commits from new-volume-scatter-phases into main 2024-11-28 06:58:01 +01:00
Member

Blender 4.3 added new volumetric scatter phase functions to Cycles.
This commit adds tests for each of the new phase functions.

Thanks to Weizhen for the Fournier-Forand scene.

Ref: blender/blender@0315eae536
Ref: blender/blender#123012

Blender 4.3 added new volumetric scatter phase functions to Cycles. This commit adds tests for each of the new phase functions. Thanks to Weizhen for the Fournier-Forand scene. Ref: blender/blender@0315eae536b987d8b133b2bb16219c2b3267071c Ref: blender/blender#123012
Alaska added 1 commit 2024-11-25 11:20:04 +01:00
Blender 4.3 added new volumetric scatter phase functions to Cycles.
This commit adds tests for each of the new phase functions.

Ref: blender/blender@0315eae536
Ref: blender/blender#123012
Alaska requested review from Sergey Sharybin 2024-11-25 11:20:24 +01:00
Alaska requested review from Lukas Stockner 2024-11-25 11:20:24 +01:00
Alaska requested review from Weizhen Huang 2024-11-25 11:20:25 +01:00
Author
Member

The test scenes are designed around their intended use cases:

  • Draine uses a simple galaxy
  • Fournier-Forand is a camera inside a "body of water" with a log floating along the top, casting a shadow
  • Mie is on a cloud
  • Rayleigh is a atmosphere around a planet
The test scenes are designed around their intended use cases: - Draine uses a simple galaxy - Fournier-Forand is a camera inside a "body of water" with a log floating along the top, casting a shadow - Mie is on a cloud - Rayleigh is a atmosphere around a planet
Alaska changed title from Cycles: Add tests for new volumetric scatter phase functions to WIP: Cycles: Add tests for new volumetric scatter phase functions 2024-11-25 11:57:30 +01:00
Alaska changed title from WIP: Cycles: Add tests for new volumetric scatter phase functions to Cycles: Add tests for new volumetric scatter phase functions 2024-11-25 13:00:08 +01:00
Member

Mie:

  • Is there any difference between the two clouds in Mie? Is it just the position of the light?
  • I think it would be better to test Mie with directional light.
  • I'm extending the radius range of Mie in blender/blender!130234, we should test each radius range then.

Fournier-Forand:

  • I'm not quite sure how this phase function is supposed to be use, I feel we could attach a glass surface with IOR = 1.33, then the phase function describes the behavior inside the glass. I experimented with this setting and feel that it looks a tad more like water.
Mie: - Is there any difference between the two clouds in Mie? Is it just the position of the light? - I think it would be better to test Mie with directional light. - I'm extending the radius range of Mie in blender/blender!130234, we should test each radius range then. Fournier-Forand: - I'm not quite sure how this phase function is supposed to be use, I feel we could attach a glass surface with IOR = 1.33, then the phase function describes the behavior inside the glass. I experimented with this setting and feel that it looks a tad more like water.
Alaska added 1 commit 2024-11-25 13:11:12 +01:00
Author
Member

Mie:

  • Is there any difference between the two clouds in Mie? Is it just the position of the light?

Just the position of the light.

  • I'm extending the radius range of Mie in !130234, we should test each radius range then.

Should we put this PR on hold until those changes are in? Or should we handle it as a seperate task?


Fournier-Forand:

  • I'm not quite sure how this phase function is supposed to be use, I feel we could attach a glass surface with IOR = 1.33, then the phase function describes the behavior inside the glass. I experimented with this setting and feel that it looks a tad more like water.

The scene you've provided looks way nicer. I will update the tests to use that.

> Mie: > - Is there any difference between the two clouds in Mie? Is it just the position of the light? Just the position of the light. > - I'm extending the radius range of Mie in !130234, we should test each radius range then. Should we put this PR on hold until those changes are in? Or should we handle it as a seperate task? --- > Fournier-Forand: > - I'm not quite sure how this phase function is supposed to be use, I feel we could attach a glass surface with IOR = 1.33, then the phase function describes the behavior inside the glass. I experimented with this setting and feel that it looks a tad more like water. The scene you've provided looks way nicer. I will update the tests to use that.
Member

Should we put this PR on hold until those changes are in? Or should we handle it as a seperate task?

I was thinking we can put all the radii in one test file, but that might make the scene too crowded.
Since Mie is strong forward-scattering, it's also fine to test different light positions in this file, then add a separate test for radius later.

> Should we put this PR on hold until those changes are in? Or should we handle it as a seperate task? I was thinking we can put all the radii in one test file, but that might make the scene too crowded. Since Mie is strong forward-scattering, it's also fine to test different light positions in this file, then add a separate test for radius later.
Alaska added 1 commit 2024-11-25 14:33:28 +01:00
- Make the resolution consistent 128x128
- Make each scene look a little nicer:
  - Draine adjusted the colour of the galaxy and add stars to the background
  - Fournier-Forand: Use Weizhens ocean scene with some adjustments
  - Mie: Adjusted lighting
  - Rayleigh: Made it look like a sunset
Sergey Sharybin approved these changes 2024-11-25 14:47:13 +01:00
Sergey Sharybin left a comment
Owner

To me the latest update seems good.
I'd leave it up to Weizhen to do the final call.

To me the latest update seems good. I'd leave it up to Weizhen to do the final call.
Author
Member

The PR needs to go through another set of changes. The render tests are failing on the build bot with the mie scatting test file. I will take a look at this and update the tests tomorrow.

Feel free to review the rest of the tests

The PR needs to go through another set of changes. The render tests are failing on the build bot with the `mie` scatting test file. I will take a look at this and update the tests tomorrow. Feel free to review the rest of the tests
Member

Draine is actually supposed to be used with alpha <= 1, see paper, we should test that range. Mie scattering which uses Draine already test larger ranges.
Otherwise looks good to me. The scenes are very beautiful!

Draine is actually supposed to be used with `alpha <= 1`, see [paper](https://iopscience.iop.org/article/10.1086/379118/pdf), we should test that range. Mie scattering which uses Draine already test larger ranges. Otherwise looks good to me. The scenes are very beautiful!
Alaska added 1 commit 2024-11-26 14:55:35 +01:00
- Remove light linking from Mie test (It seemed to be causing some inconsistencies)
- Adjust the alpha in the draine test
Author
Member

I've made two changes in the latest update.

  • I removed light linking from the Mie scene (which was used to isolate the light to the clouds) and instead use a plane that's not visible to the camera to block the light.
    • With light linking the results didn't seem to be deterministic. I'll open a bug report for it soon.
  • The left side of the draine test now tests the 0-1 Alpha range, the right side tests the 1-20 range.
I've made two changes in the latest update. - I removed light linking from the Mie scene (which was used to isolate the light to the clouds) and instead use a plane that's not visible to the camera to block the light. - With light linking the results didn't seem to be deterministic. I'll open a bug report for it soon. - The left side of the draine test now tests the 0-1 Alpha range, the right side tests the 1-20 range.
Weizhen Huang approved these changes 2024-11-26 15:03:00 +01:00
Alaska merged commit 3c958191d4 into main 2024-11-28 06:58:01 +01:00
Alaska deleted branch new-volume-scatter-phases 2024-11-28 06:58:02 +01:00
Sign in to join this conversation.
No Label
No Milestone
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-test-data#25
No description provided.