public override void Render(IModelRenderer modelRenderer, IViewState viewState) { if (Model is SpriteModel spriteModel) { var renderData = new SpriteModelRenderData { Model = spriteModel, Shared = GetSharedModelRenderData(viewState), Frame = Frame }; modelRenderer.RenderSpriteModel(ref renderData); } }
public void RenderSpriteModel(ref SpriteModelRenderData renderData) { if (renderData.Model == null) { throw new ArgumentNullException(nameof(renderData), $"{nameof(renderData.Model)} cannot be null"); } if (!_active) { throw new InvalidOperationException($"Cannot call {nameof(RenderSpriteModel)} outside the render operation"); } var resources = _resourcesManager.GetResources(renderData.Model); SpriteRenderer.Render( _renderContext.GraphicsDevice, _renderContext.CommandList, _renderContext.SceneContext, _renderContext.RenderPass, (SpriteModelResourceContainer)resources, ref renderData); }