Vixen
dd8b0a81
csharp
public enum ShaderGraphKind

What shape of Raven a graph compiles to.

Read the guide page for this →

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)

  • Standalone

    A whole shader with its own stages. Readable, previewable, and not drawable.

  • Surface

    A 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