From e35abf00519e2e590ac314be9c0de5bc0d2a8c2c Mon Sep 17 00:00:00 2001 From: hyzboy Date: Fri, 30 Aug 2024 01:28:20 +0800 Subject: [PATCH] Added PrimitiveCreater::hasIndex() --- inc/hgl/graph/PrimitiveCreater.h | 2 ++ src/SceneGraph/PrimitiveCreater.cpp | 3 +++ 2 files changed, 5 insertions(+) diff --git a/inc/hgl/graph/PrimitiveCreater.h b/inc/hgl/graph/PrimitiveCreater.h index 1901217f..732019a4 100644 --- a/inc/hgl/graph/PrimitiveCreater.h +++ b/inc/hgl/graph/PrimitiveCreater.h @@ -25,6 +25,7 @@ protected: uint32_t vertices_number; ///<顶点数量 + bool has_index; ///<是否有索引 uint32_t index_number; ///<索引数量 IndexType index_type; ///<索引类型 IndexBuffer * ibo; ///<索引缓冲区 @@ -62,6 +63,7 @@ public: //顶点缓冲区 public: //索引缓冲区 + const bool hasIndex()const{return vdm?has_index:index_number>0;} ///<是否有索引缓冲区 const IndexType GetIndexType()const{return index_type;} ///<取得索引类型 const uint32_t GetIndexCount()const{return index_number;} ///<取得索引数量 diff --git a/src/SceneGraph/PrimitiveCreater.cpp b/src/SceneGraph/PrimitiveCreater.cpp index 62fd6393..75d3347f 100644 --- a/src/SceneGraph/PrimitiveCreater.cpp +++ b/src/SceneGraph/PrimitiveCreater.cpp @@ -13,6 +13,7 @@ PrimitiveCreater::PrimitiveCreater(GPUDevice *dev,const VIL *v) vdm =nullptr; vil =v; + has_index =false; prim_data =nullptr; Clear(); @@ -23,6 +24,8 @@ PrimitiveCreater::PrimitiveCreater(VertexDataManager *_vdm) { vdm=_vdm; + has_index=vdm->GetIBO(); + index_type=vdm->GetIndexType(); }