From 0da0290fc69d67f56b1d5214f91264fa0d2ec7c6 Mon Sep 17 00:00:00 2001 From: hyzboy Date: Sun, 2 Jun 2024 15:27:03 +0800 Subject: [PATCH] resume vab_offset but don't use it in short time. --- inc/hgl/graph/VKRenderable.h | 5 +---- src/SceneGraph/MaterialRenderList.cpp | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/inc/hgl/graph/VKRenderable.h b/inc/hgl/graph/VKRenderable.h index 0e247564..ca2e7b26 100644 --- a/inc/hgl/graph/VKRenderable.h +++ b/inc/hgl/graph/VKRenderable.h @@ -20,11 +20,8 @@ struct PrimitiveDataBuffer // 理论上讲,每个VAB绑定时都是可以指定byte offsets的。但是随后Draw时,又可以指定vertexOffset。 // 在我们支持的两种draw模式中,一种是每个模型一批VAB,所有VAB的offset都是0。 // 另一种是使用VDM,为了批量渲染,所有的VAB又必须对齐,所以每个VAB单独指定offset也不可行。 - // 所以干脆不支持VAB的offset,只支持vertexOffset。 - VkDeviceSize * vab_offset; //注意:这里的offset是相对于vertex的,代表第几个顶点,不是字节偏移 - - // IndexBuffer 同理也不再支持buffer的offset + VkDeviceSize * vab_offset; //注意:这里的offset是字节偏移,不是顶点偏移 IndexBuffer * ibo; diff --git a/src/SceneGraph/MaterialRenderList.cpp b/src/SceneGraph/MaterialRenderList.cpp index d4b4a486..612e8a83 100644 --- a/src/SceneGraph/MaterialRenderList.cpp +++ b/src/SceneGraph/MaterialRenderList.cpp @@ -253,7 +253,7 @@ bool MaterialRenderList::BindVAB(const PrimitiveDataBuffer *pdb,const uint ri_in //Basic组,它所有的VAB信息均来自于Primitive,由vid参数传递进来 { vab_list->Add(pdb->vab_list, - nullptr,//prb->vab_offset, + pdb->vab_offset, pdb->vab_count); }