renamed to VBO instead of VAD in PrimitiveCreater

This commit is contained in:
hyzboy 2024-04-03 09:13:06 +08:00
parent 6efb50c977
commit d41530dad3
3 changed files with 45 additions and 45 deletions

View File

@ -48,7 +48,7 @@ namespace hgl
virtual bool Init(const uint32 vertices_count); ///<初始化,参数为顶点数量
template<typename T>
T * AccessVAD(const AnsiString &name) ///<创建一个顶点属性数据缓冲区以及访问器
T * AccessVBO(const AnsiString &name) ///<创建一个顶点属性数据缓冲区以及访问器
{
const VkFormat format=vil->GetVulkanFormat(name);
@ -67,7 +67,7 @@ namespace hgl
return access;
}
bool WriteVAD(const AnsiString &name,const void *data,const uint32_t bytes); ///<直接写入顶点属性数据
bool WriteVBO(const AnsiString &name,const void *data,const uint32_t bytes); ///<直接写入顶点属性数据
template<typename T,IndexType IT>
T * CreateIBO(const uint count,const T *data=nullptr) ///<创建索引缓冲区

View File

@ -21,7 +21,7 @@ namespace hgl
if(!rc.Init(4))
return(nullptr);
AutoDelete<VB2f> vertex=rc.AccessVAD<VB2f>(VAN::Position);
AutoDelete<VB2f> vertex=rc.AccessVBO<VB2f>(VAN::Position);
if(!vertex)
return(nullptr);
@ -49,7 +49,7 @@ namespace hgl
if(!rc.Init(4))
return(nullptr);
AutoDelete<VB2f> vertex=rc.AccessVAD<VB2f>(VAN::Position);
AutoDelete<VB2f> vertex=rc.AccessVBO<VB2f>(VAN::Position);
vertex->WriteRectFan(rci->scope);
}
@ -63,7 +63,7 @@ namespace hgl
if(!rc.Init(rci->round_per*4))
return(nullptr);
AutoDelete<VB2f> vertex=rc.AccessVAD<VB2f>(VAN::Position);
AutoDelete<VB2f> vertex=rc.AccessVBO<VB2f>(VAN::Position);
Vector2f *coord=new Vector2f[rci->round_per];
@ -131,8 +131,8 @@ namespace hgl
if(!rc.Init(cci->field_count))return(nullptr);
}
AutoDelete<VB2f> vertex=rc.AccessVAD<VB2f>(VAN::Position);
AutoDelete<VB4f> color=rc.AccessVAD<VB4f>(VAN::Color);
AutoDelete<VB2f> vertex=rc.AccessVBO<VB2f>(VAN::Position);
AutoDelete<VB4f> color=rc.AccessVBO<VB4f>(VAN::Color);
if(!vertex)
return(nullptr);
@ -169,7 +169,7 @@ namespace hgl
if(!rc.Init(((pgci->grid_size.Width()+1)+(pgci->grid_size.Height()+1))*2))
return(nullptr);
AutoDelete<VB3f> vertex=rc.AccessVAD<VB3f>(VAN::Position);
AutoDelete<VB3f> vertex=rc.AccessVBO<VB3f>(VAN::Position);
const float right=float(pgci->grid_size.Width())/2.0f;
const float left =-right;
@ -189,7 +189,7 @@ namespace hgl
Vector3f(left+col,bottom,0));
}
AutoDelete<VB1f> lum=rc.AccessVAD<VB1f>(VAN::Luminance);
AutoDelete<VB1f> lum=rc.AccessVBO<VB1f>(VAN::Luminance);
if(lum)
{
for(int row=0;row<=pgci->grid_size.Height();row++)
@ -224,22 +224,22 @@ namespace hgl
if(!rc.Init(4))
return(nullptr);
rc.WriteVAD(VAN::Position,xy_vertices,sizeof(xy_vertices));
rc.WriteVBO(VAN::Position,xy_vertices,sizeof(xy_vertices));
{
AutoDelete<VB3f> normal=rc.AccessVAD<VB3f>(VAN::Normal);
AutoDelete<VB3f> normal=rc.AccessVBO<VB3f>(VAN::Normal);
if(normal)normal->RepeatWrite(xy_normal,4);
}
{
AutoDelete<VB3f> tangent=rc.AccessVAD<VB3f>(VAN::Tangent);
AutoDelete<VB3f> tangent=rc.AccessVBO<VB3f>(VAN::Tangent);
if(tangent)tangent->RepeatWrite(xy_tangent,4);
}
{
AutoDelete<VB2f> tex_coord=rc.AccessVAD<VB2f>(VAN::TexCoord);
AutoDelete<VB2f> tex_coord=rc.AccessVBO<VB2f>(VAN::TexCoord);
if(tex_coord)
tex_coord->Write(xy_tex_coord,4);
@ -306,22 +306,22 @@ namespace hgl
if(!rc.Init(24))
return(nullptr);
rc.WriteVAD(VAN::Position,positions,sizeof(positions));
rc.WriteVBO(VAN::Position,positions,sizeof(positions));
if(cci->normal)
rc.WriteVAD(VAN::Normal,normals,sizeof(normals));
rc.WriteVBO(VAN::Normal,normals,sizeof(normals));
if(cci->tangent)
rc.WriteVAD(VAN::Tangent,tangents,sizeof(tangents));
rc.WriteVBO(VAN::Tangent,tangents,sizeof(tangents));
if(cci->tex_coord)
rc.WriteVAD(VAN::TexCoord,tex_coords,sizeof(tex_coords));
rc.WriteVBO(VAN::TexCoord,tex_coords,sizeof(tex_coords));
if(cci->color_type!=CubeCreateInfo::ColorType::NoColor)
{
RANGE_CHECK_RETURN_NULLPTR(cci->color_type);
AutoDelete<VB4f> color=rc.AccessVAD<VB4f>(VAN::Color);
AutoDelete<VB4f> color=rc.AccessVBO<VB4f>(VAN::Color);
if(color)
{
@ -459,10 +459,10 @@ namespace hgl
if(!rc.Init(numberVertices))
return(nullptr);
AutoDelete<VB3f> vertex=rc.AccessVAD<VB3f>(VAN::Position);
AutoDelete<VB3f> normal=rc.AccessVAD<VB3f>(VAN::Normal);
AutoDelete<VB3f> tangent=rc.AccessVAD<VB3f>(VAN::Tangent);
AutoDelete<VB2f> tex_coord=rc.AccessVAD<VB2f>(VAN::TexCoord);
AutoDelete<VB3f> vertex=rc.AccessVBO<VB3f>(VAN::Position);
AutoDelete<VB3f> normal=rc.AccessVBO<VB3f>(VAN::Normal);
AutoDelete<VB3f> tangent=rc.AccessVBO<VB3f>(VAN::Tangent);
AutoDelete<VB2f> tex_coord=rc.AccessVBO<VB2f>(VAN::TexCoord);
float *vp=vertex->Get();
float *np=normal?normal->Get():nullptr;
@ -540,10 +540,10 @@ namespace hgl
if(!rc.Init(numberVertices))
return(nullptr);
AutoDelete<VB3f> vertex=rc.AccessVAD<VB3f>(VAN::Position);
AutoDelete<VB3f> normal=rc.AccessVAD<VB3f>(VAN::Normal);
AutoDelete<VB3f> tangent=rc.AccessVAD<VB3f>(VAN::Tangent);
AutoDelete<VB2f> tex_coord=rc.AccessVAD<VB2f>(VAN::TexCoord);
AutoDelete<VB3f> vertex=rc.AccessVBO<VB3f>(VAN::Position);
AutoDelete<VB3f> normal=rc.AccessVBO<VB3f>(VAN::Normal);
AutoDelete<VB3f> tangent=rc.AccessVBO<VB3f>(VAN::Tangent);
AutoDelete<VB2f> tex_coord=rc.AccessVBO<VB2f>(VAN::TexCoord);
float *vp=vertex->Get();
float *np=normal?normal->Get():nullptr;
@ -677,10 +677,10 @@ namespace hgl
if(!rc.Init(numberVertices))
return(nullptr);
AutoDelete<VB3f> vertex=rc.AccessVAD<VB3f>(VAN::Position);
AutoDelete<VB3f> normal=rc.AccessVAD<VB3f>(VAN::Normal);
AutoDelete<VB3f> tangent=rc.AccessVAD<VB3f>(VAN::Tangent);
AutoDelete<VB2f> tex_coord=rc.AccessVAD<VB2f>(VAN::TexCoord);
AutoDelete<VB3f> vertex=rc.AccessVBO<VB3f>(VAN::Position);
AutoDelete<VB3f> normal=rc.AccessVBO<VB3f>(VAN::Normal);
AutoDelete<VB3f> tangent=rc.AccessVBO<VB3f>(VAN::Tangent);
AutoDelete<VB2f> tex_coord=rc.AccessVBO<VB2f>(VAN::TexCoord);
float *vp=vertex->Get();
float *np=normal?normal->Get():nullptr;
@ -812,10 +812,10 @@ namespace hgl
if (cci->numberSlices < 3 || numberVertices > GLUS_MAX_VERTICES || numberIndices > GLUS_MAX_INDICES)
return nullptr;
AutoDelete<VB3f> vertex=rc.AccessVAD<VB3f>(VAN::Position);
AutoDelete<VB3f> normal=rc.AccessVAD<VB3f>(VAN::Normal);
AutoDelete<VB3f> tangent=rc.AccessVAD<VB3f>(VAN::Tangent);
AutoDelete<VB2f> tex_coord=rc.AccessVAD<VB2f>(VAN::TexCoord);
AutoDelete<VB3f> vertex=rc.AccessVBO<VB3f>(VAN::Position);
AutoDelete<VB3f> normal=rc.AccessVBO<VB3f>(VAN::Normal);
AutoDelete<VB3f> tangent=rc.AccessVBO<VB3f>(VAN::Tangent);
AutoDelete<VB2f> tex_coord=rc.AccessVBO<VB2f>(VAN::TexCoord);
float *vp=vertex->Get();
float *np=normal?normal->Get():nullptr;
@ -1034,10 +1034,10 @@ namespace hgl
if (cci->numberSlices < 3 || cci->numberStacks < 1 || numberVertices > GLUS_MAX_VERTICES || numberIndices > GLUS_MAX_INDICES)
return nullptr;
AutoDelete<VB3f> vertex=rc.AccessVAD<VB3f>(VAN::Position);
AutoDelete<VB3f> normal=rc.AccessVAD<VB3f>(VAN::Normal);
AutoDelete<VB3f> tangent=rc.AccessVAD<VB3f>(VAN::Tangent);
AutoDelete<VB2f> tex_coord=rc.AccessVAD<VB2f>(VAN::TexCoord);
AutoDelete<VB3f> vertex=rc.AccessVBO<VB3f>(VAN::Position);
AutoDelete<VB3f> normal=rc.AccessVBO<VB3f>(VAN::Normal);
AutoDelete<VB3f> tangent=rc.AccessVBO<VB3f>(VAN::Tangent);
AutoDelete<VB2f> tex_coord=rc.AccessVBO<VB2f>(VAN::TexCoord);
float *vp=vertex->Get();
float *np=normal?normal->Get():nullptr;
@ -1148,8 +1148,8 @@ namespace hgl
if(!rc.Init(6))
return(nullptr);
AutoDelete<VB3f> vertex=rc.AccessVAD<VB3f>(VAN::Position);
AutoDelete<VB4f> color=rc.AccessVAD<VB4f>(VAN::Color);
AutoDelete<VB3f> vertex=rc.AccessVBO<VB3f>(VAN::Position);
AutoDelete<VB4f> color=rc.AccessVBO<VB4f>(VAN::Color);
if(!vertex||!color)
return(nullptr);
@ -1193,17 +1193,17 @@ namespace hgl
if(!rc.Init(8))
return(nullptr);
AutoDelete<VB3f> vertex=rc.AccessVAD<VB3f>(VAN::Position);
AutoDelete<VB3f> vertex=rc.AccessVBO<VB3f>(VAN::Position);
if(!vertex)return(nullptr);
rc.WriteVAD(VAN::Position,points,sizeof(points));
rc.WriteVBO(VAN::Position,points,sizeof(points));
if(cci->color_type!=BoundingBoxCreateInfo::ColorType::NoColor)
{
RANGE_CHECK_RETURN_NULLPTR(cci->color_type);
AutoDelete<VB4f> color=rc.AccessVAD<VB4f>(VAN::Color);
AutoDelete<VB4f> color=rc.AccessVBO<VB4f>(VAN::Color);
if(color)
{

View File

@ -53,7 +53,7 @@ namespace hgl
return pvb;
}
bool PrimitiveCreater::WriteVAD(const AnsiString &name,const void *data,const uint32_t bytes)
bool PrimitiveCreater::WriteVBO(const AnsiString &name,const void *data,const uint32_t bytes)
{
if(!vil)return(false);
if(name.IsEmpty())return(false);