Vixen
02b45cc4

IPunctualLightSource

interface Core/Vixen.Rendering/Lights.cs:430
csharp
public interface IPunctualLightSource

Something that owns the scene's light list.

Read the guide page for this →

Remarks

ISunSource's companion, and the reason it is an interface rather than the list itself is the reason that one is: a shadow node needs the lights and should not depend on the feature that happens to hold them.

⚠ The list is shared and written to, not read. PunctualShadowRenderer packs an atlas from these lights and writes each one's ShadowTile back into the entry it came from, and the feature reads that back a phase later when it flattens the same lights to the GPU. Handing over a copy is two sets of indices, one of which addresses an atlas packed from the other — which is every light shadowed by the wrong tile.

Fields and properties (1)

  • IList<RenderLight> Lights

    Every light in the scene, in the order the frame's buffers are built from.

Used by (2)

  • CompositorBuilderVixen.Rendering
  • ForwardLightingRenderFeatureVixen.Rendering