#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 #define __TBB_NO_IMPLICIT_LINKAGE 1//Prevent tbb from automatically looking for tbb_debug.lib. We only care about the release tbb.lib/dll. #ifdef _WIN32 #pragma warning(disable : 4251; disable : 4661; disable : 4100) #define basename(x) _strdup(x) #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 #include #ifdef __APPLE__ #include #else #include #endif #include #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 #if !defined(Q_MOC_RUN) //Intel's Threading Building Blocks is what's used for all threading. #include #include #endif #define GLM_FORCE_RADIANS 1 #define GLM_ENABLE_EXPERIMENTAL 1 #ifndef __APPLE__ #define GLM_FORCE_INLINE 1 #endif //glm is what's used for matrix math. #include #if GLM_VERSION <= 990 #include #endif #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;