improved PrimitiveData

This commit is contained in:
hyzboy 2024-04-27 02:19:01 +08:00
parent 11ebb841be
commit 21a63f4a9b
4 changed files with 35 additions and 8 deletions

@ -1 +1 @@
Subproject commit 509273e44937426ecc51116f5094564b96ea8b87
Subproject commit c330c635b226079f29664541b6c766959c244769

View File

@ -50,9 +50,10 @@ public:
const VkDeviceSize GetVertexCount ()const {return vertex_count;}
bool GetVABAccess (const AnsiString &,VABAccess *);
const int GetBufferCount ()const {return buffer_list.GetCount();}
bool GetVABAccess (const AnsiString &,VABAccess *);
const IBAccess * GetIBAccess ()const {return ib_access.buffer?&ib_access:nullptr;}
};//class Primitive
VK_NAMESPACE_END

View File

@ -6,17 +6,41 @@
VK_NAMESPACE_BEGIN
/*
1.2024.4.27vulkan.gpuinfo.org统计9%maxVertexInputAttributes为1616
9.0%28 - 31
70.7%32
9.6%64
使16使16
()
2.va_name使用char[][]String以及动态分配内存
memcpy处理
*/
struct VABAccessInfo
{
char va_name[VERTEX_ATTRIB_NAME_MAX_LENGTH+1];
VABAccess vab_access;
};
constexpr const uint HGL_MAX_VERTEX_ATTRIB_COUNT=16; ///<最大顶点属性数量
struct PrimitiveData
{
VkDeviceSize vertex_count;
VkDeviceSize vertex_count;
uint32_t va_count;
uint32_t va_count;
VABAccess *vab_list;
VABAccessInfo vab_list[HGL_MAX_VERTEX_ATTRIB_COUNT];
IBAccess ib_access;
IBAccess ib_access;
AABB BoundingBox;
AABB BoundingBox;
};//struct PrimitiveData
constexpr const uint PRIMITIVE_DATA_SIZE=sizeof(PrimitiveData);
VK_NAMESPACE_END

View File

@ -12,11 +12,13 @@ namespace material_file
using namespace hgl;
using namespace hgl::graph;
constexpr size_t SHADER_RESOURCE_NAME_MAX_LENGTH=VERTEX_ATTRIB_NAME_MAX_LENGTH;
struct ShaderIOAttrib
{
VAT vat;
char name[SHADER_RESOURCE_NAME_MAX_LENGTH];
char name[VERTEX_ATTRIB_NAME_MAX_LENGTH];
};
struct MaterialInstanceData