VertexBufferBase rename to VertexAttribDataAccess

This commit is contained in:
2020-07-16 20:36:54 +08:00
parent 770ab4d1d9
commit 2199b000fa
11 changed files with 184 additions and 195 deletions

View File

@@ -9,7 +9,7 @@ namespace hgl
/**
* 顶点属性数据
*/
class VertexAttribData ///顶点属性缓冲区创建者
class VertexAttribData ///顶点属性数据
{
void *mem_data; ///<内存中的数据
@@ -22,11 +22,13 @@ namespace hgl
const uint32_t stride; ///<每组数据字节数
const uint32_t total_bytes; ///<字节数
VkFormat vk_format; ///<在Vulkan中的数据类型
void *mem_end; ///<内存数据区访问结束地址
public:
VertexAttribData(uint32_t c,uint32_t dc,uint32_t cs):count(c),dc_num(dc),comp_stride(cs),stride(dc*cs),total_bytes(dc*cs*c)
VertexAttribData(uint32_t c,uint32_t dc,uint32_t cs,VkFormat fmt):count(c),dc_num(dc),comp_stride(cs),stride(dc*cs),total_bytes(dc*cs*c),vk_format(fmt)
{
mem_data = hgl_malloc(total_bytes); //在很多情况下hgl_malloc分配的内存是对齐的这样有效率上的提升
mem_end = ((char *)mem_data) + total_bytes;
@@ -38,13 +40,13 @@ namespace hgl
hgl_free(mem_data);
}
virtual VkFormat GetDataType ()const=0; ///<取得数据类型
const VkFormat GetVulkanFormat ()const{return vk_format;} ///<取得数据类型
const uint32_t GetDataBytes ()const{return comp_stride;} ///<取得每数据字节数
const uint32_t GetComponent ()const{return dc_num; } ///<取数缓冲区元数据数量
const uint32_t GetCount ()const{return count; } ///<取得数据数量
const uint32_t GetComponent ()const{return dc_num;} ///<取数缓冲区元数据数量
const uint32_t GetCount ()const{return count;} ///<取得数据数量
const uint32_t GetStride ()const{return stride;} ///<取得每一组数据字节数
void * GetData ()const{return mem_data;} ///<取得数据指针
const uint32_t GetTotalBytes ()const{return total_bytes; } ///<取得数据字节数
const uint32_t GetTotalBytes ()const{return total_bytes;} ///<取得数据字节数
};//class VertexAttribData
using VAD=VertexAttribData;