text: #pragma once
  
  // Windows
  #include <windows.h>
  #include <Shlwapi.h>
  
  // Standard
  #include <exception>
  #include <cassert>
  #include <string>
  #include <vector>
  #include <map>
  #include <memory>
  #include <cstdint>
  #include <sstream>
  #include <fstream>
  #include <chrono>
  #include <functional>
  #include <algorithm>
  
  // GLFW
  #include "GLFW/glfw3.h"
  #ifdef _WIN32
  #define GLFW_EXPOSE_NATIVE_WGL
  // push pop workaround. Ugly but works on MSVC, GCC and CLANG
  #pragma push_macro("APIENTRY")
  #undef APIENTRY
  #include "GLFW/glfw3native.h"
  #pragma pop_macro("APIENTRY")
  #endif
  
  // GLM
  #define GLM_FORCE_RADIANS
  #define GLM_FORCE_DEPTH_ZERO_TO_ONE
  #include "glm/glm.hpp"
  #include "glm/gtc/matrix_transform.hpp"
  #include "glm/gtc/matrix_inverse.hpp"
  #include "glm/gtc/type_ptr.hpp"
  
  // Local
  #include "RTTI.h"
  #include "ServiceContainer.h"
  #include "GameException.h"
  #include "ColorHelper.h"
  #include "VectorHelper.h"
  #include "MatrixHelper.h"
  #include "Utility.h"
  #include "Game.h"
  #include "GameClock.h"
  #include "GameTime.h"
  #include "Camera.h"
  #include "FirstPersonCamera.h"
  #include "Model.h"
  #include "Mesh.h"
  #include "ModelMaterial.h"
  #include "GameComponent.h"
  #include "DrawableGameComponent.h"
  #include "Light.h"
  #include "DirectionalLight.h"
  #include "PointLight.h"
  #include "SpotLight.h"
  #include "VertexDeclarations.h"
  #include "StreamHelper.h"
  
  namespace Library
  {
  	extern ServiceContainer GlobalServices;
  }
  