#ifdef WIN32 #pragma once #endif /// /// Precompiled header file. Place all system includes here with appropriate #defines for different operating systems and compilers. /// #define NOMINMAX #define _USE_MATH_DEFINES #ifdef _WIN32 #define basename(x) _strdup(x) #define snprintf _snprintf #define snprintf_s _snprintf_s #define WIN32_LEAN_AND_MEAN #define EMBER_OS "WIN" #include #include #elif __APPLE__ #define EMBER_OS "OSX" #else #include #include #define EMBER_OS "LNX" #endif //Standard headers. #include #include #include #include #include #include #include #include #include #include #include #ifdef __APPLE__ #include #else #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include //Third party headers. #ifdef _WIN32 #include "libxml/parser.h" #else #include "libxml2/libxml/parser.h" #endif //Intel's Threading Building Blocks is what's used for all threading. #include #include #include #define GLM_FORCE_RADIANS 1 #ifndef __APPLE__ #define GLM_FORCE_INLINE 1 #endif //glm is what's used for matrix math. #include #include #include #include #include using namespace tbb; using namespace std; using namespace std::chrono; using namespace glm; using namespace glm::detail; using glm::uint; using glm::uint16;