Skip to content

Skip adding the LOD's renderer to the checked renderer if it's null #4313

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
Apr 27, 2021

Conversation

remi-chapelain
Copy link
Contributor

@remi-chapelain remi-chapelain commented Apr 26, 2021

Purpose of this PR

This PR fixes a very specific use case with LOD and building the AS.
When adding LOD group to the Acceleration Structure, ray tracing manager will only add the top level LOD (0).
However, for some reasons, a reference of each renderer is kept and if multiple LOD are using the same mesh, they have different renderer instance ID so they also need to be added to this reference list.

If one of the LOD is missing a renderer, there's no check for null renderer so it make the whole building AS operation fails.

A check has been added to the "check content for raytracing"
image.

Also, after this PR, we forgot to update the checks here and some were obsolete. Those have been updated with the new correct behavior about double sided-ness in multimat mesh having priority in the acceleration structure.

This has been found in 2021.1 so it probably needs a backport in 11 and 10


Testing status

  • Tested on the use case with one LOD missing a mesh renderer and made sure that it does not repro anymore.
  • Tested that a warning was being thrown with one or more missing renderer in an LODGroup
  • Tested that no warnings were being thrown with no missing renderer in a LODGroup

Comments to reviewers

N/A (purpose of the PR have been updated)

@remi-chapelain remi-chapelain requested a review from a team April 26, 2021 15:02
Copy link
Contributor

@sebastienlagarde sebastienlagarde left a comment

Choose a reason for hiding this comment

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

I am fine with the change, but it have indent issue and space (will fail yamato) and I am fine with adding this to the scene checker, good idea.

Copy link
Contributor

@iM0ve iM0ve left a comment

Choose a reason for hiding this comment

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

Looks good, minor change.

@sebastienlagarde sebastienlagarde marked this pull request as ready for review April 27, 2021 13:58
@sebastienlagarde sebastienlagarde merged commit f09d661 into hd/bugfix Apr 27, 2021
@sebastienlagarde sebastienlagarde deleted the hd/fix-missing-renderer-lod-ras branch April 27, 2021 13:58
JordanL8 added a commit that referenced this pull request Apr 27, 2021
sebastienlagarde added a commit that referenced this pull request Apr 27, 2021
Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>
sebastienlagarde added a commit that referenced this pull request Apr 30, 2021
* Fix null exception on Raytracing SSS volume component (#4322)

* Add null check

* changelog

* Fix issue with Eye shader and area light (#4310)

* Fix Ray Tracing Light Cluster debug mode (#4327)

* Remove unneeded position from input layout of light cluster

* Changelog

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

* Skip adding the LOD's renderer to the checked renderer if it's null (#4313)

* Skip adding the LOD's renderer to the checked renderer if it's null

* changelog

* Add LODgroup missing renderer to "check scene content for ray tracing"

* formatting test

* formatting

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

* Update doc of transparent motion vectors to specify TAA of object behind will be impacted (#4325)

* Update doc

* Fix doc

* Fixed Look Dev breaking when docked and rendered at zero size. (#4331)

* Fixed an issue where sometime a docked lookdev could be rendered at zero size and break.

* Update changelog

# Conflicts:
#	com.unity.render-pipelines.high-definition/CHANGELOG.md

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

* [HDRP] Added a bit about scaling issues when dealing with history buffers (#4333)

* Updated troubleshooting custom pass doc

* Update Custom-Pass-Troubleshooting.md

* Fixed an issue where runtime debug window UI would leak game objects. (#4337)

* Fixed an issue where runtime debug window UI would leak game objects.

* Update changelog

* Updated documentation to support #4313 (#4336)

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

* Fixed NaNs when denoising pixels where the dot product between normal and view direction is near zero (#4342)

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

* updated tooltip (#4334)

* Doc for custom matrix for fog (#4352)

* [Fogbugz 1324000] Fixing unlit emissive reflections (#4340)

* Fix ray tracing unlit emissive exposure.

Changelog

* Automated tests coverage

* update scenes

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

* [Fogbugz 1329173] Fixing wrong pyramid color dimensions when hardware DRS is on. (#4346)

* Fixing bad pyramid color source texture size. DRS hanlder must be queried since the mip levels depend on the source hardware resolution

* Changelog

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

* Fix RTHandle scale bias [1329977] (#4320)

* Fix RTHandle scale bias

* Add changelog

* Fix history sacle

* Fix

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

* Fixed emission material properties not being animable (#4366)

* Fixed emission material properties not being animable

* Updated changelog

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

* Fix fog precision (#4364)

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

* Fix erroneous tile coordinate calculations in contact shadows (#4335)

* Fix wrong tile coord calculations

* Changelog

* Update test scene for contact shadow to cover data

* update references screenshots

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

* [HDRP]Fix history buffer allocation for AOVs when the request does not come in first frame (#4361)

* Fix  history buffer allocation for AOVs when the request does not come in first frame

* Add a break in the for loop

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

* Fix for volumetric clouds performing Read and Write on same texture [Unsupported on some platforms] (#4356)

* Fix for usage of camera color RW when not supported.

* Re-enable on metal

* changelog

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

* Update TestCaseFilters.asset

* update metal screenshots

* missing meta

* [Fogbugz 1330769] Fixing bloom bicubic filtering for DRS (#4370)

* Fixing bloom bicubic filtering for DRS, bicubic was using the wrong dimensions / texel sizes

* Adding better comment to explain offseting of bicubic texture offset fix

* update reference screenshots

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

Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com>
Co-authored-by: Rémi Chapelain <57442369+remi-chapelain@users.noreply.github.com>
Co-authored-by: JulienIgnace-Unity <julien@unity3d.com>
Co-authored-by: Antoine Lelievre <antoinel@unity3d.com>
Co-authored-by: Lewis Jordan <lewis.jordan@hotmail.co.uk>
Co-authored-by: Pavlos Mavridis <pavlos.mavridis@unity3d.com>
Co-authored-by: Adrien de Tocqueville <adrien.tocqueville@unity3d.com>
Co-authored-by: Kleber Garcia <kleber.garcia@unity3d.com>
Co-authored-by: Remi Chapelain <remi.chapelain@unity3d.com>
Co-authored-by: skhiat <55133890+skhiat@users.noreply.github.com>
sebastienlagarde added a commit that referenced this pull request Apr 30, 2021
* Added define for new reflection probe API update (case 1290521)

* Updated changelog

* Fix null exception on Raytracing SSS volume component (#4322)

* Add null check

* changelog

* Fix issue with Eye shader and area light (#4310)

* Fix Ray Tracing Light Cluster debug mode (#4327)

* Remove unneeded position from input layout of light cluster

* Changelog

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

* Skip adding the LOD's renderer to the checked renderer if it's null (#4313)

* Skip adding the LOD's renderer to the checked renderer if it's null

* changelog

* Add LODgroup missing renderer to "check scene content for ray tracing"

* formatting test

* formatting

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

* Update doc of transparent motion vectors to specify TAA of object behind will be impacted (#4325)

* Update doc

* Fix doc

* Fixed Look Dev breaking when docked and rendered at zero size. (#4331)

* Fixed an issue where sometime a docked lookdev could be rendered at zero size and break.

* Update changelog

# Conflicts:
#	com.unity.render-pipelines.high-definition/CHANGELOG.md

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

* [HDRP] Added a bit about scaling issues when dealing with history buffers (#4333)

* Updated troubleshooting custom pass doc

* Update Custom-Pass-Troubleshooting.md

* Fixed an issue where runtime debug window UI would leak game objects. (#4337)

* Fixed an issue where runtime debug window UI would leak game objects.

* Update changelog

* Updated documentation to support #4313 (#4336)

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

* Fixed NaNs when denoising pixels where the dot product between normal and view direction is near zero (#4342)

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

* updated tooltip (#4334)

* Doc for custom matrix for fog (#4352)

* [Fogbugz 1324000] Fixing unlit emissive reflections (#4340)

* Fix ray tracing unlit emissive exposure.

Changelog

* Automated tests coverage

* update scenes

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

* [Fogbugz 1329173] Fixing wrong pyramid color dimensions when hardware DRS is on. (#4346)

* Fixing bad pyramid color source texture size. DRS hanlder must be queried since the mip levels depend on the source hardware resolution

* Changelog

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

Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com>
Co-authored-by: sebastienlagarde <sebastien@unity3d.com>
Co-authored-by: Rémi Chapelain <57442369+remi-chapelain@users.noreply.github.com>
Co-authored-by: JulienIgnace-Unity <julien@unity3d.com>
Co-authored-by: Antoine Lelievre <antoinel@unity3d.com>
Co-authored-by: Lewis Jordan <lewis.jordan@hotmail.co.uk>
Co-authored-by: Pavlos Mavridis <pavlos.mavridis@unity3d.com>
Co-authored-by: Adrien de Tocqueville <adrien.tocqueville@unity3d.com>
Co-authored-by: Kleber Garcia <kleber.garcia@unity3d.com>
Co-authored-by: Remi Chapelain <remi.chapelain@unity3d.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