Skip to content

[HDRP][Path Tracing] Improved robustness of the stacklit material #6066

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

Merged
merged 6 commits into from
Oct 20, 2021

Conversation

eturquin
Copy link
Contributor

@eturquin eturquin commented Oct 19, 2021

Addresses: https://fogbugz.unity3d.com/f/cases/1373971/

  • Fixed numerical instability when computing clearcoat IOR, with a null coatMask.
  • Also fixed an issue with uninitialized Fresnel value when the GGX evaluation is failing, and that was causing rare NaNs with the stacklit material.
  • Lastly, adjusted the BSDF_WEIGHT_EPSILON, which was previously too high and causing banding when used as a threshold to decide on evaluating lobes or not.

This has been tested on the scene provided in the bug report.

@github-actions
Copy link

Hi! This comment will help you figure out which jobs to run before merging your PR. The suggestions are dynamic based on what files you have changed.
Link to Yamato: https://unity-ci.cds.internal.unity3d.com/project/902/
Search for your PR branch using the search bar at the top, then add the following segment(s) to the end of the URL (you may need multiple tabs depending on how many packages you change)

HDRP
/jobDefinition/.yamato%2Fall-hdrp.yml%23HDRP_trunk
With changes to HDRP packages, you should also run
/jobDefinition/.yamato%252Fall-lightmapper.yml%2523PR_LightMapper_trunk

Depending on the scope of your PR, you may need to run more jobs than what has been suggested. Please speak to your lead or a Graphics SDET (#devs-graphics-automation) if you are unsure.

@github-actions
Copy link

It appears that you made a non-draft PR!
Please convert your PR to draft (button on the right side of the page).
See the PR template for more information.
Thank you!

@remi-chapelain remi-chapelain requested a review from a team October 19, 2021 13:12
@remi-chapelain
Copy link
Contributor

remi-chapelain commented Oct 19, 2021

Modified two things:

  • In the 3DS material shader graph (which uses a stacklit master node), the type on the Sample Texture for the coat normal map was set to default instead of normal. The result was that normal were incorrects and defaulted to geometric normal giving you a "blocky" look on a sphere for example for the coat layer.
  • Added a stacklit test for the pathtracer
    image

@sebastienlagarde sebastienlagarde removed the request for review from a team October 19, 2021 17:43
Copy link
Contributor

@remi-chapelain remi-chapelain left a comment

Choose a reason for hiding this comment

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

All good to me.
Tested the repro too and the tests scene. ✔️
Also launched Stacklit example project to try and detect possible regression ✔️

@sebastienlagarde sebastienlagarde merged commit 4bdfc8b into master Oct 20, 2021
@sebastienlagarde sebastienlagarde deleted the hd/pt_stacklit_robustness branch October 20, 2021 11:44
sebastienlagarde added a commit that referenced this pull request Oct 20, 2021
)

* Improved robustness of the stacklit material.

* Updated changelog.

* Changed coat normal sample texture from default to normal

* add 5007 stacklit test scene for PT

* added scene to build settings

Co-authored-by: Remi Chapelain <remi.chapelain@unity3d.com>
Co-authored-by: sebastienlagarde <sebastien@unity3d.com>
odbb added a commit that referenced this pull request Oct 20, 2021
* master:
  Add missing shader stages in shader keyword copying  (#6008)
  [Yamato] Add all DX11 job for URP (#6075)
  [HDRP] Add more performance test coverage (#5814)
  Fix templates ISO date (#6073)
  Fix division by 0 when AO is 0 (#6078)
  Fixed grammar errors (#6077)
  [HDRP][Path Tracing] Improved robustness of the stacklit material (#6066)
  [APV] Cell streaming system (#5731)
  Update revision for URP update test project (#6061)
  [HDRP][Path Tracing] Camera ray misses now return a null value with Minimum Depth > 1 (#6067)
  Renable missing test (Lens Flare) (#5456)
  [HDRP][Path Tracing] Added proper support for interleaved tiling (#5953)
  Fix to render depth or depth/normal of waving grass (#4097)
  Remove ScreenSpaceShadowResolvePass (#6002)
  [HDRP][Docs] Update docs with RendererList related option (#6031)
  Layer drawer used in ray/path tracing now matches 100% with camera's. (#5956)
  Fix iridescence tooltip (#5950)
  [HDRP] Change RenderGraph Begin/Execute function pattern to avoid leaks (#5929)
  [HDRP] Fix errors when switching build targets in editor (#5918)
  Generate a material as a subasset for ShaderGraphs (#5795)
sebastienlagarde added a commit that referenced this pull request Oct 21, 2021
* APV: update some tooltips and add a clamp on dilation validity threshold (#6005)

* Tooltip and dilation thresh clamp

* More tooltip grammar

* Small qol (#6036)

* Fix subdiv view (#6033)

* ** Improving FTPL perf on ps4 by .3 ms on average ** (#5866)

* Adding FPTL caching of light volume, adding new conditional for early out of loop and forcing loop to be dynamic

* Early out on the wave itself if we find at least 1 valid light, saves additional 0.05ms

* Fixing some compiler warnings

* Update to HDRP Asset analytics (#6060)

* Updated HDRP analytics

- New version of hdrp usage to better analyse data
- Default values event to populate default values for the dashboard

* Fixed menu item

* Enable iris normal for Eye shader (#5880)

* Enable Iris normal for Eye shader

* categories

* update eye sample

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* [HDRP] Fix errors when switching build targets in editor #5918

* [HDRP] Change RenderGraph Begin/Execute function pattern to avoid leaks (#5929)

* Fix render graph not being executed when an exception is thrown from the graph recording

* Cleanup + doc

* Fix iridescence tooltip (#5950)

* Fix tooltip

* Update Material-Type.md

* Update iridescence-thickness.md

* Update LitSurfaceInputsUIBlock.cs

* Layer drawer used in ray/path tracing now matches 100% with camera's. (#5956)

Please enter the commit message for your changes. Lines starting

* [HDRP][Docs] Update docs with RendererList related option (#6031)

* Update docs with RendererList related option

* Minor edit

* [HDRP][Path Tracing] Added proper support for interleaved tiling (#5953)

* Added ortho cam support, plus raygen refactor.

* Added support for interleaved tiling.

* Added spread angle adjustment.

* Offset tile sub-pixels, instead of relying on proj matrix modifications.

* Undoed last commit.

* Use tiled pixel coords for all things sampling-related (incl. lens).

* Update CHANGELOG.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Renable missing test (Lens Flare) (#5456)

* Renable missing test (Lens Flare)

* Update references images for 4092

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* [HDRP][Path Tracing] Camera ray misses now return a null value with Minimum Depth > 1 #6067

* [HDRP][Path Tracing] Improved robustness of the stacklit material (#6066)

* Improved robustness of the stacklit material.

* Updated changelog.

* Changed coat normal sample texture from default to normal

* add 5007 stacklit test scene for PT

* added scene to build settings

Co-authored-by: Remi Chapelain <remi.chapelain@unity3d.com>
Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed grammar errors (#6077)

* Fix division by 0 when AO is 0 (#6078)

* [HDRP] Fix the injection point field not visible in custom pass volumes (#6084)

* Fix custom pass injection point not visible when using the Camera mode.

* updated changelog

Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com>
Co-authored-by: Kleber Garcia <kleber.garcia@unity3d.com>
Co-authored-by: JulienIgnace-Unity <julien@unity3d.com>
Co-authored-by: Adrien de Tocqueville <adrien.tocqueville@unity3d.com>
Co-authored-by: Antoine Lelievre <antoinel@unity3d.com>
Co-authored-by: Emmanuel Turquin <emmanuel@turquin.org>
Co-authored-by: Pavlos Mavridis <pavlos.mavridis@unity3d.com>
Co-authored-by: skhiat <55133890+skhiat@users.noreply.github.com>
Co-authored-by: Remi Chapelain <remi.chapelain@unity3d.com>
Co-authored-by: emilybrown1 <88374601+emilybrown1@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants