FCT
载入中...
搜索中...
未找到
ThirdParty.h
浏览该文件的文档.
1#ifndef FCT_THRIDPARTY_HEADER
2#define FCT_THIRDPARTY_HEADER
3#define _USE_MATH_DEFINES
4//#define FCT_USE_GLAD
5#define FCT_USE_GLFW
6#define FCT_USE_PHYSX
7#define FCT_USE_FREETYPE
8#define FCT_USE_HARFBUZZ
9#define FCT_USE_BULLET
10#define FCT_USE_VULKAN
11#define FCT_USE_SPIRV
12#define FCT_USE_SHADERC
13#define FCT_USE_FREEIMAGE
14#define FCT_USE_ASSIMP
15#define FCT_USE_ENTT
16#ifdef _WIN32
17 #define FCT_WIN32
18 #define NOMINMAX
19 #include <Windows.h>
20#endif
21#undef max
22
23#ifdef __ANDROID__
24 #define FCT_USE_ANDROID
25 #undef FCT_USE_GLAD
26 #undef FCT_USE_GLFW
27 #undef FCT_USE_PHYSX
28 #undef FCT_USE_FREEIMAGE
29 #define FCT_ANDROID
30 #define FCT_USE_JNICPP
31#endif
32
33#ifdef FCT_USE_GLAD
34 #include <glad/glad.h>
35#endif
36
37#ifdef FCT_USE_GLFW
38#ifdef FCT_USE_VULKAN
39#define GLFW_INCLUDE_VULKAN
40#endif
41 #include <glfw/glfw3.h>
42#endif
43
44//#include <boost/lockfree/queue.hpp>
45#ifdef FCT_USE_PHYSX
46 #include <PxPhysicsAPI.h>
47#endif
48
49#ifdef FCT_USE_FREETYPE
50#include <ft2build.h>
51#include FT_FREETYPE_H
52#include FT_COLOR_H
53#endif
54
55#ifdef FCT_USE_HARFBUZZ
56//#include <harfbuzz/hb.h>
57//#include <harfbuzz/hb-ft.h>
58#endif
59
60#ifdef FCT_USE_BULLET
61//#include <btBulletDynamicsCommon.h>
62#endif
63
64#include <boost/lockfree/queue.hpp>
65#include <boost/graph/graph_traits.hpp>
66#include <boost/graph/adjacency_list.hpp>
67#include <boost/graph/topological_sort.hpp>
68#include <boost/graph/graphviz.hpp>
69#include <boost/container/flat_map.hpp>
70#include <boost/bimap.hpp>
71#include <boost/bimap/unordered_set_of.hpp>
72#include <boost/graph/breadth_first_search.hpp>
73#include <boost/pending/disjoint_sets.hpp>
74#include <boost/unordered/unordered_flat_map.hpp>
75#include <boost/serialization/serialization.hpp>
76#include <boost/serialization/vector.hpp>
77#include <boost/serialization/array.hpp>
78#include <boost/serialization/string.hpp>
79#include <boost/serialization/version.hpp>
80#include <boost/serialization/set.hpp>
81
82#include <thread>
83#include <map>
84#include <functional>
85#include <memory>
86
87#ifdef FCT_ANDROID
88#include <android/configuration.h>
89#include <android/looper.h>
90#include <android/asset_manager.h>
91#include <android/input.h>
92#include <android/native_window.h>
93#include <android/native_window_jni.h>
94#include <android/rect.h>
95#include <android/looper.h>
96#include "./ThirdParty/jni_bind_release.h"
97#include <jni.h>
98#include <sys/types.h>
99#endif
100
101#ifdef FCT_USE_VULKAN
102#include <vulkan/vulkan.h>
103#ifdef FCT_WIN32
104#include <vulkan/vulkan_win32.h>
105#endif
106#ifdef FCT_ANDROID
107extern int main();
108#include <vulkan/vulkan_android.h>
109#define VK_USE_PLATFORM_ANDROID_KHR
110#endif
111#define VK_NO_PROTOTYPES
112#define VULKAN_HPP_DISPATCH_LOADER_DYNAMIC 1
113#include <vulkan/vulkan.hpp>
114#endif
115
116#ifdef FCT_USE_SPIRV
117#include <spirv_reflect.hpp>
118#include <spirv_hlsl.hpp>
119#endif
120
121#ifdef FCT_USE_SHADERC
122#include <shaderc/shaderc.hpp>
123#endif
124
125#ifdef FCT_USE_FREEIMAGE
126#include <FreeImage.h>
127#endif
128#ifdef FCT_USE_ASSIMP
129#include <assimp/Importer.hpp>
130#include <assimp/scene.h>
131#include <assimp/postprocess.h>
132#endif
133
134#ifdef FCT_USE_ENTT
135#include "./ThirdParty/entt.hpp"
136namespace FCT {
137 namespace ECS = entt;
138}
139#endif
140
141#if defined(_DEBUG) || defined(DEBUG)
142#define FCT_DEBUG_MODE
143#define FCT_DEBUG
144#endif
145
146#include <future>
147#include <algorithm>
148#include <iostream>
149#include <unordered_map>
150#include <memory>
151#include <string>
152#include <vector>
153#include <fstream>
154#include <filesystem>
155#include <set>
156#include <queue>
157#include <optional>
158#include <type_traits>
159
160
161#endif // FCT_THIRDPARTY_HEADER