-
Notifications
You must be signed in to change notification settings - Fork 840
[Shadergraph] Master Stacks [Skip CI] #571
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
Conversation
* Refresh widgets in play mode. Added doc. Reduced refresh rate * Changelog * Added some code doc * Fix refresh rate and scroll over hidden volumes in play mode Co-authored-by: sebastienlagarde <sebastien@unity3d.com>
# Conflicts: # com.unity.shadergraph/Editor/Drawing/MaterialGraphEditWindow.cs # com.unity.shadergraph/Editor/Drawing/PreviewManager.cs # com.unity.shadergraph/Editor/Drawing/Views/GraphEditorView.cs
… error (case 1238155) (#215) * fix bug 1238155 * Update CHANGELOG.md * Update HDRenderPipeline.cs * Update HDRenderPipelineAsset.cs
…hics into sg/happy-json-v2
…ics into sg/master-stack
…ics into sg/master-stack
… CI] (#685) * Fix upgrade of unlit and PBR master node * Update MaterialPostProcessor.cs * Update MaterialPostProcessor.cs * Update MaterialPostProcessor.cs * Apply upgrade only when metadata say it * Fix issue with material upgrade process * Update UniversalTarget.cs
* Added clear coat setting in HD Lit target * Rename coatmask to clearcoat * Remove "Enable" in front of clear coat setting
…ics into sg/master-stack
…#703) * Add protection in migration when rendering pass was set to background * Fix rendering pass migration for unlit Co-authored-by: sebastienlagarde <sebastien@unity3d.com>
* Fix renderqueu generation * fix renderingPass correctly * clean m_AddPrecomputedVelocity usuage
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Posting feedback here to wrap up findings on HDRP side.
Some cases with “Requesting non existent keyword” exceptions pop up:
- When enabling Alpha Clipping https://docs.google.com/document/d/1O_wnqsQ8zsnsl-QJ83byZJbLk5O8Od740LRASyj_VP0/edit#bookmark=id.2v2lya1lrxm9
- When Normal Mode is anything othan than “Disabled” https://docs.google.com/document/d/1O_wnqsQ8zsnsl-QJ83byZJbLk5O8Od740LRASyj_VP0/edit#bookmark=id.1a7tlg5t9eyf
Use Shadow Threshold and Alpha To Mask options are not grouped with Alpha Clipping, meaning options are always present instead of popping up when enabling Alpha Clipping, which was the behaviour before. Mentioned here: https://docs.google.com/document/d/1O_wnqsQ8zsnsl-QJ83byZJbLk5O8Od740LRASyj_VP0/edit#heading=h.ahmv0fr71bp0
Similar case with StackLit material type where Anisotropy is not indented and does not appear as part of Material Core Features section, but instead it seems that Anisotropy related with the rest of core features
https://docs.google.com/document/d/1O_wnqsQ8zsnsl-QJ83byZJbLk5O8Od740LRASyj_VP0/edit#heading=h.d1b8k0nympxn
Some other UI issues:
- Internal inspector spasms and anchors randomly on top or bottom https://docs.google.com/document/d/1O_wnqsQ8zsnsl-QJ83byZJbLk5O8Od740LRASyj_VP0/edit#bookmark=id.4vbya7vc73hn
- Graph Settings window does not resize correctly https://docs.google.com/document/d/1O_wnqsQ8zsnsl-QJ83byZJbLk5O8Od740LRASyj_VP0/edit#bookmark=id.2ra47grzhww2
Purpose of this PR
Problem
Currently, the master node definition is too rigid and defined via leaky abstractions. This gives the the following problems:
There are other problems involved but these are the main concerns because they seriously inhibit our ability to open up our API to customers (internal right now, external later). As Shader Graph adoption grows, this problem continues to get worse.
Solution
We propose a solution where, instead of providing a collection of master nodes, we provide a single, extensible stack. Users will enable and disable shader features, per render pipeline, in the Inspector. These features provide input ports on the stack, where the user then connects graph edges to provide data for those features. Different render pipelines then build a shader using the input data they support, based on the pipeline configuration. This ensures all features are available, but the shader is always in a valid state.
Goals
What do these mean in practice?
TODO
Testing status
PR Template:
General Graph usage
Upgrade Tests:
Automated Tests:
Any test projects to go with this to help reviewers?
Upgrade graphs can be found at https://easyupload.io/rbhlsn (pw: unity)
Test document:
https://docs.google.com/document/d/1O_wnqsQ8zsnsl-QJ83byZJbLk5O8Od740LRASyj_VP0/edit?usp=sharing
Comments to reviewers