ULRE/inc/hgl/graph/VKPrimitiveData.h

42 lines
1.5 KiB
C
Raw Normal View History

2024-04-26 01:17:47 +08:00
#pragma once
2024-05-14 21:09:19 +08:00
#include<hgl/graph/VKVertexInputLayout.h>
#include<hgl/graph/VKVertexAttribBuffer.h>
#include<hgl/graph/VKIndexBuffer.h>
#include<hgl/graph/AABB.h>
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处理
*/
constexpr const uint HGL_MAX_VERTEX_ATTRIB_COUNT=16; ///<最大顶点属性数量
struct PrimitiveData
{
const VIL * vil;
VkDeviceSize vertex_count;
VABAccess vab_access[HGL_MAX_VERTEX_ATTRIB_COUNT];
IBAccess ib_access;
};//struct PrimitiveData
2024-05-14 21:09:19 +08:00
bool Init( PrimitiveData *pd,const VIL *_vil,const VkDeviceSize vc,const VkDeviceSize ic=0);
int GetVABIndex(const PrimitiveData *pd,const AnsiString &name);
const VABAccess * GetVAB(const PrimitiveData *pd,const AnsiString &name);
VABAccess * SetVAB( PrimitiveData *pd,const AnsiString &name,VAB *vab,VkDeviceSize start=0);
2024-04-27 02:19:01 +08:00
2024-04-26 01:17:47 +08:00
VK_NAMESPACE_END