Files
HydraV3/HydraEngine/source/task/buffer/HydraCreateGPUBufferTask.hpp
T
2026-07-17 15:30:29 +01:00

42 lines
1.1 KiB
C++

#ifndef HYDRACREATEGPUBUFFERTASK
#define HYDRACREATEGPUBUFFERTASK
#include "../HydraTask.h"
#include "../../engine/HydraEngine.h"
#include "../../buffer/HydraBufferManager.h"
#include <string>
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 */