Esempio n. 1
0
        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();
                }
            });
        }
Esempio n. 2
0
 /// <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);
 }