From 5e7a37b0999048376c16045643357ce9d27a3183 Mon Sep 17 00:00:00 2001 From: Dynamitos Date: Sat, 25 Jan 2025 14:51:17 +0100 Subject: [PATCH] some render changes --- src/gpu/Renderer.cpp | 19 +++++++++++++++++-- src/gpu/Renderer.h | 6 ++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/gpu/Renderer.cpp b/src/gpu/Renderer.cpp index 9729a34..dcea9e4 100644 --- a/src/gpu/Renderer.cpp +++ b/src/gpu/Renderer.cpp @@ -6,6 +6,14 @@ Renderer::Renderer() closestHit(nullptr), miss(nullptr), pipeline(nullptr) { + + + vk::RayTracingPipelineCreateInfoKHR pipelineCreateInfo(0, ); +} + +Renderer::~Renderer() {} + +void Renderer::createDevice() { vk::ApplicationInfo appInfo("RayTracer", 1, "RayTracer", 1, VK_API_VERSION_1_3); vk::InstanceCreateInfo instanceCreateInfo({}, &appInfo); instance = Instance(context, instanceCreateInfo); @@ -35,14 +43,19 @@ Renderer::Renderer() vk::DeviceQueueCreateInfo deviceQueueCreateInfo({}, computeQueueFamily, 1, &queuePriority); vk::DeviceCreateInfo deviceCreateInfo({}, deviceQueueCreateInfo); device = Device(physicalDevice, deviceCreateInfo); +} +void Renderer::createCommands() +{ vk::CommandPoolCreateInfo commandPoolCreateInfo({}, computeQueueFamily); cmdPool = CommandPool(device, commandPoolCreateInfo); // allocate a CommandBuffer from the CommandPool vk::CommandBufferAllocateInfo commandBufferAllocateInfo(cmdPool, vk::CommandBufferLevel::ePrimary, 10); cmdBuffers = vk::raii::CommandBuffers(device, commandBufferAllocateInfo); - +} + +void Renderer::createDescriptors() { vk::DescriptorSetLayoutBinding descriptorSetLayoutBinding(0, vk::DescriptorType::eUniformBuffer, 1, vk::ShaderStageFlagBits::eVertex); vk::DescriptorSetLayoutCreateInfo descriptorSetLayoutCreateInfo({}, descriptorSetLayoutBinding); descriptorLayout = DescriptorSetLayout(device, descriptorSetLayoutCreateInfo); @@ -52,6 +65,8 @@ Renderer::Renderer() pipelineLayout = PipelineLayout(device, pipelineLayoutCreateInfo); } -Renderer::~Renderer() {} +void Renderer::createShaders() { + +} void Renderer::render(Camera cam, RenderParameter param) {} \ No newline at end of file diff --git a/src/gpu/Renderer.h b/src/gpu/Renderer.h index 545c587..290696b 100644 --- a/src/gpu/Renderer.h +++ b/src/gpu/Renderer.h @@ -12,12 +12,18 @@ public: virtual ~Renderer(); private: + void createDevice(); + void createCommands(); + void createDescriptors(); + void createShaders(); + Context context; Instance instance; PhysicalDevice physicalDevice; Device device; Queue queue; + uint32_t computeQueueFamily; CommandPool cmdPool; CommandBuffers cmdBuffers;