13 #include <ThirdParty/EASTL-master/include/EASTL/unique_ptr.h> 19 class VulkanEmitter :
public Emitter
25 void Compile()
override;
28 eastl::unique_ptr<VulkanBuffer> particleBuffer;
29 eastl::unique_ptr<VulkanBuffer> stagingBuffer;
31 bool bufferQueueFamilyTransitionsNeseccary;
33 int renderQueueFamily;
34 int computeQueueFamily;
36 eastl::unique_ptr<VulkanComputePipeline> pipeline;
38 static VulkanLogicalDevice* device;
39 static VulkanRenderer* renderer;
40 static VmaAllocator allocator;
41 static VkCommandPool commandPool;
43 static void InitParticleEmitter(VulkanRenderer* renderer, VulkanLogicalDevice* device, VmaAllocator allocator, VkCommandPool commandPool);