37 lines
1.2 KiB
C++
37 lines
1.2 KiB
C++
#ifndef HYDRACREATEVERTEXBUFFERTASK
|
|||
|
|
#define HYDRACREATEVERTEXBUFFERTASK
|
||
|
|
|
||
|
|
#include "../HydraTask.h"
|
||
|
|
#include "../../engine/HydraEngine.h"
|
||
|
|
#include "../../buffer/HydraVertexBufferManager.h"
|
||
|
|
|
||
|
|
class HydraCreateVertexBufferTask : public HydraTask
|
||
|
|
{
|
||
|
|
private:
|
||
|
|
uint32_t m_vertex_buffer_size_bytes = 0;
|
||
|
|
uint32_t m_index_buffer_size_bytes = 0;
|
||
|
|
HydraID* m_buffer_id;
|
||
|
|
uint32_t m_triangle_count = 0;
|
||
|
|
|
||
|
|
protected:
|
||
|
|
public:
|
||
|
|
virtual void Process() override
|
||
|
|
{
|
||
|
|
*m_buffer_id = GetEngine()->VertexBufferManager()->CreateVertexBuffer(m_vertex_buffer_size_bytes,
|
||
|
|
m_index_buffer_size_bytes,
|
||
|
|
m_triangle_count);
|
||
|
|
}
|
||
|
|
void Intialise(uint32_t vertex_buffer_size_bytes,
|
||
|
|
uint32_t index_buffer_size_bytes,
|
||
|
|
uint32_t triangle_count,
|
||
|
|
uint32_t* buffer_id)
|
||
|
|
{
|
||
|
|
m_vertex_buffer_size_bytes = vertex_buffer_size_bytes;
|
||
|
|
m_index_buffer_size_bytes = index_buffer_size_bytes;
|
||
|
|
m_buffer_id = buffer_id;
|
||
|
|
m_triangle_count = triangle_count;
|
||
|
|
}
|
||
|
|
|
||
|
|
};
|
||
|
|
#endif /* HYDRACREATEVERTEXBUFFERTASK */
|