42 lines
1.1 KiB
C++
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 */
|