Vixen
02b45cc4
csharp
public sealed class RenderDrawContext

What a feature needs in order to record: somewhere to record to, and what to resolve shaders through.

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

Remarks

Passed rather than held, because recording is the phase that is meant to run on several threads at once: each gets its own CommandList and they share everything else. A feature that reached for a command list on the system would be a feature that cannot be parallelised, and it would compile.

The device is here too, and only for the one thing a recording feature legitimately needs it for: creating a pipeline it discovers it is missing. Everything else it wants — buffers, textures, descriptor sets — belongs to a resource it was given rather than to the moment of drawing.

Fields and properties (9)

  • public ICommandList CommandList

    Where this thread records.

  • public EffectSystem Effects

    Where a shader variant comes from.

  • public IGraphicsDevice? Device

    The device, for a feature that has to create a pipeline it did not have.

  • public RenderView? View

    The view being recorded.

  • public RenderStage? Stage

    The stage being recorded.

  • public ViewConstants? ViewConstants

    The per-view block for View, for a feature to bind after its first pipeline.

  • public SceneConstants? SceneConstants

    The frame's own set — the environment, the probes, the shadow atlas, the sun.

  • public Effect? Effect

    The variant currently being drawn with, for a sub-feature that has to agree with it.

  • public RenderOutput Output

    The formats of the pass currently open.

Methods (1)

  • public RenderDrawContext(ICommandList commandList, EffectSystem effects)

    What a feature needs in order to record: somewhere to record to, and what to resolve shaders through.

Used by (39)

  • BindlessFrameTestsVixen.Rendering.Tests
  • CompositorFrameVixen.Rendering
  • CompositorImageTestsVixen.Graphics.Golden.Tests
  • DelegateSceneRendererVixen.Rendering
  • DrawCompactionTestsVixen.Rendering.Tests
  • ForwardLightingRenderFeatureVixen.Rendering
  • ForwardLightingTestsVixen.Rendering.Tests
  • GlobalDistanceFieldRendererVixen.Rendering
  • GlobalDistanceFieldRendererTestsVixen.Rendering.Tests
  • IDrawSubFeatureVixen.Rendering
  • IrradianceBounceDeviceTestsVixen.Graphics.Golden.Tests
  • LodRenderFeatureVixen.Rendering
  • LodTestsVixen.Rendering.Tests
  • MaterialBindingTestsVixen.Rendering.Tests
  • MaterialRecordBufferTestsVixen.Rendering.Tests
  • MeshRenderFeatureVixen.Rendering
  • MeshRenderFeatureTestsVixen.Rendering.Tests
  • MotionVectorRenderFeatureVixen.Rendering
  • ParticleRenderFeatureVixen.Rendering
  • ParticleRenderFeatureTestsVixen.Rendering.Tests
  • PunctualShadowRendererVixen.Rendering
  • RecordingTestsVixen.Rendering.Tests
  • RenderPassRendererVixen.Rendering
  • RenderSystemVixen.Rendering
  • RootRenderFeatureVixen.Rendering
  • SceneRendererVixen.Rendering
  • SceneRendererSequenceVixen.Rendering
  • ShadowMapRendererVixen.Rendering
  • SingleStageRendererVixen.Rendering
  • SkinningAndInstancingTestsVixen.Rendering.Tests
  • SkinningRenderFeatureVixen.Rendering
  • SpriteRenderFeatureVixen.Rendering
  • SpriteRenderFeatureTestsVixen.Rendering.Tests
  • SpyFeatureVixen.Rendering.Tests
  • TransformRecordTestsVixen.Rendering.Tests
  • TransformRenderFeatureVixen.Rendering
  • UiRenderFeatureVixen.Ui.Renderer
  • VideoRenderFeatureVixen.Video.Rendering
  • VirtualShadowRendererVixen.Rendering