#ifndef HYDRACREATEGPUBUFFERTASK #define HYDRACREATEGPUBUFFERTASK #include "../HydraTask.h" #include "../../engine/HydraEngine.h" #include "../../buffer/HydraBufferManager.h" #include class HydraCreateGPUBufferTask : public HydraTask { private: uint32_t m_buffer_size_bytes = 0; HydraID* m_buffer_id; uint32_t m_binding = 0; HYDRA_BUFFER_TYPE m_buffer_type; std::string m_buffer_name; protected: public: virtual void Process() override { *m_buffer_id = GetEngine()->BufferManager()->CreateGPUBuffer(m_buffer_name, m_buffer_size_bytes, m_binding, m_buffer_type); } void Intialise(std::string buffer_name, uint32_t binding, uint32_t buffer_size_bytes, uint32_t* buffer_id, HYDRA_BUFFER_TYPE buffer_type) { m_buffer_size_bytes = buffer_size_bytes; m_buffer_id = buffer_id; m_binding = binding; m_buffer_name = buffer_name; m_buffer_type = buffer_type; } }; #endif /* HYDRACREATEGPUBUFFERTASK */