Crafter.Graphics/Crafter.Graphics-VulkanElement.cppm
2025-04-26 23:05:11 +02:00

23 lines
857 B
C++

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;
VkDescriptorSet descriptorSet[2];
VkPipeline pipeline;
std::uint32_t sizeX;
std::uint32_t sizeY;
std::uint32_t sizeZ;
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);
};
}