public void StartRendering() { _isActive = true; Task.Run(() => { while (_isActive) { FpsHelper.BeginOfFrame(); Rendering(); _updateAction?.Invoke(this); if (!Settings.StaticLight) { _lightPos = Vector3.Transform(Vector3.Zero, Matrix4x4.CreateTranslation(_scene.LightPos) * ViewModel); _lightPosArray = new[] { _lightPos.X, _lightPos.Y, _lightPos.Z }; } else { _lightPos = Vector3.Transform(Vector3.Zero, Matrix4x4.CreateTranslation(_scene.LightPos) * Matrix4x4.CreateTranslation(ViewModel.Translation)); _lightPosArray = new[] { _lightPos.X, _lightPos.Y, _lightPos.Z }; } FpsHelper.EndOfFrame(); } }); }
/// <summary> /// Blimey's initilisation rountine. /// </summary> public virtual void Start(Platform platform) { fps = new FpsHelper(); frameBuffer = new FrameBufferHelper(platform.Graphics); engine = new Engine (platform); sceneManager = new SceneManager(platform, engine, startScene); }