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
75
76#include <thread>
77#include <map>
78#include <functional>
79#include <memory>
80
81#ifdef FCT_ANDROID
82#include <android/configuration.h>
83#include <android/looper.h>
84#include <android/asset_manager.h>
85#include <android/input.h>
86#include <android/native_window.h>
87#include <android/native_window_jni.h>
88#include <android/rect.h>
89#include <android/looper.h>
90#include "./ThirdParty/jni_bind_release.h"
91#include <jni.h>
92#include <sys/types.h>
93#endif
94
95#ifdef FCT_USE_VULKAN
96#include <vulkan/vulkan.h>
97#ifdef FCT_WIN32
98#include <vulkan/vulkan_win32.h>
99#endif
100#ifdef FCT_ANDROID
101extern int main();
102#include <vulkan/vulkan_android.h>
103#define VK_USE_PLATFORM_ANDROID_KHR
104#endif
105#define VK_NO_PROTOTYPES
106#define VULKAN_HPP_DISPATCH_LOADER_DYNAMIC 1
107#include <vulkan/vulkan.hpp>
108#endif
109
110#ifdef FCT_USE_SPIRV
111#include <spirv_reflect.hpp>
112#include <spirv_hlsl.hpp>
113#endif
114
115#ifdef FCT_USE_SHADERC
116#include <shaderc/shaderc.hpp>
117#endif
118
119#ifdef FCT_USE_FREEIMAGE
120#include <FreeImage.h>
121#endif
122#ifdef FCT_USE_ASSIMP
123#include <assimp/Importer.hpp>
124#include <assimp/scene.h>
125#include <assimp/postprocess.h>
126#endif
127
128#ifdef FCT_USE_ENTT
129#include "./ThirdParty/entt.hpp"
130namespace FCT {
131 namespace ECS = entt;
132}
133#endif
134
135#if defined(_DEBUG) || defined(DEBUG)
136#define FCT_DEBUG_MODE
137#define FCT_DEBUG
138#endif
139
140#include <future>
141#include <algorithm>
142#include <iostream>
143#include <unordered_map>
144#include <memory>
145#include <string>
146#include <vector>
147#include <fstream>
148#include <filesystem>
149#include <set>
150#include <queue>
151#include <optional>
152#include <type_traits>
153
154
155#endif // FCT_THIRDPARTY_HEADER