[Shader Graph] Stack Master#344
Closed
Kink3d wants to merge 1839 commits into
Closed
Conversation
…ph save (case 1230996) (#114) * Follow references when unloading unneeded assets * changelog Co-authored-by: sebastienlagarde <sebastien@unity3d.com>
* Fix culling of reflection probes that change position * Avoid null reference * Avoid null reference - try 2 Co-authored-by: sebastienlagarde <sebastien@unity3d.com>
# Conflicts: # TestProjects/ShaderGraph/Assets/CommonAssets/Editor/EdgeTypeConversionTests.cs # com.unity.shadergraph/Editor/Data/Graphs/GraphData.cs # com.unity.shadergraph/Editor/Data/Nodes/AbstractMaterialNode.cs # com.unity.shadergraph/Editor/Data/Nodes/Input/PropertyNode.cs # com.unity.shadergraph/Editor/Data/Nodes/Math/Basic/MultiplyNode.cs # com.unity.shadergraph/Editor/Data/Nodes/Math/Matrix/MatrixSplitNode.cs # com.unity.shadergraph/Editor/Data/Nodes/Utility/CustomFunctionNode.cs # com.unity.shadergraph/Editor/Data/Nodes/Utility/KeywordNode.cs # com.unity.shadergraph/Editor/Data/Nodes/Utility/SubGraphNode.cs # com.unity.shadergraph/Editor/Data/SubGraph/SubGraphOutputNode.cs # com.unity.shadergraph/Editor/Drawing/MaterialGraphEditWindow.cs # com.unity.shadergraph/Editor/Drawing/PreviewManager.cs # com.unity.shadergraph/Editor/Drawing/SearchWindowProvider.cs # com.unity.shadergraph/Editor/Drawing/Views/GraphEditorView.cs # com.unity.shadergraph/Editor/Generation/Processors/Generator.cs # com.unity.shadergraph/Editor/Importers/ShaderGraphImporter.cs # com.unity.shadergraph/Editor/Importers/ShaderSubGraphImporter.cs # com.unity.shadergraph/Editor/Util/CopyPasteGraph.cs # com.unity.shadergraph/Editor/Util/MessageManager.cs # com.unity.shadergraph/Tests/Editor/UnitTests/MessageManagerTests.cs
* Redo branch. Upgrade to 2020.1.0b5, reduce texture res, new HDRP asset. * Switch to HDRI, increase Garlic heap size to 4gb, turn on "Stop NaNs" on camera, decrease render target res.
…n the scene (#4) * Set appropriate render datas before rendering cameras * changelog * update doc * comment update Co-authored-by: sebastienlagarde <sebastien@unity3d.com>
… has a clear coat (lit shader). (#18) * Fixed an issue with the specularFGD term being used when the material has a clear coat (lit shader). * update ssr screenshot Co-authored-by: sebastienlagarde <sebastien@unity3d.com>
…refactor (#39) * Added support for rasterized area light shadows in StackLit. Also refactor code to avoid early return (compiler bug) and fix lux meter debug mode when anisotropy for area lights is enabled. * Doc: remove note about area light shadows for stacklit. [skipci] Co-authored-by: sebastienlagarde <sebastien@unity3d.com>
…tor after deletion
…Unity-Technologies/Graphics into sg/stack-master-v2-upgrade-hdrp
…Unity-Technologies/Graphics into sg/stack-master-v2-upgrade-hdrp
* WIP : converted to tracking most things by preview instead of node * Fix for softlock when a non-compiling node exists on a graph * WIP : Fixed issues with Master Preview transform Optimized property collection and timed node treatment * Subgraph Previews working Master node preview redraws when resized Better early out of render code * Moved preview mode computation to unified UpdateTopology() Cleaned up code
Contributor
|
This branch name was unwieldy and confusing and the PR owner has left the company, new PR from a renamed branch is at #451. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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)
Comments to reviewers