Crafter.Graphics/Crafter.Graphics-VulkanElement.cppm

23 lines
857 B
Text
Raw Normal View History

2025-04-26 20:49:56 +02:00
module;
#include <cstdint>
#include <vulkan/vulkan.h>
export module Crafter.Graphics:VulkanElement;
import Crafter.Component;
namespace Crafter {
export class VulkanElement : public Component {
public:
VkPipelineLayout pipelineLayout;
2025-04-26 23:05:11 +02:00
VkDescriptorSet descriptorSet[2];
2025-04-26 20:49:56 +02:00
VkPipeline pipeline;
std::uint32_t sizeX;
std::uint32_t sizeY;
std::uint32_t sizeZ;
2025-04-26 23:05:11 +02:00
VulkanElement(VkPipelineLayout pipelineLayout, VkPipeline pipeline);
VulkanElement(VkPipelineLayout pipelineLayout, VkPipeline pipeline, std::uint32_t sizeX, std::uint32_t sizeY, std::uint32_t sizeZ);
void WriteDescriptor(VkWriteDescriptorSet* descriptors, std::uint32_t count);
void WriteDescriptor(std::uint32_t stage, VkDescriptorType type, std::uint32_t binding, VkDescriptorBufferInfo* buffer);
2025-04-26 20:49:56 +02:00
};
}