public sealed class RenderDrawContextWhat 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 CommandListWhere this thread records.
public EffectSystem EffectsWhere a shader variant comes from.
public IGraphicsDevice? DeviceThe device, for a feature that has to create a pipeline it did not have.
public RenderView? ViewThe view being recorded.
public RenderStage? StageThe stage being recorded.
public ViewConstants? ViewConstantsThe per-view block for View, for a feature to bind after its first pipeline.
public SceneConstants? SceneConstantsThe frame's own set — the environment, the probes, the shadow atlas, the sun.
public Effect? EffectThe variant currently being drawn with, for a sub-feature that has to agree with it.
public RenderOutput OutputThe 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