From d5bfd51a8730b99d98aabeb29814665916a040d2 Mon Sep 17 00:00:00 2001 From: hyzboy Date: Fri, 7 Dec 2018 15:34:16 +0800 Subject: [PATCH] =?UTF-8?q?VertexArray=E5=9C=A8=E6=B7=BB=E5=8A=A0=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=8C=BA=E6=97=B6=EF=BC=8C=E5=A2=9E=E5=8A=A0=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inc/hgl/graph/VertexArray.h | 7 +------ src/RenderDriver/VertexArray.cpp | 14 ++++++-------- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/inc/hgl/graph/VertexArray.h b/inc/hgl/graph/VertexArray.h index dd70d6b4..46ae1626 100644 --- a/inc/hgl/graph/VertexArray.h +++ b/inc/hgl/graph/VertexArray.h @@ -30,11 +30,6 @@ namespace hgl VertexBufferBase *vertex_buffer; VertexBufferBase *color_buffer; - private: - - bool _SetVertexBuffer (VertexBufferBase *); ///<真实设置顶点缓冲区数据 - bool _SetElementBuffer (); ///<真实设置索引缓冲区数据 - public: VertexArray(uint prim,uint max_vertex_attrib); @@ -53,7 +48,7 @@ namespace hgl public: //特殊缓冲区独立设置函数 - bool SetElementBuffer (VertexBufferBase *vb); ///<设置索引缓冲区数据 + bool SetElementBuffer (VertexBufferBase *eb); ///<设置索引缓冲区数据 bool SetVertexBuffer (VertexBufferBase *vb); ///<设置顶点缓冲区数据 bool SetColorBuffer (VertexBufferBase *vb,PixelCompoment cf); ///<设置颜色缓冲区数据 diff --git a/src/RenderDriver/VertexArray.cpp b/src/RenderDriver/VertexArray.cpp index bc07971a..d5353b03 100644 --- a/src/RenderDriver/VertexArray.cpp +++ b/src/RenderDriver/VertexArray.cpp @@ -51,18 +51,16 @@ namespace hgl int VertexArray::AddVertexAttribBuffer(VertexBufferBase *vb) { if(!vb)return(false); + if(vb->GetBufferType()!=GL_ARRAY_BUFFER)return(false); - const int index=vertex_buffer_list.Add(vb); - - _SetVertexBuffer(vb); //各种真实渲染器处理 - - return(index); + return vertex_buffer_list.Add(vb); } - bool VertexArray::SetElementBuffer(VertexBufferBase *vb) + bool VertexArray::SetElementBuffer(VertexBufferBase *eb) { - if(!vb)return(false); - element_buffer=vb; + if(!eb)return(false); + if(eb->GetBufferType()!=GL_ELEMENT_ARRAY_BUFFER)return(false); + element_buffer=eb; return(true); }