Skip to content

[HDRP][URP][SpeedTree8] Set shadergraph as default SpeedTree 8 shader for Universal. Clean up HDRP importers/upgraders. #5851

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 48 commits into from
Oct 21, 2021

Conversation

nerites
Copy link
Contributor

@nerites nerites commented Sep 29, 2021

Please read the Contributing guide before making a PR.

Checklist for PR maker

  • Have you added a backport label (if needed)? For example, the need-backport-* label. After you backport the PR, the label changes to backported-*.
  • Have you updated the changelog? Each package has a CHANGELOG.md file.
  • Have you updated or added the documentation for your PR? When you add a new feature, change a property name, or change the behavior of a feature, it's best practice to include related documentation changes in the same PR. If you do add documentation, make sure to add the relevant Graphics Docs team member as a reviewer of the PR. If you are not sure which person to add, see the Docs team contacts sheet.
  • Have you added a graphic test for your PR (if needed)? When you add a new feature, or discover a bug that tests don't cover, please add a graphic test.

Purpose of this PR

  • Sets the PBRLit SpeedTree 8 ShaderGraph as the default SpeedTree 8 shader for Universal.
  • Updates the URP ST8 test scene to use the ShaderGraph and have more usable error thresholds
  • Fixes the core SpeedTree8 material upgrader to properly handle common keyword-to-float and float-to-float renames.
  • Updates the HD SpeedTree8 material upgrader to handle _CullModeForward and streamlines code.

The new SpeedTree 8 test scene in URP_Terrain is arranged so that the trees take up a larger proportion of the test image. Previously the trees were very small and failures would only get flagged when enough diffs had accumulated that the visual differences were very obvious.
058_SpeedTree_V8


Testing status

Tested that both importing SpeedTree8 assets and upgrading from builtin works correctly. This is best done by verifying that billboard keywords and wind quality get the expected values on the Billboard material for a Palm asset, since the Palm wind quality and the Billboard being enabled are non-default values.

Importing HDRP:
importhdrp

Upgrading HDRP:
upgradehdrp

Importing URP:
importurp

Upgrading URP:
upgradeurp


Comments to reviewers

Do I need to backport to 21.1?

@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://yamato.cds.internal.unity3d.com/jobs/902-Graphics
Search for your PR branch using the sidebar on the left, 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
/.yamato%252Fall-hdrp.yml%2523PR_HDRP_trunk
With changes to HDRP packages, you should also run
/.yamato%252Fall-lightmapper.yml%2523PR_LightMapper_trunk

URP
/.yamato%252Fall-urp.yml%2523PR_URP_trunk
With changes to URP packages, you should also run
/.yamato%252Fall-lightmapper.yml%2523PR_LightMapper_trunk

Shader Graph
/.yamato%252Fall-shadergraph.yml%2523PR_ShaderGraph_trunk
Depending on your PR, you may also want
/.yamato%252Fall-shadergraph_builtin_foundation.yml%2523PR_ShaderGraph_BuiltIn_Foundation_trunk
/.yamato%252Fall-shadergraph_builtin_lighting.yml%2523PR_ShaderGraph_BuiltIn_Lighting_trunk

SRP Core
You could run ABV on your branch before merging your PR, but it will start A LOT of jobs. Please be responsible about it and run it only when you feel the PR is ready:
/.yamato%252F_abv.yml%2523all_project_ci_trunk
Be aware that any modifications to the Core package impacts everyone in the Graphics repo so please discuss the PR with your lead.

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.

@nerites
Copy link
Contributor Author

nerites commented Oct 1, 2021

The failures in the XR tests look like resolution inconsistencies that were not occurring before I merged SRP master two days ago :/ Reasonably sure the Metal failure is spurious, but I'm still waiting on rerun. Opening for reviews now.

@nerites nerites requested review from a team October 1, 2021 23:11
@nerites nerites requested a review from a team as a code owner October 11, 2021 22:59
Copy link
Contributor

@JMargevics JMargevics left a comment

Choose a reason for hiding this comment

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

Hello, pulled latest and could not reproduce errors anymore. All works well now, can't see any importer regressions on my side. Upgrading builtin assets also had no issues 👍✔

Copy link
Contributor

@Nightmask3 Nightmask3 left a comment

Choose a reason for hiding this comment

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

Approving

Copy link

Choose a reason for hiding this comment

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

Tested with upgrading URP and converting from Built in to URP. Both seems to work.

@phi-lira
Copy link
Contributor

Merged master to run PR URP as many issues that were failing are not fixed.
@nerites is there a path to upgrade the hand written speedtree8 to the shader graph one?

Copy link
Contributor

@phi-lira phi-lira left a comment

Choose a reason for hiding this comment

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

Failures seem instabilities. I re-kicked some jobs to be sure but approving for now.

@phi-lira phi-lira merged commit 567c3f7 into master Oct 21, 2021
@phi-lira phi-lira deleted the terrain/speedtreeurp branch October 21, 2021 13:36
sebastienlagarde pushed a commit that referenced this pull request Oct 21, 2021
… for Universal. Clean up HDRP importers/upgraders. #5851
odbb added a commit that referenced this pull request Oct 21, 2021
* master:
  [HDRP][URP][SpeedTree8] Set shadergraph as default SpeedTree 8 shader for Universal. Clean up HDRP importers/upgraders. (#5851)
  Remove emissive contribution when current depth < min depth. (#6099)
  [HDRP] Fix new pathtracer stacklit test failing for XR + Update 3DS max test with new reference image (#6098)
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.

9 participants