Vixen
02b45cc4
csharp
public sealed class EffectLoader

Turns a baked EffectData into a live Effect on one device.

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

Remarks

The one step between "bytes that came from somewhere" and "a thing a pipeline can be built from", and the only step in the whole chain that needs a device. Every tier — the disk cache, the baked bundle, the dev machine on the other end of a socket — hands over the same record and this creates the same handles from it, so where a variant came from changes nothing about what it is.

Set layouts are shared between effects, and that is not just an economy. Every shader that binds the per-frame set describes the same layout, and a device handed four hundred structurally identical layouts creates four hundred objects that a descriptor set allocated against one cannot be used with the other. Caching by shape means a per-frame set is allocated once and bound to every pipeline in the frame.

Fields and properties (3)

  • public IGraphicsDevice Device

    The device these effects are created on.

  • public int LayoutCount

    How many distinct set layouts have been created.

  • public int BindlessCapacity

    How many descriptors an unbounded binding in set 4 holds.

Methods (3)

  • public EffectLoader(IGraphicsDevice device)

    Turns a baked EffectData into a live Effect on one device.

  • public Effect Load(EffectData data)

    Creates the effect one record describes.

  • public void Clear()

    Forgets every cached layout, without destroying anything.

Used by (36)

  • DevelopmentEffectsThirdPersonShooter
  • LibraryEffectsVirtualGeometry
  • AccelerationStructureDeviceTestsVixen.Graphics.Golden.Tests
  • BindlessSamplingDeviceTestsVixen.Graphics.Golden.Tests
  • BindlessSetLayoutTestsVixen.Shaders.Tests
  • BufferTransferDeviceTestsVixen.Graphics.Golden.Tests
  • ClusterCullingDeviceTestsVixen.Graphics.Golden.Tests
  • ClusteredShadingDeviceTestsVixen.Graphics.Golden.Tests
  • CompilerVixen.Graphics.Golden.Tests
  • CompilingVixen.Graphics.Golden.Tests
  • DistanceFieldAoImageTestsVixen.Graphics.Golden.Tests
  • EffectCacheTestsVixen.Shaders.Tests
  • EffectSourceProviderVixen.Shaders
  • ForwardFrameTestsVixen.Rendering.Tests
  • IndirectDiffuseImageTestsVixen.Graphics.Golden.Tests
  • IrradianceBounceDeviceTestsVixen.Graphics.Golden.Tests
  • IrradianceFillDeviceTestsVixen.Graphics.Golden.Tests
  • IrradianceRepairDeviceTestsVixen.Graphics.Golden.Tests
  • IrradianceShadingDeviceTestsVixen.Graphics.Golden.Tests
  • ParticleSpriteDeviceTestsVixen.Graphics.Golden.Tests
  • ReflectionRendererDeviceTestsVixen.Graphics.Golden.Tests
  • ReflectionTraceDeviceTestsVixen.Graphics.Golden.Tests
  • ScreenProbeAccumulateDeviceTestsVixen.Graphics.Golden.Tests
  • ScreenProbeBilateralImageTestsVixen.Graphics.Golden.Tests
  • ScreenProbeGatherImageTestsVixen.Graphics.Golden.Tests
  • ScreenProbeResolveDeviceTestsVixen.Graphics.Golden.Tests
  • ScreenProbeTraceDeviceTestsVixen.Graphics.Golden.Tests
  • ScreenProbeUpsampleImageTestsVixen.Graphics.Golden.Tests
  • ScreenPyramidDeviceTestsVixen.Graphics.Golden.Tests
  • SurfaceCacheRadiosityDeviceTestsVixen.Graphics.Golden.Tests
  • SurfaceCacheRendererDeviceTestsVixen.Graphics.Golden.Tests
  • SurfaceCardCaptureDeviceTestsVixen.Graphics.Golden.Tests
  • ViewCullingDeviceTestsVixen.Graphics.Golden.Tests
  • VirtualGeometryDeviceTestsVixen.Graphics.Golden.Tests
  • VirtualGeometryGoldenTestsVixen.Graphics.Golden.Tests
  • EditorEffectsVixen.Editor.App