ULRE/inc/hgl/graph/VKPrimitiveData.h

41 lines
1.4 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处理
*/
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 InitPrimitiveData( PrimitiveData *pd,const VIL *_vil,const VkDeviceSize vc);
int GetVABIndex(const PrimitiveData *pd,const AnsiString &name);
VABAccess * GetVAB( PrimitiveData *pd,const int);
VABAccess * SetVAB( PrimitiveData *pd,const int,VAB *vab,VkDeviceSize start,VkDeviceSize count);
void SetIndexBuffer( PrimitiveData *pd,IndexBuffer *ib,const VkDeviceSize ic);
2024-04-27 02:19:01 +08:00
2024-04-26 01:17:47 +08:00
VK_NAMESPACE_END