public enum ShaderGraphKindWhat shape of Raven a graph compiles to.
Remarks
The one structural decision a node makes, and until doc 08's material compiler there was only one of them. A standalone shader is a whole program — a vertex stage, a fragment stage and a return — which is what an author can read, hand to raven compile and draw a preview thumbnail with, and which nothing in the engine can put on a mesh: a draw binds transforms, lights, shadows and a bindless table by names that shader does not declare.
⚠ A material feature is what actually draws, and it is not a smaller shader — it is a different one. IMaterialSurface has no stages, no entry point and no return; it reads and writes the MaterialData a pass already interpolated, and MaterialCompiler composes it into CompositeSurface beside the hand-written features. That is why a graph that draws needs no new render feature, no new pass and no new binding convention: the whole of the engine's material path is already written for exactly this shape.
Fields and properties (2)
StandaloneA whole shader with its own stages. Readable, previewable, and not drawable.
SurfaceA material feature: shader N : IMaterialSurface, composed into a pass by MaterialCompiler.
Used by (11)
- GraphMaterialImageTestsVixen.Graphics.Golden.Tests
- MaterialDocumentVixen.Editor.AssetEditors
- RavenEmitterVixen.Editor.ShaderGraph
- ShaderGraphCompilerVixen.Editor.ShaderGraph
- ShaderGraphMaterialVixen.Editor.ShaderGraph
- ShaderGraphSourceVixen.Editor.ShaderGraph
- ShaderGraphSourcesVixen.Editor.Assets
- ShaderMasterNodeVixen.Editor.ShaderGraph
- ShaderNodeLibraryTestsVixen.Editor.ShaderGraph.Tests
- SurfaceGraphTestsVixen.Editor.ShaderGraph.Tests
- SurfaceMasterNodeVixen.Editor.ShaderGraph