/Rendering/CameraTests/Program.cs
C# | 95 lines | 54 code | 8 blank | 33 comment | 1 complexity | 940ac1cfbb9fff5cb56fa7c9ab49ae70 MD5 | raw file
Possible License(s): Apache-2.0
- using Delta.Engine;
- using Delta.Rendering.Cameras;
- using Delta.Utilities;
- using Delta.Utilities.Datatypes;
-
- namespace Delta.Rendering.CameraTests
- {
- /// <summary>
- /// Program
- /// </summary>
- internal class Program
- {
- #region Main (Static)
- /// <summary>
- /// Main entry point.
- /// </summary>
- public static void Main()
- {
- #region Tests
- //LookAtCameraTests.TestLookAtCamera();
- //LookAtCameraTests.DefaultCameraBehavior();
-
- //IsometricCameraTests.TestIsometricCamera();
- //IsometricCameraTests.TestIsoPerspectiveCamera();
-
- //GameCameraTests.TestGameCamera();
- //GameCameraTests.DefaultCameraBehavior();
-
- //FreeCameraTests.TestFreeCamera();
- //FreeCameraTests.DefaultCameraBehavior();
- //FreeCameraTests.TestRotation();
- //FreeCameraTests.TestMoving();
- //FreeCameraTests.TestMovingRotating();
-
- //PathCameraTests.Start();
- #endregion
-
- #region Tutorials
- Tutorials.UseLookAtCamera();
- //Tutorials.UseFreeCamera();
- //Tutorials.UseGameCamera();
- //Tutorials.UseIsometricCamera();
- //Tutorials.UsePathCamera();
- #endregion
- }
- #endregion
-
- #region MixedCameraActivation (Static)
- /// <summary>
- /// This test simply checks if the activation logic works, so only
- /// one camera updates itself and not every camera at all.
- /// Because a camera is now a dynamic module it's updating itself
- /// every tick, regardless if it should or not, so we store which camera
- /// is currently active in BaseCamera.Current and only this one is
- /// allowed to update itself.
- /// An exception to this rule are multi-component cameras, which enable
- /// AlwaysNeedsUpdate. This type of camera implements its own logic if it
- /// should actually do something or not.
- /// </summary>
- public static void MixedCameraActivation()
- {
- LookAtCamera cam1 = new LookAtCamera(Vector.One);
- FreeCamera cam2 = new FreeCamera(Vector.One * 2f);
- int iteration = 0;
- Application.Start(delegate
- {
- Log.Info("iteration=" + iteration);
- switch (iteration)
- {
- case 0:
- cam2.Activate();
- break;
- case 1:
- cam1.Activate();
- break;
- case 2:
- cam2.Activate();
- break;
- case 3:
- cam1.Activate();
- break;
- case 4:
- cam2.Activate();
- break;
- case 5:
- Application.Quit();
- break;
- }
-
- iteration++;
- });
- }
- #endregion
- }
- }