From bbf94767fe21a7c18f20e8f905ac170b04c7b2ea Mon Sep 17 00:00:00 2001 From: hyzboy Date: Sat, 27 Apr 2024 00:05:25 +0800 Subject: [PATCH] using IBAccess=IndexBufferAccess --- inc/hgl/graph/RenderNode.h | 4 ---- inc/hgl/graph/VK.h | 2 ++ inc/hgl/graph/VKCommandBuffer.h | 2 +- inc/hgl/graph/VKPrimitive.h | 4 ++-- inc/hgl/graph/VKPrimitiveData.h | 4 ++-- inc/hgl/graph/VKRenderable.h | 4 ++-- src/SceneGraph/MaterialRenderList.cpp | 8 ++++---- src/SceneGraph/Vulkan/VKCommandBufferRender.cpp | 8 ++++---- src/SceneGraph/Vulkan/VKRenderable.cpp | 4 ++-- 9 files changed, 19 insertions(+), 21 deletions(-) diff --git a/inc/hgl/graph/RenderNode.h b/inc/hgl/graph/RenderNode.h index 02297eb4..ce779065 100644 --- a/inc/hgl/graph/RenderNode.h +++ b/inc/hgl/graph/RenderNode.h @@ -8,11 +8,7 @@ namespace hgl namespace graph { class Renderable; - class Material; class MaterialInstance; - class GPUDevice; - struct VertexInputData; - struct IndexBufferAccess; struct RenderNode { diff --git a/inc/hgl/graph/VK.h b/inc/hgl/graph/VK.h index bdca499b..69f8a80a 100644 --- a/inc/hgl/graph/VK.h +++ b/inc/hgl/graph/VK.h @@ -67,6 +67,8 @@ struct IndexBufferAccess VkDeviceSize offset=0; }; +using IBAccess=IndexBufferAccess; + class GPUCmdBuffer; class RenderCmdBuffer; class TextureCmdBuffer; diff --git a/inc/hgl/graph/VKCommandBuffer.h b/inc/hgl/graph/VKCommandBuffer.h index 06cb9bb7..a9bea20c 100644 --- a/inc/hgl/graph/VKCommandBuffer.h +++ b/inc/hgl/graph/VKCommandBuffer.h @@ -170,7 +170,7 @@ public: return(true); } - void BindIBO(const IndexBufferAccess *); + void BindIBO(const IBAccess *); bool BindVBO(Renderable *); diff --git a/inc/hgl/graph/VKPrimitive.h b/inc/hgl/graph/VKPrimitive.h index 5061f406..4b77e108 100644 --- a/inc/hgl/graph/VKPrimitive.h +++ b/inc/hgl/graph/VKPrimitive.h @@ -20,7 +20,7 @@ protected: VABAccessMap buffer_list; - IndexBufferAccess ib_access; + IBAccess ib_access; AABB BoundingBox; @@ -53,7 +53,7 @@ public: bool GetVABAccess (const AnsiString &,VABAccess *); const int GetBufferCount ()const {return buffer_list.GetCount();} - const IndexBufferAccess * GetIndexBufferAccess()const {return &ib_access;} + const IBAccess * GetIBAccess ()const {return &ib_access;} };//class Primitive VK_NAMESPACE_END #endif//HGL_GRAPH_VULKAN_PRIMITIVE_INCLUDE diff --git a/inc/hgl/graph/VKPrimitiveData.h b/inc/hgl/graph/VKPrimitiveData.h index 38b31008..64c80d97 100644 --- a/inc/hgl/graph/VKPrimitiveData.h +++ b/inc/hgl/graph/VKPrimitiveData.h @@ -14,9 +14,9 @@ struct PrimitiveData VABAccess *vab_list; - IndexBufferAccess ib_access; + IBAccess ib_access; AABB BoundingBox; -}; +};//struct PrimitiveData VK_NAMESPACE_END diff --git a/inc/hgl/graph/VKRenderable.h b/inc/hgl/graph/VKRenderable.h index 461e2fa4..1a926a4c 100644 --- a/inc/hgl/graph/VKRenderable.h +++ b/inc/hgl/graph/VKRenderable.h @@ -17,11 +17,11 @@ struct VertexInputData uint32_t vertex_count; - const IndexBufferAccess *ib_access; + const IBAccess *ib_access; public: - VertexInputData(const uint32_t,const uint32_t,const IndexBufferAccess *); + VertexInputData(const uint32_t,const uint32_t,const IBAccess *); ~VertexInputData(); const bool Comp(const VertexInputData *vid)const diff --git a/src/SceneGraph/MaterialRenderList.cpp b/src/SceneGraph/MaterialRenderList.cpp index c6a79d3a..6897fee9 100644 --- a/src/SceneGraph/MaterialRenderList.cpp +++ b/src/SceneGraph/MaterialRenderList.cpp @@ -256,13 +256,13 @@ void MaterialRenderList::Render(RenderItem *ri) last_vid=ri->vid; } - const IndexBufferAccess *ibd=last_vid->ib_access; + const IBAccess *iba=last_vid->ib_access; - if(ibd->buffer) + if(iba->buffer) { - cmd_buf->BindIBO(ibd); + cmd_buf->BindIBO(iba); - cmd_buf->DrawIndexed(ibd->buffer->GetCount(),ri->count); + cmd_buf->DrawIndexed(iba->buffer->GetCount(),ri->count); } else { diff --git a/src/SceneGraph/Vulkan/VKCommandBufferRender.cpp b/src/SceneGraph/Vulkan/VKCommandBufferRender.cpp index f8241d7f..49c7cbfd 100644 --- a/src/SceneGraph/Vulkan/VKCommandBufferRender.cpp +++ b/src/SceneGraph/Vulkan/VKCommandBufferRender.cpp @@ -129,12 +129,12 @@ bool RenderCmdBuffer::BindDescriptorSets(Material *mtl) return(true); } -void RenderCmdBuffer::BindIBO(const IndexBufferAccess *ibd) +void RenderCmdBuffer::BindIBO(const IBAccess *iba) { vkCmdBindIndexBuffer( cmd_buf, - ibd->buffer->GetBuffer(), - ibd->offset, - VkIndexType(ibd->buffer->GetType())); + iba->buffer->GetBuffer(), + iba->offset, + VkIndexType(iba->buffer->GetType())); } bool RenderCmdBuffer::BindVBO(Renderable *ri) diff --git a/src/SceneGraph/Vulkan/VKRenderable.cpp b/src/SceneGraph/Vulkan/VKRenderable.cpp index 6dfa6f76..26f54727 100644 --- a/src/SceneGraph/Vulkan/VKRenderable.cpp +++ b/src/SceneGraph/Vulkan/VKRenderable.cpp @@ -6,7 +6,7 @@ #include VK_NAMESPACE_BEGIN -VertexInputData::VertexInputData(const uint32_t c,const uint32_t vc,const IndexBufferAccess *iba) +VertexInputData::VertexInputData(const uint32_t c,const uint32_t vc,const IBAccess *iba) { binding_count=c; @@ -57,7 +57,7 @@ Renderable *CreateRenderable(Primitive *prim,MaterialInstance *mi,Pipeline *p) VAB *vab; - VertexInputData *vid=new VertexInputData(input_count,prim->GetVertexCount(),prim->GetIndexBufferAccess()); + VertexInputData *vid=new VertexInputData(input_count,prim->GetVertexCount(),prim->GetIBAccess()); const VertexInputFormat *vif=vil->GetVIFList(VertexInputGroup::Basic); VABAccess vad;