Vixen
02b45cc4
csharp
public readonly record struct IrradianceBrick

One brick, where it is and how much of the world it covers.

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

Remarks

Sixty-four probes always, over Size cubed of the indirection grid's finest cells. A brick of size one is as fine as the field gets; a brick of size eight covers five hundred and twelve times the volume with the same sixty-four probes, and its probes are eight times further apart.

A brick is aligned to its own size, which is what makes the sampling arithmetic work: dividing a cell coordinate by the size and taking the fractional part only gives a position inside the brick if the brick started at a multiple of its size. Everything that allocates one enforces that, and it is why refinement halves rather than subdividing by arbitrary factors.

Fields and properties (3)

  • public int Slot

    Where its probes live in the pool.

  • public Int3 Cell

    Its origin, in the indirection grid's finest cells.

  • public int Size

    How many finest cells it spans along each axis. A power of two.

Methods (1)

  • public IrradianceBrick(int Slot, Int3 Cell, int Size)

    One brick, where it is and how much of the world it covers.

Used by (20)

  • CapturedIrradianceFillerVixen.Rendering
  • IndirectDiffuseImageTestsVixen.Graphics.Golden.Tests
  • IrradianceBrickCursorVixen.Rendering.IrradianceFields
  • IrradianceCaptureDeviceTestsVixen.Graphics.Golden.Tests
  • IrradianceCoarseningTestsVixen.Rendering.IrradianceFields.Tests
  • IrradianceConvergenceTestsVixen.Rendering.IrradianceFields.Tests
  • IrradianceFieldVixen.Rendering.IrradianceFields
  • IrradianceFieldFillVixen.Rendering
  • IrradianceFieldRepairVixen.Rendering
  • IrradianceFieldTestsVixen.Rendering.IrradianceFields.Tests
  • IrradianceFillDeviceTestsVixen.Graphics.Golden.Tests
  • IrradianceIndirectionVixen.Rendering.IrradianceFields
  • IrradianceIndirectionTestsVixen.Rendering.IrradianceFields.Tests
  • IrradianceRefinementPolicyVixen.Rendering.IrradianceFields
  • IrradianceRefinementPolicyTestsVixen.Rendering.IrradianceFields.Tests
  • IrradianceRefinementTestsVixen.Rendering.Tests
  • IrradianceRepairDeviceTestsVixen.Graphics.Golden.Tests
  • LeakTestsVixen.Rendering.IrradianceFields.Tests
  • SamplingConventionTestsVixen.Rendering.IrradianceFields.Tests
  • TracedIrradianceFillerVixen.Rendering.IrradianceFields