From ab28c224462a89338d466938fce65c291d466166 Mon Sep 17 00:00:00 2001 From: Jordan Arch Date: Wed, 28 Jan 2026 19:22:50 -0500 Subject: [PATCH] First commit from Arch --- .clangd | 5 +++++ Makefile | 18 ++++++++++++++++++ compile_commands.json | 18 ++++++++++++++++++ {Utilities => include}/FileReader.h | 0 Logger.cpp => include/Logger.cpp | 0 Logger.h => include/Logger.h | 1 - .../GlfwWindowManager.cpp | 0 GlfwWindowManager.h => src/GlfwWindowManager.h | 4 ++-- VulkanContext.cpp => src/VulkanContext.cpp | 0 VulkanContext.h => src/VulkanContext.h | 4 ---- .../VulkanDebugManager.cpp | 0 .../VulkanDebugManager.h | 0 .../VulkanDeviceManager.cpp | 0 .../VulkanDeviceManager.h | 0 .../VulkanGraphicsPipeline.h | 8 +++++--- .../VulkanInstanceManager.cpp | 0 .../VulkanInstanceManager.h | 0 main.cpp => src/main.cpp | 7 ++++++- 18 files changed, 54 insertions(+), 11 deletions(-) create mode 100644 .clangd create mode 100644 Makefile create mode 100644 compile_commands.json rename {Utilities => include}/FileReader.h (100%) rename Logger.cpp => include/Logger.cpp (100%) rename Logger.h => include/Logger.h (98%) rename GlfwWindowManager.cpp => src/GlfwWindowManager.cpp (100%) rename GlfwWindowManager.h => src/GlfwWindowManager.h (96%) rename VulkanContext.cpp => src/VulkanContext.cpp (100%) rename VulkanContext.h => src/VulkanContext.h (90%) rename VulkanDebugManager.cpp => src/VulkanDebugManager.cpp (100%) rename VulkanDebugManager.h => src/VulkanDebugManager.h (100%) rename VulkanDeviceManager.cpp => src/VulkanDeviceManager.cpp (100%) rename VulkanDeviceManager.h => src/VulkanDeviceManager.h (100%) rename VulkanGraphicsPipeline.h => src/VulkanGraphicsPipeline.h (85%) rename VulkanInstanceManager.cpp => src/VulkanInstanceManager.cpp (100%) rename VulkanInstanceManager.h => src/VulkanInstanceManager.h (100%) rename main.cpp => src/main.cpp (97%) diff --git a/.clangd b/.clangd new file mode 100644 index 0000000..028d859 --- /dev/null +++ b/.clangd @@ -0,0 +1,5 @@ +CompileFlags: + Add: + - -I./include + - -I/usr/include/vulkan + - -std=c++20 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..0f42e59 --- /dev/null +++ b/Makefile @@ -0,0 +1,18 @@ +CXX = g++ + +CFLAGS = -std=c++20 -O2 -Wall -Wextra -I./include + +LDFLAGS = -lglfw -lvulkan -ldl -lpthread -lX11 -lXxf86vm -lXrandr -lXi + +TARGET := LearningVulkan + +$(TARGET): ./src/main.cpp + $(CXX) $(CFLAGS) -o $(TARGET) ./src/main.cpp $(LDFLAGS) + +.PHONY: test clean + +test: $(TARGET) + ./$(TARGET) + +clean: + rm -f $(TARGET) diff --git a/compile_commands.json b/compile_commands.json new file mode 100644 index 0000000..70aaf13 --- /dev/null +++ b/compile_commands.json @@ -0,0 +1,18 @@ +[ + { + "file": "./src/main.cpp", + "arguments": [ + "g++", + "-std=c++17", + "-O2", + "-Wall", + "-Wextra", + "-I./include", + "-o", + "LearningVulkan", + "./src/main.cpp" + ], + "directory": "/home/Jordan/Projects/CPP/LearningVulkan", + "output": "LearningVulkan" + } +] \ No newline at end of file diff --git a/Utilities/FileReader.h b/include/FileReader.h similarity index 100% rename from Utilities/FileReader.h rename to include/FileReader.h diff --git a/Logger.cpp b/include/Logger.cpp similarity index 100% rename from Logger.cpp rename to include/Logger.cpp diff --git a/Logger.h b/include/Logger.h similarity index 98% rename from Logger.h rename to include/Logger.h index 3812144..b6a70b3 100644 --- a/Logger.h +++ b/include/Logger.h @@ -3,7 +3,6 @@ #include #include #include -#include namespace Log { diff --git a/GlfwWindowManager.cpp b/src/GlfwWindowManager.cpp similarity index 100% rename from GlfwWindowManager.cpp rename to src/GlfwWindowManager.cpp diff --git a/GlfwWindowManager.h b/src/GlfwWindowManager.h similarity index 96% rename from GlfwWindowManager.h rename to src/GlfwWindowManager.h index 732716f..3361f49 100644 --- a/GlfwWindowManager.h +++ b/src/GlfwWindowManager.h @@ -2,11 +2,11 @@ #include -#define VK_USE_PLATFORM_WIN32_KHR #define GLFW_INCLUDE_VULKAN + #include -#define GLFW_EXPOSE_NATIVE_WIN32 #include +#include struct FWindowConfig { diff --git a/VulkanContext.cpp b/src/VulkanContext.cpp similarity index 100% rename from VulkanContext.cpp rename to src/VulkanContext.cpp diff --git a/VulkanContext.h b/src/VulkanContext.h similarity index 90% rename from VulkanContext.h rename to src/VulkanContext.h index de77be7..3a0976e 100644 --- a/VulkanContext.h +++ b/src/VulkanContext.h @@ -2,12 +2,8 @@ // #include // #include // -#include "Logger.h" #include "VulkanInstanceManager.h" -#include "VulkanDeviceManager.h" #include "VulkanDebugManager.h" -#include "VulkanGraphicsPipeline.h" -#include "GlfwWindowManager.h" #define GLFW_INCLUDE_VULKAN #include diff --git a/VulkanDebugManager.cpp b/src/VulkanDebugManager.cpp similarity index 100% rename from VulkanDebugManager.cpp rename to src/VulkanDebugManager.cpp diff --git a/VulkanDebugManager.h b/src/VulkanDebugManager.h similarity index 100% rename from VulkanDebugManager.h rename to src/VulkanDebugManager.h diff --git a/VulkanDeviceManager.cpp b/src/VulkanDeviceManager.cpp similarity index 100% rename from VulkanDeviceManager.cpp rename to src/VulkanDeviceManager.cpp diff --git a/VulkanDeviceManager.h b/src/VulkanDeviceManager.h similarity index 100% rename from VulkanDeviceManager.h rename to src/VulkanDeviceManager.h diff --git a/VulkanGraphicsPipeline.h b/src/VulkanGraphicsPipeline.h similarity index 85% rename from VulkanGraphicsPipeline.h rename to src/VulkanGraphicsPipeline.h index 6d000cd..c98e9e7 100644 --- a/VulkanGraphicsPipeline.h +++ b/src/VulkanGraphicsPipeline.h @@ -1,6 +1,7 @@ #pragma once -#include "Utilities/FileReader.h" +#include "FileReader.h" +#include "vulkan_core.h" class VulkanGraphicsPipeline { @@ -22,6 +23,7 @@ public: CreateInfo.pCode = reinterpret_cast(Code.data()); VkShaderModule ShaderModule; - if (vkCreateShaderModule(Device)) + // if (vkCreateShaderModule(Device)) + return ShaderModule; } -}; \ No newline at end of file + }; diff --git a/VulkanInstanceManager.cpp b/src/VulkanInstanceManager.cpp similarity index 100% rename from VulkanInstanceManager.cpp rename to src/VulkanInstanceManager.cpp diff --git a/VulkanInstanceManager.h b/src/VulkanInstanceManager.h similarity index 100% rename from VulkanInstanceManager.h rename to src/VulkanInstanceManager.h diff --git a/main.cpp b/src/main.cpp similarity index 97% rename from main.cpp rename to src/main.cpp index 3707164..326f4eb 100644 --- a/main.cpp +++ b/src/main.cpp @@ -18,6 +18,11 @@ struct AppConfig bool bVerboseLogging = false; }; +void test () { + if (true) return; + +} + class HelloTriangleApplication { public: @@ -94,4 +99,4 @@ int main() } return EXIT_SUCCESS; -} \ No newline at end of file +}