aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorladevieq <qladevie@wanadev.fr>2021-01-14 08:48:55 +0100
committerladevieq <qladevie@wanadev.fr>2021-01-14 08:49:30 +0100
commitdf861ee241cbe91f6319ea593fd630d160b135b8 (patch)
tree82b1768363f02e93978dbe5ad1de72a1bf4bb542 /src
parent4c7e4ae43566d08f1d7d91bffff4646ce287a68a (diff)
Refactor code for multiplatform
Diffstat (limited to 'src')
-rw-r--r--src/camera.cpp5
-rw-r--r--src/color.cpp2
-rw-r--r--src/main.cpp18
-rw-r--r--src/vec3.cpp4
-rw-r--r--src/vk-renderer.cpp10
-rw-r--r--src/vulkan-loader.cpp10
6 files changed, 34 insertions, 15 deletions
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