working mesh shader
This commit is contained in:
parent
97ca634108
commit
27ba32cdf5
11 changed files with 175 additions and 30 deletions
31
Crafter.Graphics-VulkanElement.cppm
Normal file
31
Crafter.Graphics-VulkanElement.cppm
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
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;
|
||||
VkPipeline pipeline;
|
||||
std::uint32_t sizeX;
|
||||
std::uint32_t sizeY;
|
||||
std::uint32_t sizeZ;
|
||||
VulkanElement(VkPipelineLayout pipelineLayout, VkDescriptorSet* descriptorSet, VkPipeline pipeline);
|
||||
VulkanElement(VkPipelineLayout pipelineLayout, VkDescriptorSet* descriptorSet, VkPipeline pipeline, std::uint32_t sizeX, std::uint32_t sizeY, std::uint32_t sizeZ);
|
||||
|
||||
template<typename Pipeline>
|
||||
static VulkanElement FromPipeline() {
|
||||
return VulkanElement(Pipeline::pipelineLayout, &Pipeline::descriptorSet, Pipeline::pipeline);
|
||||
}
|
||||
|
||||
template<typename Pipeline>
|
||||
static VulkanElement FromPipeline(std::uint32_t sizeX, std::uint32_t sizeY, std::uint32_t sizeZ) {
|
||||
return VulkanElement(Pipeline::pipelineLayout, &Pipeline::descriptorSet, Pipeline::pipeline, sizeX, sizeY, sizeZ);
|
||||
}
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue