source: trunk/src/gl/gl_vertex_buffer.cc @ 300

Last change on this file since 300 was 300, checked in by epyon, 11 years ago
  • removed gl_names - too much bloat for too little gain
File size: 1.1 KB
Line 
1// Copyright (C) 2012-2013 Kornel Kisielewicz
2// This file is part of NV Libraries.
3// For conditions of distribution and use, see copyright notice in nv.hh
4
5#include "nv/gl/gl_vertex_buffer.hh"
6
7#include "nv/lib/gl.hh"
8#include "nv/gl/gl_enum.hh"
9
10using namespace nv;
11
12gl_vertex_buffer::gl_vertex_buffer( buffer_hint hint, size_t size, const void* data )
13        : vertex_buffer( hint, size )
14{
15        glGenBuffers( 1, &glid );
16        glBindBuffer( GL_ARRAY_BUFFER, glid );
17        glBufferData( GL_ARRAY_BUFFER, (GLsizeiptr)m_size, data, buffer_hint_to_enum( m_hint ) );
18        glBindBuffer( GL_ARRAY_BUFFER, 0 );
19}
20
21nv::gl_vertex_buffer::~gl_vertex_buffer()
22{
23        if ( glid != 0 )
24        {
25                glDeleteBuffers( 1, &glid );
26        }
27}
28
29gl_index_buffer::gl_index_buffer( buffer_hint hint, size_t size, const void* data )
30        : index_buffer( hint, size )
31{
32        glGenBuffers( 1, &glid );
33
34        glBindBuffer( GL_ELEMENT_ARRAY_BUFFER, glid );
35        glBufferData( GL_ELEMENT_ARRAY_BUFFER, (GLsizeiptr)m_size, data, buffer_hint_to_enum( m_hint ) );
36        glBindBuffer( GL_ELEMENT_ARRAY_BUFFER, 0 );
37}
38
39nv::gl_index_buffer::~gl_index_buffer()
40{
41        if ( glid != 0 )
42        {
43                glDeleteBuffers( 1, &glid );
44        }
45}
Note: See TracBrowser for help on using the repository browser.