Vixen
02b45cc4
csharp
public struct CullInstance

One instance of a cluster DAG as CullInstance in the shader declares it.

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

Remarks

A position and a scale rather than a matrix, and not for the sake of the bytes: what every test in the traversal wants is a world-space sphere and the factor an object-space length is multiplied by, and a record carrying a matrix would be four times the size for a transform the pass would only use to derive those two. A rotation does not enter into it — the bound is a sphere.

Fields and properties (13)

  • public uint FirstCluster

    Where this instance's clusters start in the cluster buffer.

  • public uint ClusterCount

    How many it has, so a traversal cannot walk into another instance's DAG.

  • public uint FirstRoot

    Where its roots start in the root buffer.

  • public uint RootCount

    How many roots it has.

  • public Vector3 Position

    Where the instance is.

  • public float Scale

    The largest scale factor any axis has.

  • public uint StagesLow

    The low half of the instance's Bits.

  • public uint StagesHigh

    The high half of it.

  • public uint Flags

    Alive when the slot holds a live instance.

  • public uint Mesh

    Which registered mesh's quantization grid this instance's geometry decodes against.

  • public uint FirstBone

    Where this instance's bone matrices start in the palette, or NoBones for an instance that is not skinned.

  • public float MotionRadius

    How far this instance's geometry may leave its bind pose, in object space, or zero.

  • public ulong Padding

    Eight bytes of tail padding the shader declares and never reads.

Used by (12)

  • ClusterRasterTestsVixen.Rendering.Tests
  • ClusterResolveTestsVixen.Rendering.Tests
  • ClusterRoutingTestsVixen.Rendering.Tests
  • ClusterTraversalAcceptsTestsVixen.Rendering.Tests
  • ClusterTraversalGroupTestsVixen.Rendering.Tests
  • GpuClusterCullingVixen.Rendering
  • GpuClusterCullingTestsVixen.Rendering.Tests
  • GpuClusterVisibilityVixen.Rendering
  • GpuVisibilityTilesVixen.Rendering
  • SkinnedClusterTestsVixen.Rendering.Tests
  • VirtualGeometryFrameTestsVixen.Rendering.Tests
  • VirtualGeometryRenderFeatureVixen.Rendering