public void Draw(IDrawingBrush <IScene3D> drawable, CameraTransform3D camera) { if (!(drawable is Record3D record)) { record = new Record3D(); drawable.DrawTo(record); } Draw((dc, size) => record.DrawTo((dc, size.X, size.Y), camera)); }
protected override void OnSceneChanged(IDrawingBrush <IScene3D> scene) { if (scene == null) { _Camera = CameraTransform3D.Identity; } else { var record = new Record3D(); scene.DrawTo(record); _Camera = CameraView3D.CreateDefaultFrom(record.BoundingMatrix); } }