remove VABView

This commit is contained in:
hyzboy 2024-05-14 21:09:19 +08:00
parent 14fbbd6fa6
commit f31437bf67
4 changed files with 109 additions and 116 deletions

View File

@ -73,8 +73,6 @@ public:
using VABAccessMap=Map<AnsiString,VABAccess>; using VABAccessMap=Map<AnsiString,VABAccess>;
class VABView;
class IndexBuffer; class IndexBuffer;
struct IndexBufferAccess struct IndexBufferAccess

View File

@ -8,7 +8,12 @@
VK_NAMESPACE_BEGIN VK_NAMESPACE_BEGIN
/** /**
* * 访<br>
*
* VAB/IB数据
*
* 使VAB的
* 使VDM的
*/ */
class Primitive class Primitive
{ {

View File

@ -1,101 +1,106 @@
#pragma once #pragma once
//
//#include<hgl/graph/VKVertexAttribBuffer.h> #include<hgl/graph/VKVertexInputLayout.h>
//#include<hgl/graph/VKIndexBuffer.h> #include<hgl/graph/VKVertexAttribBuffer.h>
//#include<hgl/graph/AABB.h> #include<hgl/graph/VKIndexBuffer.h>
// #include<hgl/graph/AABB.h>
//VK_NAMESPACE_BEGIN
// VK_NAMESPACE_BEGIN
///*
// 1.截止2024.4.27根据vulkan.gpuinfo.org统计只有9%的设备maxVertexInputAttributes为16不存在低于16的设备。 /*
// 9.0%的设备为28 - 31 1.2024.4.27vulkan.gpuinfo.org统计9%maxVertexInputAttributes为1616
// 70.7%的设备为32 9.0%28 - 31
// 9.6%的设备为64 70.7%32
// 9.6%64
// 由于我们暂时没有发现需要使用16个以上属性的情况所以这里暂定使用16。
// (如果时间过去久远,可再次查询此值是否可改成更高的值,以及是否需要) 使16使16
// ()
// 2.为何va_name使用char[][]而不是String以及动态分配内存
// 2.va_name使用char[][]String以及动态分配内存
// 就是为了必避动态分配内存以及可以直接memcpy处理所以此处这样定义。
//*/ memcpy处理
// */
//struct VABAccessInfo
//{ constexpr const uint HGL_MAX_VERTEX_ATTRIB_COUNT=16; ///<最大顶点属性数量
// char va_name[VERTEX_ATTRIB_NAME_MAX_LENGTH+1];
// VABAccess vab_access; struct PrimitiveData
//}; {
// const VIL * vil;
//constexpr const uint HGL_MAX_VERTEX_ATTRIB_COUNT=16; ///<最大顶点属性数量
// VkDeviceSize vertex_count;
//struct PrimitiveData
//{ VABAccess vab_access[HGL_MAX_VERTEX_ATTRIB_COUNT];
// VkDeviceSize vertex_count; IBAccess ib_access;
//
// uint32_t va_count; AABB BoundingBox;
//
// VABAccessInfo vab_list[HGL_MAX_VERTEX_ATTRIB_COUNT]; public:
//
// IBAccess ib_access; PrimitiveData(const VIL *_vil,const VkDeviceSize vc,const VkDeviceSize ic=0,const IndexType &it=IndexType::AUTO)
// {
// AABB BoundingBox; Clear();
//
//public: vil=_vil;
//
// void Clear() vertex_count=vc;
// {
// hgl_zero(*this); ib_access.count=ic;
// } }
//
// const int GetVABIndex(const char *name)const void Clear()
// { {
// for(int i=0;i<va_count;i++) hgl_zero(*this);
// { }
// if(hgl::strcmp(vab_list[i].va_name,name)==0)
// return(i); const int GetVABIndex(const char *name)const
// } {
// for(int i=0;i<va_count;i++)
// return(-1); {
// } if(hgl::strcmp(vab_list[i].va_name,name)==0)
// return(i);
// VABAccess *GetVAB(const char *name) }
// {
// if(!name||!*name) return(-1);
// return(nullptr); }
//
// const int index=GetVABIndex(name); VABAccess *GetVAB(const char *name)
// {
// if(index==-1) if(!name||!*name)
// return(nullptr); return(nullptr);
//
// return &(vab_list[index].vab_access); const int index=GetVABIndex(name);
// }
// if(index==-1)
// const int AddVAB(const char *name,VAB *vab,VkDeviceSize start=0) return(nullptr);
// {
// if(va_count>=HGL_MAX_VERTEX_ATTRIB_COUNT) return &(vab_list[index].vab_access);
// return(-1); }
//
// VABAccessInfo *vai=vab_list+va_count; const int AddVAB(const char *name,VAB *vab,VkDeviceSize start=0)
// {
// hgl::strcpy(vai->va_name,VERTEX_ATTRIB_NAME_MAX_LENGTH,name); if(va_count>=HGL_MAX_VERTEX_ATTRIB_COUNT)
// vai->vab_access.vab=vab; return(-1);
// vai->vab_access.start=start;
// VABAccessInfo *vai=vab_list+va_count;
// #ifdef _DEBUG
// DebugUtils *du=device->GetDebugUtils(); hgl::strcpy(vai->va_name,VERTEX_ATTRIB_NAME_MAX_LENGTH,name);
// vai->vab_access.vab=vab;
// if(du) vai->vab_access.start=start;
// {
// du->SetBuffer(vab->GetBuffer(),prim_name+":VAB:Buffer:"+name); #ifdef _DEBUG
// du->SetDeviceMemory(vab->GetVkMemory(),prim_name+":VAB:Memory:"+name); DebugUtils *du=device->GetDebugUtils();
// }
// #endif//_DEBUG if(du)
// {
// return(va_count++); du->SetBuffer(vab->GetBuffer(),prim_name+":VAB:Buffer:"+name);
// } du->SetDeviceMemory(vab->GetVkMemory(),prim_name+":VAB:Memory:"+name);
//};//struct PrimitiveData }
// #endif//_DEBUG
//constexpr const uint PRIMITIVE_DATA_SIZE=sizeof(PrimitiveData);
return(va_count++);
}
};//struct PrimitiveData
constexpr const uint PRIMITIVE_DATA_SIZE=sizeof(PrimitiveData);
VK_NAMESPACE_END VK_NAMESPACE_END

View File

@ -36,21 +36,6 @@ namespace hgl
};//class VertexAttribBuffer:public DeviceBuffer };//class VertexAttribBuffer:public DeviceBuffer
using VAB=VertexAttribBuffer; using VAB=VertexAttribBuffer;
class VABView
{
public:
VABView()=default;
virtual ~VABView()=default;
virtual VAB *GetVAB()=0;
virtual VkDeviceSize GetStart()const=0;
virtual VkDeviceSize GetSize()const=0;
virtual void *Map()=0;
virtual void Unmap()=0;
};//class VABView
}//namespace graph }//namespace graph
}//namespace hgl }//namespace hgl
#endif//HGL_GRAPH_VULKAN_VERTEX_ATTRIB_BUFFER_INCLUDE #endif//HGL_GRAPH_VULKAN_VERTEX_ATTRIB_BUFFER_INCLUDE