OpenPolygon  1.0.0
OpenPolygon is a Rendering Engine
IGBuffer.h
1 /*
2  Copyright (C) 2014 - 2016 Mutzii
3 
4  This program is free software: you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation, either version 3 of the License, or
7  (at your option) any later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program. If not, see <http://www.gnu.org/licenses/>.
16 
17 */
18 #ifndef IGBUFFER_H
19 #define IGBUFFER_H
20 
21 #include "index.h"
22 
23 namespace Engine
24 {
25 
29  class IGBuffer
30  {
31  public:
32  virtual ~IGBuffer(){}
33 
38  virtual uint create( int size_data , void * data )=0;
39 
44  virtual void attach( uint vao_id )=0;
45 
46  /*
47  * Update Buffer
48  */
49  virtual void update( int offset , int size_data , void * data )=0;
50 
58  virtual void getData( int offset , void * data )=0;
59 
64  virtual void close(void)=0;
65 
66  protected:
67 
68  uint m_vbo_buffer_id; // vbo id
69 
70  int m_size_data; // data * sizeof( float )
71  };
72 
73 }
74 
75 
76 #endif // IGBUFFER_H
virtual void close(void)=0
close
The IGBuffer - Interface class.
Definition: IGBuffer.h:29
Definition: element.h:23
virtual void attach(uint vao_id)=0
attach
virtual void getData(int offset, void *data)=0
getData
virtual uint create(int size_data, void *data)=0
create