some render changes

This commit is contained in:
Dynamitos
2025-01-25 14:51:17 +01:00
parent 55a4089e40
commit 5e7a37b099
2 changed files with 23 additions and 2 deletions
+16 -1
View File
@@ -6,6 +6,14 @@ Renderer::Renderer()
closestHit(nullptr), miss(nullptr), pipeline(nullptr) 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::ApplicationInfo appInfo("RayTracer", 1, "RayTracer", 1, VK_API_VERSION_1_3);
vk::InstanceCreateInfo instanceCreateInfo({}, &appInfo); vk::InstanceCreateInfo instanceCreateInfo({}, &appInfo);
instance = Instance(context, instanceCreateInfo); instance = Instance(context, instanceCreateInfo);
@@ -35,14 +43,19 @@ Renderer::Renderer()
vk::DeviceQueueCreateInfo deviceQueueCreateInfo({}, computeQueueFamily, 1, &queuePriority); vk::DeviceQueueCreateInfo deviceQueueCreateInfo({}, computeQueueFamily, 1, &queuePriority);
vk::DeviceCreateInfo deviceCreateInfo({}, deviceQueueCreateInfo); vk::DeviceCreateInfo deviceCreateInfo({}, deviceQueueCreateInfo);
device = Device(physicalDevice, deviceCreateInfo); device = Device(physicalDevice, deviceCreateInfo);
}
void Renderer::createCommands()
{
vk::CommandPoolCreateInfo commandPoolCreateInfo({}, computeQueueFamily); vk::CommandPoolCreateInfo commandPoolCreateInfo({}, computeQueueFamily);
cmdPool = CommandPool(device, commandPoolCreateInfo); cmdPool = CommandPool(device, commandPoolCreateInfo);
// allocate a CommandBuffer from the CommandPool // allocate a CommandBuffer from the CommandPool
vk::CommandBufferAllocateInfo commandBufferAllocateInfo(cmdPool, vk::CommandBufferLevel::ePrimary, 10); vk::CommandBufferAllocateInfo commandBufferAllocateInfo(cmdPool, vk::CommandBufferLevel::ePrimary, 10);
cmdBuffers = vk::raii::CommandBuffers(device, commandBufferAllocateInfo); cmdBuffers = vk::raii::CommandBuffers(device, commandBufferAllocateInfo);
}
void Renderer::createDescriptors() {
vk::DescriptorSetLayoutBinding descriptorSetLayoutBinding(0, vk::DescriptorType::eUniformBuffer, 1, vk::ShaderStageFlagBits::eVertex); vk::DescriptorSetLayoutBinding descriptorSetLayoutBinding(0, vk::DescriptorType::eUniformBuffer, 1, vk::ShaderStageFlagBits::eVertex);
vk::DescriptorSetLayoutCreateInfo descriptorSetLayoutCreateInfo({}, descriptorSetLayoutBinding); vk::DescriptorSetLayoutCreateInfo descriptorSetLayoutCreateInfo({}, descriptorSetLayoutBinding);
descriptorLayout = DescriptorSetLayout(device, descriptorSetLayoutCreateInfo); descriptorLayout = DescriptorSetLayout(device, descriptorSetLayoutCreateInfo);
@@ -52,6 +65,8 @@ Renderer::Renderer()
pipelineLayout = PipelineLayout(device, pipelineLayoutCreateInfo); pipelineLayout = PipelineLayout(device, pipelineLayoutCreateInfo);
} }
Renderer::~Renderer() {} void Renderer::createShaders() {
}
void Renderer::render(Camera cam, RenderParameter param) {} void Renderer::render(Camera cam, RenderParameter param) {}
+6
View File
@@ -12,12 +12,18 @@ public:
virtual ~Renderer(); virtual ~Renderer();
private: private:
void createDevice();
void createCommands();
void createDescriptors();
void createShaders();
Context context; Context context;
Instance instance; Instance instance;
PhysicalDevice physicalDevice; PhysicalDevice physicalDevice;
Device device; Device device;
Queue queue; Queue queue;
uint32_t computeQueueFamily;
CommandPool cmdPool; CommandPool cmdPool;
CommandBuffers cmdBuffers; CommandBuffers cmdBuffers;