40 lines
1.2 KiB
C
40 lines
1.2 KiB
C
|
#ifndef HGL_GRAPH_VULKAN_ARRAY_BUFFER_INCLUDE
|
|||
|
#define HGL_GRAPH_VULKAN_ARRAY_BUFFER_INCLUDE
|
|||
|
|
|||
|
#include<hgl/graph/VKBuffer.h>
|
|||
|
namespace hgl
|
|||
|
{
|
|||
|
namespace graph
|
|||
|
{
|
|||
|
/**
|
|||
|
* GPU<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><br>
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ⱦ<EFBFBD><EFBFBD>instance<EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
class GPUArrayBuffer
|
|||
|
{
|
|||
|
protected:
|
|||
|
|
|||
|
uint32_t item_size; ///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
|
|||
|
uint32_t alloc_count; ///<<3C>ܼƷ<DCBC><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD><DDB8><EFBFBD>
|
|||
|
uint32_t count; ///<ʵ<><CAB5>ʹ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ݸ<EFBFBD><DDB8><EFBFBD>
|
|||
|
|
|||
|
GPUBuffer * buf_gpu; ///<ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>GPU<50><55><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
uint8 * buf_cpu;
|
|||
|
uint32_t * offset; ///<<3C><><EFBFBD><EFBFBD>ƫ<EFBFBD>Ƶ<EFBFBD>ַ
|
|||
|
|
|||
|
public:
|
|||
|
|
|||
|
/**
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>캯<EFBFBD><EFBFBD>
|
|||
|
* @param s <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param c <EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
GPUArrayBuffer(const uint32_t s=0,const uint32_t c=0);
|
|||
|
virtual ~GPUArrayBuffer();
|
|||
|
|
|||
|
void Clear(); ///<<3C><><EFBFBD>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
};//class GPUArrayBuffer
|
|||
|
}//namespace graph
|
|||
|
}//namespace hgl
|
|||
|
#endif//HGL_GRAPH_VULKAN_ARRAY_BUFFER_INCLUDE
|