public static class ShaderBuildRunnerCompiles a project's shader variants into the bundle a shipping build loads.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
The third cache tier, made a product of vixen build rather than a library call. A shipping build's only effect source is this file; if a variant is not in it, the run reports a miss and draws nothing, because the code that could have compiled one was never linked in.
Driven by a manifest, and deliberately not by "compile everything". Enumerating every shader in a project sounds more complete and is not: a pass with compose slots does not compile at all without something in them (RVN2073), so "every variant of ForwardPlus" is not a well-formed question — every variant of ForwardPlus with these features is, and which features a project has is in its materials rather than in its shaders. The manifest is where that lands, and Requests is what fills it in: play the game against a compiler, write the list, build.
Silence when there is no manifest, with a line saying how to make one. A project that has not got to this step yet still builds and still runs — against a compiler in development — and telling it that its shaders failed would be wrong.
Fields and properties (3)
public const string BundleFileNameWhat the bundle is called, beside the catalog.
public const string ManifestFileNameWhere the manifest lives, under ProjectSettings/.
public const string DefaultBackendThe backend a target wants unless something says otherwise.
Methods (1)
public static bool Run(Project project, string backend, string outputDirectory, DiagnosticWriter output)Compiles the manifest and writes the bundle.
Used by (2)
- VixenCommandVixen.Cli
- VixenCommandTestsVixen.Cli.Tests