Changeset 153 for trunk/src


Ignore:
Timestamp:
07/08/13 17:22:08 (12 years ago)
Author:
epyon
Message:
  • device & vertex_buffer - void* of data made const for const correctness
  • md3_loader - added keyframed_mesh class
Location:
trunk/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/formats/md3_loader.cc

    r149 r153  
    351351}
    352352
    353 sint32 nv::md3_loader::get_max_frames() const
     353sint32 md3_loader::get_max_frames() const
    354354{
    355355        return ((md3_t*)m_md3)->header.num_frames;
     356}
     357
     358void md3_loader::load_tag_names( std::vector< std::string >& tags )
     359{
     360        tags.clear();
     361        md3_t* md3 = (md3_t*)m_md3;
     362        for ( sint32 i = 0; i < md3->header.num_tags; ++i )
     363        {
     364                const md3_tag_t& rtag = md3->tags[i + md3->header.num_tags];
     365                tags.push_back( (char*)(rtag.name) );
     366        }
    356367}
    357368
     
    480491
    481492}
     493
     494keyframed_mesh::keyframed_mesh( md3_loader* loader )
     495{
     496        loader->load_positions( m_positions );
     497        loader->load_normals( m_normals );
     498        loader->load_texcoords( m_texcoords );
     499        loader->load_indicies( m_indices );
     500
     501        std::vector< std::string > names;
     502        loader->load_tag_names( names );
     503        for ( auto& name : names )
     504        {
     505                loader->load_tags( m_tags[ name ], name );
     506        }
     507
     508        m_frames = loader->get_max_frames();
     509}
     510
  • trunk/src/gl/gl_device.cc

    r121 r153  
    5353}
    5454
    55 vertex_buffer* gl_device::create_vertex_buffer( buffer_hint hint, size_t size, void* source /*= nullptr */ )
     55vertex_buffer* gl_device::create_vertex_buffer( buffer_hint hint, size_t size, const void* source /*= nullptr */ )
    5656{
    5757        return new gl_vertex_buffer( hint, size, source );
    5858}
    5959
    60 index_buffer* gl_device::create_index_buffer( buffer_hint hint, size_t size, void* source /*= nullptr */ )
     60index_buffer* gl_device::create_index_buffer( buffer_hint hint, size_t size, const void* source /*= nullptr */ )
    6161{
    6262        return new gl_index_buffer( hint, size, source );
  • trunk/src/gl/gl_vertex_buffer.cc

    r121 r153  
    1010using namespace nv;
    1111
    12 gl_vertex_buffer::gl_vertex_buffer( buffer_hint hint, size_t size, void* data )
     12gl_vertex_buffer::gl_vertex_buffer( buffer_hint hint, size_t size, const void* data )
    1313        : vertex_buffer( hint, size ), m_name()
    1414{
     
    1818}
    1919
    20 void gl_vertex_buffer::update( void* data, size_t offset, size_t size )
     20void gl_vertex_buffer::update( const void* data, size_t offset, size_t size )
    2121{
    2222        glBufferSubData( GL_ARRAY_BUFFER, (GLintptr)offset, (GLsizeiptr)size, data );
     
    3939}
    4040
    41 gl_index_buffer::gl_index_buffer( buffer_hint hint, size_t size, void* data )
     41gl_index_buffer::gl_index_buffer( buffer_hint hint, size_t size, const void* data )
    4242        : index_buffer( hint, size ), m_name()
    4343{
     
    4747}
    4848
    49 void gl_index_buffer::update( void* data, size_t offset, size_t size )
     49void gl_index_buffer::update( const void* data, size_t offset, size_t size )
    5050{
    5151        glBufferSubData( GL_ELEMENT_ARRAY_BUFFER, (GLintptr)offset, (GLsizeiptr)size, data );
Note: See TracChangeset for help on using the changeset viewer.