From 3bbbe18c4060a95caf2c785d8b3ae139172f7fee Mon Sep 17 00:00:00 2001 From: hyzboy Date: Wed, 24 Apr 2024 01:44:01 +0800 Subject: [PATCH] use VAB instead of VBO --- example/Basic/auto_instance.cpp | 4 ++-- example/Basic/auto_merge_material_instance.cpp | 2 +- example/Basic/draw_triangle_in_NDC.cpp | 4 ++-- example/Basic/draw_triangle_use_UBO.cpp | 10 +++++----- example/Gizmo/RayPicking.cpp | 8 ++++---- example/Texture/texture_quad.cpp | 4 ++-- example/Texture/texture_rect.cpp | 4 ++-- example/Texture/texture_rect_array.cpp | 4 ++-- inc/hgl/graph/VKPrimitive.h | 2 +- inc/hgl/graph/VKRenderResource.h | 2 +- inc/hgl/graph/VKRenderablePrimitiveCreater.h | 4 ++-- src/SceneGraph/MaterialRenderList.cpp | 2 +- src/SceneGraph/VertexDataManager.cpp | 2 +- src/SceneGraph/Vulkan/VKPrimitive.cpp | 6 +++--- src/SceneGraph/Vulkan/VKRenderable.cpp | 14 +++++++------- 15 files changed, 36 insertions(+), 36 deletions(-) diff --git a/example/Basic/auto_instance.cpp b/example/Basic/auto_instance.cpp index 5aa07fe6..58bea897 100644 --- a/example/Basic/auto_instance.cpp +++ b/example/Basic/auto_instance.cpp @@ -74,8 +74,8 @@ private: { RenderablePrimitiveCreater rpc(db,"Triangle",VERTEX_COUNT); - if(!rpc.SetVBO(VAN::Position, VF_V2F, position_data))return(false); - if(!rpc.SetVBO(VAN::Color, VF_V4UN8, color_data ))return(false); + if(!rpc.SetVAB(VAN::Position, VF_V2F, position_data))return(false); + if(!rpc.SetVAB(VAN::Color, VF_V4UN8, color_data ))return(false); render_obj=rpc.Create(material_instance,pipeline); diff --git a/example/Basic/auto_merge_material_instance.cpp b/example/Basic/auto_merge_material_instance.cpp index f632a459..f2a8f0b2 100644 --- a/example/Basic/auto_merge_material_instance.cpp +++ b/example/Basic/auto_merge_material_instance.cpp @@ -86,7 +86,7 @@ private: { RenderablePrimitiveCreater rpc(db,"Triangle",VERTEX_COUNT); - if(!rpc.SetVBO(VAN::Position, VF_V2F, position_data))return(false); + if(!rpc.SetVAB(VAN::Position, VF_V2F, position_data))return(false); for(uint i=0;iCreatePrimitive("Line",2); if(!ro_line)return(false); - if(!ro_line->Set(VAN::Position, vbo_pos= db->CreateVAB(VF_V3F,2,position_data )))return(false); + if(!ro_line->Set(VAN::Position, vab_pos= db->CreateVAB(VF_V3F,2,position_data )))return(false); if(!ro_line->Set(VAN::Luminance, db->CreateVAB(VF_V1F,2,lumiance_data )))return(false); } @@ -156,7 +156,7 @@ public: const Vector3f pos=ray.ClosestPoint(Vector3f(0,0,0)); //求射线上与点(0,0,0)最近的点的坐标 - vbo_pos->Write(&pos,3*sizeof(float)); //更新VBO上这个点的位置 + vab_pos->Write(&pos,3*sizeof(float)); //更新VAB上这个点的位置 SceneAppFramework::BuildCommandBuffer(index); } diff --git a/example/Texture/texture_quad.cpp b/example/Texture/texture_quad.cpp index 877ce39a..7aac50a6 100644 --- a/example/Texture/texture_quad.cpp +++ b/example/Texture/texture_quad.cpp @@ -87,8 +87,8 @@ private: { RenderablePrimitiveCreater rpc(db,"Quad",VERTEX_COUNT); - if(!rpc.SetVBO(VAN::Position, VF_V2F, position_data))return(false); - if(!rpc.SetVBO(VAN::TexCoord, VF_V2F, tex_coord_data))return(false); + if(!rpc.SetVAB(VAN::Position, VF_V2F, position_data))return(false); + if(!rpc.SetVAB(VAN::TexCoord, VF_V2F, tex_coord_data))return(false); render_obj=rpc.Create(material_instance,pipeline); return(render_obj); diff --git a/example/Texture/texture_rect.cpp b/example/Texture/texture_rect.cpp index 9171ac05..998398ac 100644 --- a/example/Texture/texture_rect.cpp +++ b/example/Texture/texture_rect.cpp @@ -83,8 +83,8 @@ private: { RenderablePrimitiveCreater rpc(db,"Rectangle",1); - if(!rpc.SetVBO(VAN::Position,VF_V4F,position_data))return(false); - if(!rpc.SetVBO(VAN::TexCoord,VF_V4F,tex_coord_data))return(false); + if(!rpc.SetVAB(VAN::Position,VF_V4F,position_data))return(false); + if(!rpc.SetVAB(VAN::TexCoord,VF_V4F,tex_coord_data))return(false); render_obj=rpc.Create(material_instance,pipeline); return(render_obj); diff --git a/example/Texture/texture_rect_array.cpp b/example/Texture/texture_rect_array.cpp index 72eec86d..5deef985 100644 --- a/example/Texture/texture_rect_array.cpp +++ b/example/Texture/texture_rect_array.cpp @@ -132,8 +132,8 @@ private: position_data[2]=1.0f/float(TexCount); - if(!rpc.SetVBO(VAN::Position,VF_V4F,position_data))return(false); - if(!rpc.SetVBO(VAN::TexCoord,VF_V4F,tex_coord_data))return(false); + if(!rpc.SetVAB(VAN::Position,VF_V4F,position_data))return(false); + if(!rpc.SetVAB(VAN::TexCoord,VF_V4F,tex_coord_data))return(false); Vector3f offset(1.0f/float(TexCount),0,0); diff --git a/inc/hgl/graph/VKPrimitive.h b/inc/hgl/graph/VKPrimitive.h index 8f6bf1c9..40297b36 100644 --- a/inc/hgl/graph/VKPrimitive.h +++ b/inc/hgl/graph/VKPrimitive.h @@ -75,7 +75,7 @@ public: const uint32_t GetVertexCount ()const {return vertex_count;} - bool GetVBOAccessData (const AnsiString &,VABAccess *); + bool GetVABAccess (const AnsiString &,VABAccess *); const int GetBufferCount ()const {return buffer_list.GetCount();} const IndexBufferData * GetIndexBufferData ()const {return &index_buffer_data;} diff --git a/inc/hgl/graph/VKRenderResource.h b/inc/hgl/graph/VKRenderResource.h index 5cd4a90b..0903dd5d 100644 --- a/inc/hgl/graph/VKRenderResource.h +++ b/inc/hgl/graph/VKRenderResource.h @@ -103,7 +103,7 @@ public: //Add TextureID Add(Texture * t ){return rm_textures.Add(t);} RenderableID Add(Renderable * r ){return rm_renderables.Add(r);} -public: // VBO/VAO +public: // VAB/VAO VAB *CreateVAB(VkFormat format,uint32_t count,const void *data, SharingMode sm=SharingMode::Exclusive); VAB *CreateVAB(VkFormat format,uint32_t count, SharingMode sm=SharingMode::Exclusive){return CreateVAB(format, count, nullptr, sm);} diff --git a/inc/hgl/graph/VKRenderablePrimitiveCreater.h b/inc/hgl/graph/VKRenderablePrimitiveCreater.h index 2cff5485..d3d41e05 100644 --- a/inc/hgl/graph/VKRenderablePrimitiveCreater.h +++ b/inc/hgl/graph/VKRenderablePrimitiveCreater.h @@ -22,9 +22,9 @@ public: prim=rr->CreatePrimitive(name,vertex_count); } - VBO *SetVBO(const AnsiString &name,const VkFormat &fmt,const void *buf) + VAB *SetVAB(const AnsiString &name,const VkFormat &fmt,const void *buf) { - VBO *vab=rr->CreateVAB(fmt,vertex_count,buf); + VAB *vab=rr->CreateVAB(fmt,vertex_count,buf); if(!vab) return(nullptr); diff --git a/src/SceneGraph/MaterialRenderList.cpp b/src/SceneGraph/MaterialRenderList.cpp index 3736483e..d86293f5 100644 --- a/src/SceneGraph/MaterialRenderList.cpp +++ b/src/SceneGraph/MaterialRenderList.cpp @@ -182,7 +182,7 @@ bool MaterialRenderList::Bind(const VertexInputData *vid,const uint ri_index) vbo_list->Restart(); - //Basic组,它所有的VBO信息均来自于Primitive,由vid参数传递进来 + //Basic组,它所有的VAB信息均来自于Primitive,由vid参数传递进来 { vbo_list->Add(vid->buffer_list,vid->buffer_offset,vid->binding_count); } diff --git a/src/SceneGraph/VertexDataManager.cpp b/src/SceneGraph/VertexDataManager.cpp index f695b20b..b736c767 100644 --- a/src/SceneGraph/VertexDataManager.cpp +++ b/src/SceneGraph/VertexDataManager.cpp @@ -32,7 +32,7 @@ namespace hgl /** * 初始化顶点数据管理器 - * @param vbo_size VBO大小 + * @param vbo_size VAB大小 * @param ibo_size IBO大小 * @param index_type 索引类型 */ diff --git a/src/SceneGraph/Vulkan/VKPrimitive.cpp b/src/SceneGraph/Vulkan/VKPrimitive.cpp index 81e84e9f..fa465b4a 100644 --- a/src/SceneGraph/Vulkan/VKPrimitive.cpp +++ b/src/SceneGraph/Vulkan/VKPrimitive.cpp @@ -45,15 +45,15 @@ bool Primitive::Set(const AnsiString &name,VAB *vab,VkDeviceSize offset) if(du) { - du->SetBuffer(vab->GetBuffer(),prim_name+":VBO:Buffer:"+name); - du->SetDeviceMemory(vab->GetVkMemory(),prim_name+":VBO:Memory:"+name); + du->SetBuffer(vab->GetBuffer(),prim_name+":VAB:Buffer:"+name); + du->SetDeviceMemory(vab->GetVkMemory(),prim_name+":VAB:Memory:"+name); } #endif//_DEBUG return(true); } -bool Primitive::GetVBOAccessData(const AnsiString &name,VABAccess *vad) +bool Primitive::GetVABAccess(const AnsiString &name,VABAccess *vad) { if(name.IsEmpty())return(false); if(!vad)return(false); diff --git a/src/SceneGraph/Vulkan/VKRenderable.cpp b/src/SceneGraph/Vulkan/VKRenderable.cpp index a51bccd5..65740df3 100644 --- a/src/SceneGraph/Vulkan/VKRenderable.cpp +++ b/src/SceneGraph/Vulkan/VKRenderable.cpp @@ -64,12 +64,12 @@ Renderable *CreateRenderable(Primitive *prim,MaterialInstance *mi,Pipeline *p) for(uint i=0;iGetVBOAccessData(vif->name,&vad)) + if(!prim->GetVABAccess(vif->name,&vad)) { - LOG_ERROR("[FATAL ERROR] not found VBO \""+AnsiString(vif->name)+"\" in Material: "+mtl_name); + LOG_ERROR("[FATAL ERROR] not found VAB \""+AnsiString(vif->name)+"\" in Material: "+mtl_name); return(nullptr); } @@ -77,20 +77,20 @@ Renderable *CreateRenderable(Primitive *prim,MaterialInstance *mi,Pipeline *p) if(vab->GetFormat()!=vif->format) { - LOG_ERROR( "[FATAL ERROR] VBO \""+UTF8String(vif->name)+ + LOG_ERROR( "[FATAL ERROR] VAB \""+UTF8String(vif->name)+ UTF8String("\" format can't match Renderable, Material(")+mtl_name+ UTF8String(") Format(")+GetVulkanFormatName(vif->format)+ - UTF8String("), VBO Format(")+GetVulkanFormatName(vab->GetFormat())+ + UTF8String("), VAB Format(")+GetVulkanFormatName(vab->GetFormat())+ ")"); return(nullptr); } if(vab->GetStride()!=vif->stride) { - LOG_ERROR( "[FATAL ERROR] VBO \""+UTF8String(vif->name)+ + LOG_ERROR( "[FATAL ERROR] VAB \""+UTF8String(vif->name)+ UTF8String("\" stride can't match Renderable, Material(")+mtl_name+ UTF8String(") stride(")+UTF8String::numberOf(vif->stride)+ - UTF8String("), VBO stride(")+UTF8String::numberOf(vab->GetStride())+ + UTF8String("), VAB stride(")+UTF8String::numberOf(vab->GetStride())+ ")"); return(nullptr); }