diff options
| author | ladevieq <qladevie@wanadev.fr> | 2021-01-14 08:48:55 +0100 |
|---|---|---|
| committer | ladevieq <qladevie@wanadev.fr> | 2021-01-14 08:49:30 +0100 |
| commit | df861ee241cbe91f6319ea593fd630d160b135b8 (patch) | |
| tree | 82b1768363f02e93978dbe5ad1de72a1bf4bb542 | |
| parent | 4c7e4ae43566d08f1d7d91bffff4646ce287a68a (diff) | |
Refactor code for multiplatform
| -rw-r--r-- | include/defines.hpp | 10 | ||||
| -rw-r--r-- | include/rt.hpp | 22 | ||||
| -rw-r--r-- | include/vec3.hpp | 1 | ||||
| -rw-r--r-- | include/vk-renderer.hpp | 4 | ||||
| -rw-r--r-- | include/vulkan-loader.hpp | 5 | ||||
| -rw-r--r-- | src/camera.cpp | 5 | ||||
| -rw-r--r-- | src/color.cpp | 2 | ||||
| -rw-r--r-- | src/main.cpp | 18 | ||||
| -rw-r--r-- | src/vec3.cpp | 4 | ||||
| -rw-r--r-- | src/vk-renderer.cpp | 10 | ||||
| -rw-r--r-- | src/vulkan-loader.cpp | 10 |
11 files changed, 49 insertions, 42 deletions
diff --git a/include/defines.hpp b/include/defines.hpp new file mode 100644 index 0000000..2cb14a0 --- /dev/null +++ b/include/defines.hpp @@ -0,0 +1,10 @@ +#ifndef __DEFINES_HPP_ +#define __DEFINES_HPP_ + +#if defined(__linux__) +#define LINUX +#elif defined(_WIN32) || defined(_WIN64) +#define WINDOWS +#endif + +#endif // !__DEFINES_HPP_ diff --git a/include/rt.hpp b/include/rt.hpp deleted file mode 100644 index c7fa9a0..0000000 --- a/include/rt.hpp +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef __RT_HPP_ -#define __RT_HPP_ - -#if defined(__linux__) -#define LINUX -#include <unistd.h> -#include <dlfcn.h> -#elif defined(_WIN32) || defined(_WIN64) -#define WINDOWS -#include <Windows.h> -#endif - -#include "utils.hpp" -#include "vec3.hpp" -#include "color.hpp" -#include "sphere.hpp" -#include "camera.hpp" -#include "material.hpp" - -#include "window.hpp" - -#endif // !__RT_HPP_ diff --git a/include/vec3.hpp b/include/vec3.hpp index 26cd2b3..112fdf9 100644 --- a/include/vec3.hpp +++ b/include/vec3.hpp @@ -2,7 +2,6 @@ #define __VEC3_HPP_ #include <iostream> -#include <cmath> class vec3 { public: diff --git a/include/vk-renderer.hpp b/include/vk-renderer.hpp index aecda0f..c2344c9 100644 --- a/include/vk-renderer.hpp +++ b/include/vk-renderer.hpp @@ -6,7 +6,9 @@ #include "vulkan-loader.hpp" #include "thirdparty/vk_mem_alloc.h" -#include "rt.hpp" +#include "window.hpp" +#include "camera.hpp" +#include "sphere.hpp" struct input_data { color sky_color; diff --git a/include/vulkan-loader.hpp b/include/vulkan-loader.hpp index cafd5bc..3e01132 100644 --- a/include/vulkan-loader.hpp +++ b/include/vulkan-loader.hpp @@ -1,10 +1,9 @@ #ifndef __VULKAN_LOADER_HPP_ #define __VULKAN_LOADER_HPP_ -#if defined(WINDOWS) -#include <Windows.h> -#include <windowsx.h> +#include "defines.hpp" +#if defined(WINDOWS) #define VK_USE_PLATFORM_WIN32_KHR #elif defined(LINUX) #define VK_USE_PLATFORM_XCB_KHR diff --git a/src/camera.cpp b/src/camera.cpp index 6cb7b83..027ad1e 100644 --- a/src/camera.cpp +++ b/src/camera.cpp @@ -1,6 +1,7 @@ -#include "camera.hpp" +#include <cmath> -#include "rt.hpp" +#include "camera.hpp" +#include "utils.hpp" camera::camera( point3 position, diff --git a/src/color.cpp b/src/color.cpp index 33351a8..92195de 100644 --- a/src/color.cpp +++ b/src/color.cpp @@ -1,5 +1,5 @@ #include "color.hpp" -#include "rt.hpp" +#include "utils.hpp" void write_color(std::ostream& out, const color& pixel_color) { auto r = pixel_color.x; diff --git a/src/main.cpp b/src/main.cpp index 5b321ff..cbaa798 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,14 +1,26 @@ #include <iostream> -#include <vector> #include <chrono> #include <cstring> #include <cstdio> #include <cassert> -#include "rt.hpp" + +#if defined(LINUX) +#include <unistd.h> +#include <dlfcn.h> +#elif defined(WINDOWS) +#include <Windows.h> +#endif + #include "vk-renderer.hpp" #include "thirdparty/renderdoc.h" +#include "vec3.hpp" +#include "material.hpp" +#include "sphere.hpp" +#include "camera.hpp" +#include "utils.hpp" + color ground_color { 1.0, 1.0, 1.0 }; color sky_color { 0.5, 0.7, 1.0 }; @@ -77,7 +89,7 @@ int main() { int ret = RENDERDOC_GetAPI(eRENDERDOC_API_Version_1_1_2, (void **)&rdoc_api); assert(ret == 1); } -#elif LINUX +#elif defined(LINUX) // At init, on linux/android. // For android replace librenderdoc.so with libVkLayer_GLES_RenderDoc.so if(void *mod = dlopen("librenderdoc.so", RTLD_NOW | RTLD_NOLOAD)) diff --git a/src/vec3.cpp b/src/vec3.cpp index b1e73f8..afc4c97 100644 --- a/src/vec3.cpp +++ b/src/vec3.cpp @@ -1,5 +1,7 @@ +#include <cmath> + #include "vec3.hpp" -#include "rt.hpp" +#include "utils.hpp" vec3::vec3(): x(0.0), y(0.0), z(0.0) {} diff --git a/src/vk-renderer.cpp b/src/vk-renderer.cpp index ea7a9cb..26b2ff3 100644 --- a/src/vk-renderer.cpp +++ b/src/vk-renderer.cpp @@ -1,12 +1,12 @@ -#include "vk-renderer.hpp" -#include "utils.hpp" +#include <iostream> +#include <cstring> +#include "vk-renderer.hpp" #define VMA_IMPLEMENTATION #include "thirdparty/vk_mem_alloc.h" -#include <iostream> -#include <vector> -#include <cstring> +#include "defines.hpp" +#include "utils.hpp" #define VKRESULT(result) assert(result == VK_SUCCESS); diff --git a/src/vulkan-loader.cpp b/src/vulkan-loader.cpp index 4590cff..2214bbf 100644 --- a/src/vulkan-loader.cpp +++ b/src/vulkan-loader.cpp @@ -1,9 +1,12 @@ -#include "vulkan-loader.hpp" - #include <iostream> -#include "rt.hpp" + +#include "vulkan-loader.hpp" +#include "defines.hpp" #if defined(WINDOWS) +#include <Windows.h> +#include <windowsx.h> + HMODULE vulkanLibrary = LoadLibrary("vulkan-1.dll"); #define LoadProcAddress GetProcAddress @@ -16,6 +19,7 @@ void *vulkanLibrary = dlopen( "libvulkan.so.1", RTLD_NOW ); #define LoadProcAddress dlsym #endif + #define X(name) PFN_##name name; VULKAN_EXPORTED_FUNCTIONS VULKAN_APPLICATION_FUNCTIONS |
