Changeset 313 for trunk/src/gl/gl_device.cc
- Timestamp:
- 08/18/14 23:25:46 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/gl/gl_device.cc
r303 r313 90 90 gl_device::~gl_device() 91 91 { 92 while ( m_vertex_arrays.size() > 0 )93 release( m_vertex_arrays.get_handle(0) );94 92 while ( m_textures.size() > 0 ) 95 93 release( m_textures.get_handle(0) ); … … 98 96 while ( m_programs.size() > 0 ) 99 97 release( m_programs.get_handle(0) ); 100 101 98 SDL_Quit(); 102 99 } … … 192 189 } 193 190 194 nv::vertex_array nv::gl_device::create_vertex_array()195 {196 vertex_array result = m_vertex_arrays.create();197 vertex_array_info* info = m_vertex_arrays.get( result );198 info->count = 0;199 info->index = buffer();200 info->index_owner = false;201 info->index_type = USHORT;202 return result;203 }204 205 void nv::gl_device::release( vertex_array va )206 {207 vertex_array_info* info = m_vertex_arrays.get( va );208 if ( info )209 {210 for ( uint32 i = 0; i < info->count; ++i )211 {212 if ( info->attr[i].owner ) release( info->attr[i].vbuffer );213 }214 if ( info->index.is_valid() && info->index_owner) release( info->index );215 m_vertex_arrays.destroy( va );216 }217 }218 219 191 void nv::gl_device::release( program p ) 220 192 { … … 233 205 m_programs.destroy( p ); 234 206 } 235 }236 237 const vertex_array_info* nv::gl_device::get_vertex_array_info( vertex_array va ) const238 {239 return m_vertex_arrays.get( va );240 }241 242 vertex_array_info* nv::gl_device::get_vertex_array_info_mutable( vertex_array va )243 {244 return m_vertex_arrays.get( va );245 207 } 246 208 … … 485 447 } 486 448 487
Note: See TracChangeset
for help on using the changeset viewer.