diff --git a/ConjureEngine/CMakeLists.txt b/ConjureEngine/CMakeLists.txt index bc6f39d..729604b 100644 --- a/ConjureEngine/CMakeLists.txt +++ b/ConjureEngine/CMakeLists.txt @@ -31,6 +31,6 @@ target_link_libraries(${PROJECT_NAME} SDL2::SDL2 glm::glm Vulkan::Vulkan) target_precompile_headers( ${PROJECT_NAME} - PUBLIC + PRIVATE src/ConjureEngine/PCH.h ) \ No newline at end of file diff --git a/ConjureEngine/src/ConjureEngine/PCH.h b/ConjureEngine/src/ConjureEngine/PCH.h index d31b963..ef309e2 100644 --- a/ConjureEngine/src/ConjureEngine/PCH.h +++ b/ConjureEngine/src/ConjureEngine/PCH.h @@ -20,6 +20,9 @@ // VULKAN #include "vulkan/vulkan.h" #include "vulkan/vulkan_core.h" + #ifdef __APPLE__ #include "vulkan/vulkan_metal.h" +#elifdef __WINDOWS__ + #include "vulkan/vulkan_win32.h" #endif \ No newline at end of file diff --git a/ConjureEngine/src/ConjureEngine/VulkanContext.cpp b/ConjureEngine/src/ConjureEngine/VulkanContext.cpp index e07fc94..d287486 100644 --- a/ConjureEngine/src/ConjureEngine/VulkanContext.cpp +++ b/ConjureEngine/src/ConjureEngine/VulkanContext.cpp @@ -4,10 +4,6 @@ #include "VulkanContext.h" -#ifdef __APPLE__ - #define VK_USE_PLATFORM_METAL_EXT -#endif - namespace ConjureEngine { VulkanContext::VulkanContext(SDL_Window* window, const VkApplicationInfo& appInfo) { // LOAD THE EXTENSIONS diff --git a/ConjureEngine/src/ConjureEngine/Window.cpp b/ConjureEngine/src/ConjureEngine/Window.cpp index 61cd396..b2ac76e 100644 --- a/ConjureEngine/src/ConjureEngine/Window.cpp +++ b/ConjureEngine/src/ConjureEngine/Window.cpp @@ -35,4 +35,13 @@ namespace ConjureEngine { SDL_Log("Cleaned up with errors: %s", SDL_GetError()); } + const SDL_Window* Window::GetWindow() const + { + return m_window; + } + + const VulkanContext * Window::GetVulkanContext() const + { + return m_vulkanContext; + } } // ConjureEngine \ No newline at end of file diff --git a/ConjureEngine/src/ConjureEngine/Window.h b/ConjureEngine/src/ConjureEngine/Window.h index f5ce802..3d6d5b5 100644 --- a/ConjureEngine/src/ConjureEngine/Window.h +++ b/ConjureEngine/src/ConjureEngine/Window.h @@ -7,7 +7,8 @@ #include "PCH.h" #include "VulkanContext.h" -namespace ConjureEngine { +namespace ConjureEngine +{ struct WindowInfo { std::string title; int x; @@ -16,18 +17,20 @@ namespace ConjureEngine { int height; }; -class Window { - public: - explicit Window(const WindowInfo& windowInfo); - ~Window(); + class Window { + public: + explicit Window(const WindowInfo &windowInfo); - const std::shared_ptr& GetWindow() const; - const std::shared_ptr& GetVulkanContext() const; - private: - public: - private: - SDL_Window* m_window; - VulkanContext* m_vulkanContext; -}; + ~Window(); -} // ConjureEngine \ No newline at end of file + const SDL_Window *GetWindow() const; + + const VulkanContext *GetVulkanContext() const; + + private: + public: + private: + SDL_Window *m_window; + VulkanContext *m_vulkanContext; + }; +} // ConjureEngine diff --git a/Demo1/CMakeLists.txt b/Demo1/CMakeLists.txt index 63941d0..870ccb1 100644 --- a/Demo1/CMakeLists.txt +++ b/Demo1/CMakeLists.txt @@ -5,10 +5,14 @@ set(CMAKE_CXX_STANDARD 20) add_executable(${PROJECT_NAME} src/main.cpp src/Demo1.cpp - src/Demo1.h) + src/Demo1.h +) target_link_directories(${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/ConjureEngine) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS} ConjureEngine) +find_package(SDL2 REQUIRED) + target_include_directories(${PROJECT_NAME} PRIVATE include) target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/ConjureEngine/src) + +target_link_libraries(${PROJECT_NAME} SDL2::SDL2 ConjureEngine) \ No newline at end of file diff --git a/Demo1/src/Demo1.cpp b/Demo1/src/Demo1.cpp index 49512bd..b2db90d 100644 --- a/Demo1/src/Demo1.cpp +++ b/Demo1/src/Demo1.cpp @@ -5,13 +5,20 @@ #include "Demo1.h" #include "ConjureEngine/ConjureEngine.h" -namespace Demo1 { - Demo1::Demo1(): ConjureEngine::Application( +static ConjureEngine::ApplicationInfo appInfo = ConjureEngine::ApplicationInfo{ { - {"Demo1", 0, 0, 1920, 1080} + ConjureEngine::WindowInfo{ + "Demo1", + 0, + 0, + 1920, + 1080 + } } - ) { - } +}; + +namespace Demo1 { + Demo1::Demo1(): ConjureEngine::Application(appInfo) {} int Demo1::Run() const { @@ -35,8 +42,6 @@ namespace Demo1 { return 0; } - void Demo1::Tick(double deltaTime) const { - - } + void Demo1::Tick(double deltaTime) const {} } // Demo1 diff --git a/Demo1/src/Demo1.h b/Demo1/src/Demo1.h index c339852..a6e8846 100644 --- a/Demo1/src/Demo1.h +++ b/Demo1/src/Demo1.h @@ -1,4 +1,4 @@ -// +/// // Created by Jimmy Tremblay-bernier on 2024-11-22. // diff --git a/Demo1/src/main.cpp b/Demo1/src/main.cpp index c98f119..247f446 100644 --- a/Demo1/src/main.cpp +++ b/Demo1/src/main.cpp @@ -1,8 +1,8 @@ -#include "ConjureEngine/ConjureEngine.h" #include "Demo1.h" -int main(int argc, char** argv) { - Demo1::Demo1 app; +int main(int argc, char* argv[]) +{ + const Demo1::Demo1 app; return app.Run(); } \ No newline at end of file