Vixen
02b45cc4
csharp
public sealed class VfxShader

A compiled graph as Raven source, plus what the host has to bind to run it.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

Source rather than bytecode, because the thing that turns source into a module is the Raven compiler — a tooling assembly with reflection and LINQ, which is not something the particle runtime should link against. The runtime produces the text; whoever owns a compiler compiles it.

Fields and properties (11)

  • public const int WorkgroupSize

    How many invocations one workgroup has.

  • public string Name

    The base name the three shader declarations are derived from.

  • public string Source

    The Raven source.

  • public IReadOnlyList<VfxShaderBinding> Bindings

    The buffers the kernels touch, in declaration order.

  • public bool HasInitialize

    Whether there is an initializer kernel. There is not, if the graph has no initializers.

  • public bool HasUpdate

    Whether there is an update kernel.

  • public bool HasReap

    Whether there is a reap kernel, which needs an age and a lifetime to compare.

  • public string CommonShader

    The shader declaration holding the bindings and the helpers both kernels use.

  • public string InitializeShader

    The shader declaration whose entry point applies the initializers.

  • public string UpdateShader

    The shader declaration whose entry point advances every live particle.

  • public string ReapShader

    The shader declaration whose entry point compacts the survivors.

Used by (13)

  • VfxAgreementTestsVixen.Vfx.Gpu.Tests
  • VfxCustomAttributeTestsVixen.Vfx.Tests
  • VfxGpuSimulationVixen.Rendering
  • VfxGpuSortVixen.Rendering
  • VfxReapTestsVixen.Vfx.Gpu.Tests
  • VfxShaderEmitterVixen.Vfx
  • VfxShaderEmitterTestsVixen.Vfx.Tests
  • VfxShaderUniformTestsVixen.Vfx.Tests
  • VfxSortTestsVixen.Vfx.Gpu.Tests
  • VfxDocumentVixen.Editor.AssetEditors
  • VfxGraphArtefactVixen.Editor.VfxGraph
  • VfxGraphCompilerTestsVixen.Editor.VfxGraph.Tests
  • VfxGraphViewVixen.Editor.AssetEditors