Vixen
02b45cc4
csharp
public enum ResourceSet

The descriptor set a binding belongs to, named for how often it changes.

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

Remarks

The engine's fixed four-set convention (docs/plan/05 § "Descriptor model"), and the values are the set indices themselves: a binding decorated PerMaterial lands in set 2 in SPIR-V and in layout(set = 2, …) in GLSL.

Sets are named rather than numbered in source because the number is the engine's to choose, not the shader author's — and because [PerDraw] says why a value is where it is, which [Set(3)] does not. A shader cannot spell set 7 by accident.

Fields and properties (5)

  • PerFrame

    Set 0 — camera, time, lighting environment. Bound once per frame.

  • PerView

    Set 1 — shadow matrices and view-dependent buffers. Bound once per view.

  • PerMaterial

    Set 2 — material constants and textures. The default for a shader's own fields, because a shader's own vars are its material parameters.

  • PerDraw

    Set 3 — transforms and instance data. Bound per draw.

  • Bindless

    Set 4 — the unbounded descriptor array a bindless table owns.

Used by (14)

  • BindingPlanVixen.Raven
  • BindlessTextureTestsVixen.Raven.Tests
  • DeclarationFactsVixen.Raven
  • DescriptorSetTestsVixen.Raven.Tests
  • FieldSymbolVixen.Raven
  • IrBindingVixen.Raven
  • LibraryFieldVixen.Raven
  • MaterialRecordTestsVixen.Raven.Tests
  • MetadataFieldSymbolVixen.Raven
  • PlannedBindingVixen.Raven
  • ReflectionTestsVixen.Raven.Tests
  • SharedBindingTestsVixen.Raven.Tests
  • SourceFieldSymbolVixen.Raven
  • SourceNamedTypeSymbolVixen.Raven